@lemoncat7/dsh-knowledge 2.9.1 → 2.9.3

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 CHANGED
@@ -318,7 +318,653 @@ function mergeActivitySelection(previous, next) {
318
318
  }
319
319
 
320
320
  // src/client.css
321
- var client_default = '.dsh-knowledge-trigger,\n.dsh-knowledge-activity-panel,\n.dsh-knowledge-workspace,\n.dsh-knowledge-settings-card,\n.dsh-knowledge-writeback-notice {\n color-scheme: light;\n --knowledge-canvas: transparent;\n --knowledge-accent: var(--accent);\n --knowledge-on-accent: var(--on-accent);\n --knowledge-danger: var(--danger);\n --knowledge-success: var(--success);\n --knowledge-pane: rgba(255, 255, 255, 0.16);\n --knowledge-raised: rgba(255, 255, 255, 0.38);\n --knowledge-control: rgba(255, 255, 255, 0.27);\n --knowledge-border: var(--border);\n --knowledge-text: var(--text);\n --knowledge-text-secondary: var(--text-secondary);\n --knowledge-text-tertiary: var(--text-tertiary);\n --knowledge-hover: var(--surface-hover);\n --knowledge-glare-light: rgb(255 255 255 / 70%);\n --knowledge-glare-rim: rgb(60 60 67 / 11%);\n --knowledge-glass-filter: saturate(1.22) contrast(1.03) blur(32px);\n --knowledge-host-glass-filter: saturate(.18) contrast(1.015) blur(24px);\n --knowledge-glass-shadow: inset 0 1px 0 rgb(255 255 255 / 70%), inset 0 -1px 0 rgb(60 60 67 / 11%), 0 10px 28px rgb(31 31 35 / 8.5%);\n --knowledge-font-family: var(--font-ui);\n color: var(--knowledge-text);\n font-family: var(--knowledge-font-family);\n font-size: 13px;\n line-height: 1.5;\n}\n\nbody[data-ds-dark-theme] :is(\n .dsh-knowledge-trigger,\n .dsh-knowledge-activity-panel,\n .dsh-knowledge-workspace,\n .dsh-knowledge-settings-card,\n .dsh-knowledge-writeback-notice\n) {\n color-scheme: dark;\n --knowledge-canvas: transparent;\n --knowledge-accent: var(--accent);\n --knowledge-on-accent: var(--on-accent);\n --knowledge-danger: var(--danger);\n --knowledge-success: var(--success);\n --knowledge-pane: rgb(25 33 35 / 90%);\n --knowledge-raised: rgb(32 41 43 / 94%);\n --knowledge-control: rgb(39 50 53 / 92%);\n --knowledge-border: var(--border);\n --knowledge-text: var(--text);\n --knowledge-text-secondary: var(--text-secondary);\n --knowledge-text-tertiary: var(--text-tertiary);\n --knowledge-hover: var(--surface-hover);\n --knowledge-glare-light: rgb(255 255 255 / 16%);\n --knowledge-glare-rim: rgb(0 0 0 / 30%);\n --knowledge-host-glass-filter: saturate(.45) contrast(1.02) blur(24px);\n --knowledge-glass-shadow: inset 0 1px 0 rgb(255 255 255 / 16%), inset 0 -1px 0 rgb(0 0 0 / 30%), 0 12px 32px rgb(0 0 0 / 30%);\n}\n\n:is(\n .dsh-knowledge-trigger,\n .dsh-knowledge-activity-panel,\n .dsh-knowledge-workspace,\n .dsh-knowledge-settings-card,\n .dsh-knowledge-writeback-notice\n),\n:is(\n .dsh-knowledge-trigger,\n .dsh-knowledge-activity-panel,\n .dsh-knowledge-workspace,\n .dsh-knowledge-settings-card,\n .dsh-knowledge-writeback-notice\n) * {\n box-sizing: border-box;\n}\n\n:is(\n .dsh-knowledge-trigger,\n .dsh-knowledge-activity-panel,\n .dsh-knowledge-workspace,\n .dsh-knowledge-settings-card,\n .dsh-knowledge-writeback-notice\n) :where(button, input, textarea, select) {\n margin: 0;\n color: inherit;\n font-family: var(--knowledge-font-family);\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n}\n\n.dsh-knowledge-trigger,\n.dsh-knowledge-activity-panel button,\n.dsh-knowledge-activity-panel input,\n.dsh-knowledge-panel-state button,\n.dsh-knowledge-settings-card button,\n.dsh-knowledge-writeback-notice button {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n}\n\n/* The official footer slot is a horizontal list. Only opt its immediate\n container into wrapping; leave neighboring plugin controls untouched. */\n:has(> .dsh-knowledge-launcher) { flex-wrap: wrap; }\n\n.dsh-knowledge-launcher {\n display: flex;\n flex: 0 0 100%;\n order: -1;\n min-width: 0;\n gap: 4px;\n padding-block: 4px;\n box-sizing: border-box;\n}\n\n.dsh-knowledge-launcher--rail { flex-direction: column; align-items: center; }\n\n.dsh-knowledge-trigger {\n position: relative;\n flex: 1 1 auto;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n width: auto;\n height: 36px;\n margin: 0;\n padding: 6px 10px;\n box-sizing: border-box;\n border: 0;\n border-radius: 12px;\n overflow: hidden;\n background: transparent;\n color: var(--knowledge-text);\n cursor: pointer;\n font: inherit;\n font-size: 14px;\n line-height: 22px;\n white-space: nowrap;\n isolation: isolate;\n transition:\n color 120ms ease,\n background-color 120ms ease,\n box-shadow 160ms ease;\n}\n\n.dsh-knowledge-trigger:hover {\n background: var(--knowledge-hover);\n}\n\n.dsh-knowledge-trigger:focus-visible,\n.dsh-knowledge-writeback-notice button:focus-visible {\n outline: 2px solid var(--knowledge-accent);\n outline-offset: 2px;\n}\n\n.dsh-knowledge-trigger.is-active {\n background: var(--knowledge-control);\n color: var(--knowledge-text);\n box-shadow: 0 1px 2px rgb(0 0 0 / 7%), inset 0 1px 0 rgb(255 255 255 / 28%);\n}\n\n.dsh-knowledge-trigger--rail {\n width: 36px;\n height: 36px;\n margin: 8px 0 10px;\n padding: 0;\n justify-content: center;\n gap: 0;\n border-radius: 50%;\n}\n\n.dsh-knowledge-trigger--rail { margin-inline: auto; }\n\n.dsh-knowledge-launcher .dsh-knowledge-trigger--rail { flex: none; margin-block: 0; }\n.dsh-knowledge-panel-trigger { flex: 0 0 36px; width: 36px; padding: 0; justify-content: center; }\n.dsh-knowledge-panel-trigger:disabled { opacity: .4; cursor: default; background: transparent; }\n.dsh-knowledge-launcher--rail .dsh-knowledge-panel-trigger { flex: none; border-radius: 50%; }\n\n@media (prefers-reduced-motion: reduce) {\n .dsh-knowledge-trigger { transition: none; }\n}\n\n.dsh-knowledge-workspace {\n width: 100%;\n height: 100%;\n min-width: 0;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--knowledge-canvas);\n}\n\n.dsh-knowledge-workspace-header {\n position: relative;\n z-index: 2;\n flex: none;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n min-height: 52px;\n margin: 8px 10px 0;\n padding: 7px 14px;\n box-sizing: border-box;\n border: 1px solid var(--knowledge-border);\n border-radius: 14px 14px 11px 11px;\n background: transparent;\n box-shadow: var(--knowledge-glass-shadow);\n -webkit-backdrop-filter: var(--knowledge-host-glass-filter);\n backdrop-filter: var(--knowledge-host-glass-filter);\n}\n\n.dsh-knowledge-workspace-header > div {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.dsh-knowledge-workspace-header [data-knowledge-workspace-close] {\n -webkit-appearance: none;\n appearance: none;\n display: grid;\n place-items: center;\n box-sizing: border-box;\n flex: none;\n width: 30px;\n height: 30px;\n margin: 0;\n padding: 0;\n border: 1px solid transparent;\n border-radius: 9px;\n color: var(--knowledge-text-secondary);\n background: transparent;\n font: inherit;\n line-height: 1;\n -webkit-tap-highlight-color: transparent;\n cursor: pointer;\n transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;\n}\n\n.dsh-knowledge-workspace-header [data-knowledge-workspace-close]:hover {\n border-color: var(--knowledge-border);\n color: var(--knowledge-text);\n background: var(--knowledge-control);\n}\n\n.dsh-knowledge-workspace-header [data-knowledge-workspace-close]:active { border-color: var(--knowledge-text-secondary); }\n.dsh-knowledge-workspace-header [data-knowledge-workspace-close]:focus-visible {\n outline: 2px solid var(--knowledge-accent);\n outline-offset: 2px;\n}\n.dsh-knowledge-workspace-header [data-knowledge-workspace-close] > svg {\n display: block;\n pointer-events: none;\n}\n\n.dsh-knowledge-workspace-header > div > span {\n display: grid;\n min-width: 0;\n gap: 2px;\n}\n\n.dsh-knowledge-workspace-header h2,\n.dsh-knowledge-workspace-header p {\n margin: 0;\n}\n\n.dsh-knowledge-workspace-header h2 {\n color: var(--knowledge-text);\n font-size: 15px;\n line-height: 22px;\n font-weight: 600;\n}\n\n.dsh-knowledge-workspace-header p {\n color: var(--knowledge-text-secondary);\n font-size: 11px;\n line-height: 16px;\n}\n\n.dsh-knowledge-frame {\n flex: 1;\n display: block;\n width: 100%;\n min-height: 0;\n margin: 0;\n border: 0;\n border-radius: 0;\n background: transparent;\n box-shadow: none;\n -webkit-backdrop-filter: none;\n backdrop-filter: none;\n}\n\n.dsh-knowledge-panel-state {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n min-height: 0;\n margin: 8px 10px 10px;\n padding: 32px;\n box-sizing: border-box;\n border: 1px solid var(--knowledge-border);\n border-radius: 15px;\n background: var(--knowledge-pane);\n box-shadow: var(--knowledge-glass-shadow);\n -webkit-backdrop-filter: var(--knowledge-host-glass-filter);\n backdrop-filter: var(--knowledge-host-glass-filter);\n color: var(--knowledge-text);\n}\n\n.dsh-knowledge-panel-state-icon {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: 12px;\n background: var(--knowledge-hover);\n color: var(--knowledge-text-secondary);\n font-size: 18px;\n font-weight: 600;\n}\n\n.dsh-knowledge-panel-state > div { max-width: 560px; }\n.dsh-knowledge-panel-state h3 { margin: 0 0 6px; font-size: 17px; line-height: 24px; font-weight: 600; }\n.dsh-knowledge-panel-state p { margin: 0; color: var(--knowledge-text-secondary); font-size: 13px; line-height: 20px; }\n.dsh-knowledge-panel-state button {\n min-width: 72px;\n min-height: 32px;\n margin-top: 16px;\n padding: 6px 14px;\n border: 0;\n border-radius: 10px;\n background: var(--knowledge-accent);\n color: var(--knowledge-on-accent);\n cursor: pointer;\n font: inherit;\n}\n.dsh-knowledge-panel-state button:focus-visible {\n outline: 2px solid var(--knowledge-accent);\n outline-offset: 2px;\n}\n\n.dsh-knowledge-settings-card {\n list-style: none;\n overflow: hidden;\n border: 1px solid var(--knowledge-border);\n border-radius: 14px;\n background:\n linear-gradient(145deg, color-mix(in srgb, var(--knowledge-glare-light) 16%, transparent), transparent 58%),\n var(--knowledge-pane);\n color: var(--knowledge-text);\n box-shadow: var(--knowledge-glass-shadow), 0 8px 24px rgb(0 0 0 / 5%);\n -webkit-backdrop-filter: var(--knowledge-glass-filter);\n backdrop-filter: var(--knowledge-glass-filter);\n transition: border-color 120ms ease, background-color 120ms ease;\n}\n.dsh-knowledge-settings-card:hover {\n border-color: color-mix(in srgb, var(--knowledge-border) 68%, var(--knowledge-text-secondary));\n}\n.dsh-knowledge-settings-card--open {\n border-color: color-mix(in srgb, var(--knowledge-border) 68%, var(--knowledge-text-secondary));\n background: var(--knowledge-pane);\n}\n.dsh-knowledge-settings-header { display: flex; width: 100%; align-items: center; gap: 12px; padding: 14px 16px; border: 0; border-radius: 12px; background: transparent; color: inherit; text-align: left; cursor: pointer; font: inherit; }\n.dsh-knowledge-settings-header:focus-visible {\n outline: 2px solid var(--knowledge-accent);\n outline-offset: -2px;\n}\n.dsh-knowledge-settings-actions button:focus-visible,\n.dsh-knowledge-settings-load-error button:focus-visible {\n outline: 2px solid var(--knowledge-accent);\n outline-offset: 2px;\n}\n.dsh-knowledge-settings-header > span:first-child { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 4px; }\n.dsh-knowledge-settings-header strong { font-size: 15px; font-weight: 600; line-height: 1.4; }\n.dsh-knowledge-settings-header small { color: var(--knowledge-text-tertiary); font-size: 13px; line-height: 1.5; }\n.dsh-knowledge-source-picker small,\n.dsh-knowledge-remote-fields small { color: var(--knowledge-text-secondary); font-size: 12px; }\n.dsh-knowledge-settings-summary { display: flex; flex: none; align-items: center; gap: 10px; color: var(--knowledge-text-tertiary); font-size: 12px; }\n.dsh-knowledge-settings-summary i { width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform 160ms ease; }\n.dsh-knowledge-settings-card--open .dsh-knowledge-settings-summary i { transform: rotate(225deg); }\n\n.dsh-knowledge-settings-body {\n display: grid;\n gap: 18px;\n margin: 0 16px;\n padding-bottom: 8px;\n border-top: 1px solid var(--knowledge-border);\n}\n\n.dsh-knowledge-source-picker {\n min-width: 0;\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 10px;\n margin: 18px 0 0;\n padding: 0;\n border: 0;\n}\n\n.dsh-knowledge-source-picker legend { margin-bottom: 8px; padding: 0; color: inherit; font-size: 13px; font-weight: 600; }\n.dsh-knowledge-source-picker label {\n display: flex;\n gap: 10px;\n padding: 13px;\n border: 1px solid var(--knowledge-border);\n border-radius: 14px;\n cursor: pointer;\n}\n.dsh-knowledge-source-picker label.is-selected {\n border-color: var(--knowledge-accent);\n background: color-mix(in srgb, var(--knowledge-accent) 7%, transparent);\n}\n.dsh-knowledge-source-picker label.is-disabled {\n cursor: default;\n opacity: .55;\n}\n.dsh-knowledge-source-picker label:focus-within {\n outline: 2px solid var(--knowledge-accent);\n outline-offset: 2px;\n}\n.dsh-knowledge-source-picker input {\n -webkit-appearance: none;\n appearance: none;\n width: 16px;\n height: 16px;\n display: inline-grid;\n place-content: center;\n flex: none;\n margin: 2px 0 0;\n border: 1px solid var(--knowledge-border);\n border-radius: 50%;\n background: var(--knowledge-control);\n color: var(--knowledge-on-accent);\n cursor: pointer;\n transition: border-color .15s ease, background-color .15s ease;\n}\n.dsh-knowledge-source-picker input::before {\n content: "";\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: currentColor;\n opacity: 0;\n transform: scale(.55);\n transition: opacity .12s ease, transform .15s cubic-bezier(.2, .8, .2, 1);\n}\n.dsh-knowledge-source-picker input:checked { border-color: var(--knowledge-accent); background: var(--knowledge-accent); }\n.dsh-knowledge-source-picker input:checked::before { opacity: 1; transform: scale(1); }\n.dsh-knowledge-source-picker input:disabled { cursor: default; }\n.dsh-knowledge-source-picker span { display: grid; gap: 3px; }\n\n.dsh-knowledge-remote-fields { display: grid; grid-template-columns: 1.25fr 1fr; gap: 12px; }\n.dsh-knowledge-remote-fields label,\n.dsh-knowledge-timeout-field { display: grid; gap: 6px; color: var(--knowledge-text-secondary); font-size: 12px; }\n.dsh-knowledge-remote-fields input,\n.dsh-knowledge-timeout-field input {\n -webkit-appearance: none;\n appearance: none;\n min-height: 38px;\n box-sizing: border-box;\n padding: 8px 11px;\n border: 1px solid var(--knowledge-border);\n border-radius: 10px;\n outline: none;\n background: var(--knowledge-control);\n color: var(--knowledge-text);\n font: inherit;\n}\n.dsh-knowledge-remote-fields input:focus,\n.dsh-knowledge-timeout-field input:focus { border-color: var(--knowledge-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--knowledge-accent) 16%, transparent); }\n.dsh-knowledge-remote-fields input:-webkit-autofill,\n.dsh-knowledge-remote-fields input:-webkit-autofill:hover,\n.dsh-knowledge-remote-fields input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(--knowledge-text);\n box-shadow: 0 0 0 1000px var(--knowledge-control) inset;\n caret-color: var(--knowledge-text);\n}\n.dsh-knowledge-timeout-field input::-webkit-inner-spin-button,\n.dsh-knowledge-timeout-field input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }\n.dsh-knowledge-timeout-field { max-width: 240px; }\n.dsh-knowledge-field-error { color: var(--knowledge-danger) !important; }\n\n.dsh-knowledge-settings-message,\n.dsh-knowledge-settings-note { margin: 0; color: var(--knowledge-text-secondary); font-size: 12px; }\n.dsh-knowledge-settings-message.is-success { color: var(--knowledge-success); }\n.dsh-knowledge-settings-message.is-error { color: var(--knowledge-danger); }\n.dsh-knowledge-settings-load-error {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n margin-top: 18px;\n padding: 12px 14px;\n border-radius: 12px;\n background: color-mix(in srgb, var(--knowledge-danger) 8%, transparent);\n color: var(--knowledge-danger);\n font-size: 13px;\n}\n.dsh-knowledge-settings-load-error p { margin: 0; }\n.dsh-knowledge-settings-load-error button {\n flex: none;\n min-height: 30px;\n padding: 5px 10px;\n border: 0;\n border-radius: 9px;\n background: var(--knowledge-control);\n color: var(--knowledge-text);\n cursor: pointer;\n font: inherit;\n}\n.dsh-knowledge-settings-actions { display: flex; justify-content: flex-end; gap: 8px; }\n.dsh-knowledge-settings-actions button {\n min-height: 34px;\n padding: 7px 13px;\n border: 0;\n border-radius: 10px;\n background: var(--knowledge-hover);\n color: var(--knowledge-text);\n cursor: pointer;\n font: inherit;\n font-size: 13px;\n}\n.dsh-knowledge-settings-actions button.is-primary { background: var(--knowledge-accent); color: var(--knowledge-on-accent); }\n.dsh-knowledge-settings-actions button:disabled { cursor: default; opacity: .45; }\n\n@media (max-width: 720px) {\n .dsh-knowledge-source-picker,\n .dsh-knowledge-remote-fields { grid-template-columns: 1fr; }\n .dsh-knowledge-settings-summary { font-size: 0; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dsh-knowledge-settings-card,\n .dsh-knowledge-settings-header,\n .dsh-knowledge-settings-summary i { transition: none; }\n}\n\n.dsh-knowledge-writeback-notice {\n display: grid;\n gap: 5px;\n min-width: 0;\n color: var(--knowledge-text-tertiary);\n font-size: 12px;\n line-height: 1.5;\n}\n.dsh-knowledge-writeback-summary {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n min-width: 0;\n}\n.dsh-knowledge-writeback-notice strong {\n color: var(--knowledge-text-secondary);\n font-weight: 600;\n}\n.dsh-knowledge-writeback-notice button {\n min-height: 24px;\n padding: 0 9px;\n border: 1px solid var(--knowledge-border);\n border-radius: 7px;\n color: var(--knowledge-text-secondary);\n background: var(--knowledge-control);\n cursor: pointer;\n font: inherit;\n}\n.dsh-knowledge-writeback-notice button:disabled { cursor: default; opacity: .5; }\n.dsh-knowledge-writeback-destinations {\n display: flex;\n flex-wrap: wrap;\n gap: 2px 12px;\n min-width: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.dsh-knowledge-writeback-destinations li {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n min-width: 0;\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n}\n.dsh-knowledge-writeback-base,\n.dsh-knowledge-writeback-separator {\n flex: none;\n}\n.dsh-knowledge-writeback-separator {\n color: var(--knowledge-text-tertiary);\n}\n.dsh-knowledge-writeback-destinations strong {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dsh-knowledge-writeback-notice .dsh-knowledge-writeback-document {\n display: inline-flex;\n align-items: center;\n min-width: 0;\n min-height: 24px;\n padding: 0 3px;\n border: 0;\n border-radius: 4px;\n background: transparent;\n color: var(--knowledge-text-secondary);\n text-decoration: underline;\n text-decoration-color: transparent;\n text-underline-offset: 3px;\n transition: color 120ms ease, background-color 120ms ease, text-decoration-color 120ms ease;\n}\n.dsh-knowledge-writeback-notice .dsh-knowledge-writeback-document:hover {\n background: var(--knowledge-hover);\n color: var(--knowledge-text);\n text-decoration-color: currentColor;\n}\n.dsh-knowledge-writeback-document strong { color: inherit; }\n.dsh-knowledge-writeback-destinations small {\n flex: none;\n color: var(--knowledge-text-secondary);\n font: inherit;\n white-space: nowrap;\n}\n.dsh-knowledge-writeback-destinations small[data-disposition="written"] { color: var(--knowledge-success); }\n.dsh-knowledge-writeback-error {\n max-width: min(720px, 100%);\n margin: 0;\n color: var(--knowledge-danger);\n overflow-wrap: anywhere;\n}\n';
321
+ var client_default = `.dsh-knowledge-trigger,
322
+ .dsh-knowledge-activity-panel,
323
+ .dsh-knowledge-workspace,
324
+ .dsh-knowledge-settings-card,
325
+ .dsh-knowledge-writeback-notice {
326
+ color-scheme: light;
327
+ --knowledge-canvas: transparent;
328
+ --knowledge-accent: var(--accent);
329
+ --knowledge-on-accent: var(--on-accent);
330
+ --knowledge-danger: var(--danger);
331
+ --knowledge-success: var(--success);
332
+ --knowledge-pane: rgba(255, 255, 255, 0.16);
333
+ --knowledge-raised: rgba(255, 255, 255, 0.38);
334
+ --knowledge-control: rgba(255, 255, 255, 0.27);
335
+ --knowledge-border: var(--border);
336
+ --knowledge-text: var(--text);
337
+ --knowledge-text-secondary: var(--text-secondary);
338
+ --knowledge-text-tertiary: var(--text-tertiary);
339
+ --knowledge-hover: var(--surface-hover);
340
+ --knowledge-glare-light: rgb(255 255 255 / 70%);
341
+ --knowledge-glare-rim: rgb(60 60 67 / 11%);
342
+ --knowledge-glass-filter: saturate(1.22) contrast(1.03) blur(32px);
343
+ --knowledge-host-glass-filter: saturate(.18) contrast(1.015) blur(24px);
344
+ --knowledge-glass-shadow: inset 0 1px 0 rgb(255 255 255 / 70%), inset 0 -1px 0 rgb(60 60 67 / 11%), 0 10px 28px rgb(31 31 35 / 8.5%);
345
+ --knowledge-font-family: var(--font-ui);
346
+ color: var(--knowledge-text);
347
+ font-family: var(--knowledge-font-family);
348
+ font-size: 13px;
349
+ line-height: 1.5;
350
+ }
351
+
352
+ body[data-ds-dark-theme] :is(
353
+ .dsh-knowledge-trigger,
354
+ .dsh-knowledge-activity-panel,
355
+ .dsh-knowledge-workspace,
356
+ .dsh-knowledge-settings-card,
357
+ .dsh-knowledge-writeback-notice
358
+ ) {
359
+ color-scheme: dark;
360
+ --knowledge-canvas: transparent;
361
+ --knowledge-accent: var(--accent);
362
+ --knowledge-on-accent: var(--on-accent);
363
+ --knowledge-danger: var(--danger);
364
+ --knowledge-success: var(--success);
365
+ --knowledge-pane: rgb(25 33 35 / 90%);
366
+ --knowledge-raised: rgb(32 41 43 / 94%);
367
+ --knowledge-control: rgb(39 50 53 / 92%);
368
+ --knowledge-border: var(--border);
369
+ --knowledge-text: var(--text);
370
+ --knowledge-text-secondary: var(--text-secondary);
371
+ --knowledge-text-tertiary: var(--text-tertiary);
372
+ --knowledge-hover: var(--surface-hover);
373
+ --knowledge-glare-light: rgb(255 255 255 / 16%);
374
+ --knowledge-glare-rim: rgb(0 0 0 / 30%);
375
+ --knowledge-host-glass-filter: saturate(.45) contrast(1.02) blur(24px);
376
+ --knowledge-glass-shadow: inset 0 1px 0 rgb(255 255 255 / 16%), inset 0 -1px 0 rgb(0 0 0 / 30%), 0 12px 32px rgb(0 0 0 / 30%);
377
+ }
378
+
379
+ :is(
380
+ .dsh-knowledge-trigger,
381
+ .dsh-knowledge-activity-panel,
382
+ .dsh-knowledge-workspace,
383
+ .dsh-knowledge-settings-card,
384
+ .dsh-knowledge-writeback-notice
385
+ ),
386
+ :is(
387
+ .dsh-knowledge-trigger,
388
+ .dsh-knowledge-activity-panel,
389
+ .dsh-knowledge-workspace,
390
+ .dsh-knowledge-settings-card,
391
+ .dsh-knowledge-writeback-notice
392
+ ) * {
393
+ box-sizing: border-box;
394
+ }
395
+
396
+ :is(
397
+ .dsh-knowledge-trigger,
398
+ .dsh-knowledge-activity-panel,
399
+ .dsh-knowledge-workspace,
400
+ .dsh-knowledge-settings-card,
401
+ .dsh-knowledge-writeback-notice
402
+ ) :where(button, input, textarea, select) {
403
+ margin: 0;
404
+ color: inherit;
405
+ font-family: var(--knowledge-font-family);
406
+ font-size: inherit;
407
+ font-weight: inherit;
408
+ line-height: inherit;
409
+ letter-spacing: inherit;
410
+ }
411
+
412
+ .dsh-knowledge-trigger,
413
+ .dsh-knowledge-activity-panel button,
414
+ .dsh-knowledge-activity-panel input,
415
+ .dsh-knowledge-panel-state button,
416
+ .dsh-knowledge-settings-card button,
417
+ .dsh-knowledge-writeback-notice button {
418
+ -webkit-appearance: none;
419
+ appearance: none;
420
+ margin: 0;
421
+ }
422
+
423
+ /* The official footer slot is a horizontal list. Only opt its immediate
424
+ container into wrapping; leave neighboring plugin controls untouched. */
425
+ :has(> .dsh-knowledge-launcher) { flex-wrap: wrap; }
426
+ /* The host's collapsed footer is shrink-to-fit. Bound it to the rail rather
427
+ than centering our button inside a width determined by neighboring plugins. */
428
+ :has(> .dsh-knowledge-launcher--rail) { width: 100% !important; max-width: 100%; min-width: 0; }
429
+
430
+ .dsh-knowledge-launcher {
431
+ display: flex;
432
+ flex: 0 0 100%;
433
+ order: -1;
434
+ min-width: 0;
435
+ gap: 4px;
436
+ padding-block: 4px;
437
+ box-sizing: border-box;
438
+ }
439
+
440
+ .dsh-knowledge-launcher--rail { flex-direction: column; align-items: center; }
441
+
442
+ .dsh-knowledge-trigger {
443
+ position: relative;
444
+ flex: 1 1 auto;
445
+ min-width: 0;
446
+ display: flex;
447
+ align-items: center;
448
+ gap: 8px;
449
+ width: auto;
450
+ height: 36px;
451
+ margin: 0;
452
+ padding: 6px 10px;
453
+ box-sizing: border-box;
454
+ border: 0;
455
+ border-radius: 12px;
456
+ overflow: hidden;
457
+ background: transparent;
458
+ color: var(--knowledge-text);
459
+ cursor: pointer;
460
+ font: inherit;
461
+ font-size: 14px;
462
+ line-height: 22px;
463
+ white-space: nowrap;
464
+ isolation: isolate;
465
+ transition:
466
+ color 120ms ease,
467
+ background-color 120ms ease,
468
+ box-shadow 160ms ease;
469
+ }
470
+
471
+ .dsh-knowledge-trigger:hover {
472
+ background: var(--knowledge-hover);
473
+ }
474
+
475
+ .dsh-knowledge-trigger:focus-visible,
476
+ .dsh-knowledge-writeback-notice button:focus-visible {
477
+ outline: 2px solid var(--knowledge-accent);
478
+ outline-offset: 2px;
479
+ }
480
+
481
+ .dsh-knowledge-trigger.is-active {
482
+ background: var(--knowledge-control);
483
+ color: var(--knowledge-text);
484
+ box-shadow: 0 1px 2px rgb(0 0 0 / 7%), inset 0 1px 0 rgb(255 255 255 / 28%);
485
+ }
486
+
487
+ .dsh-knowledge-trigger--rail {
488
+ width: 36px;
489
+ height: 36px;
490
+ margin: 8px 0 10px;
491
+ padding: 0;
492
+ justify-content: center;
493
+ gap: 0;
494
+ border-radius: 50%;
495
+ }
496
+
497
+ .dsh-knowledge-trigger--rail { margin-inline: auto; }
498
+
499
+ .dsh-knowledge-launcher .dsh-knowledge-trigger--rail { flex: none; margin-block: 0; }
500
+ .dsh-knowledge-panel-trigger { flex: 0 0 36px; width: 36px; padding: 0; justify-content: center; }
501
+ .dsh-knowledge-panel-trigger:disabled { opacity: .4; cursor: default; background: transparent; }
502
+ .dsh-knowledge-launcher--rail .dsh-knowledge-panel-trigger { flex: none; border-radius: 50%; }
503
+
504
+ @media (prefers-reduced-motion: reduce) {
505
+ .dsh-knowledge-trigger { transition: none; }
506
+ }
507
+
508
+ .dsh-knowledge-workspace {
509
+ width: 100%;
510
+ height: 100%;
511
+ min-width: 0;
512
+ min-height: 0;
513
+ display: flex;
514
+ flex-direction: column;
515
+ overflow: hidden;
516
+ background: var(--knowledge-canvas);
517
+ }
518
+
519
+ .dsh-knowledge-workspace-header {
520
+ position: relative;
521
+ z-index: 2;
522
+ flex: none;
523
+ display: flex;
524
+ align-items: center;
525
+ justify-content: space-between;
526
+ gap: 16px;
527
+ min-height: 52px;
528
+ margin: 8px 10px 0;
529
+ padding: 7px 14px;
530
+ box-sizing: border-box;
531
+ border: 1px solid var(--knowledge-border);
532
+ border-radius: 14px 14px 11px 11px;
533
+ background: transparent;
534
+ box-shadow: var(--knowledge-glass-shadow);
535
+ -webkit-backdrop-filter: var(--knowledge-host-glass-filter);
536
+ backdrop-filter: var(--knowledge-host-glass-filter);
537
+ }
538
+
539
+ .dsh-knowledge-workspace-header > div {
540
+ display: flex;
541
+ align-items: center;
542
+ gap: 10px;
543
+ min-width: 0;
544
+ }
545
+
546
+ .dsh-knowledge-workspace-header [data-knowledge-workspace-close] {
547
+ -webkit-appearance: none;
548
+ appearance: none;
549
+ display: grid;
550
+ place-items: center;
551
+ box-sizing: border-box;
552
+ flex: none;
553
+ width: 30px;
554
+ height: 30px;
555
+ margin: 0;
556
+ padding: 0;
557
+ border: 1px solid transparent;
558
+ border-radius: 9px;
559
+ color: var(--knowledge-text-secondary);
560
+ background: transparent;
561
+ font: inherit;
562
+ line-height: 1;
563
+ -webkit-tap-highlight-color: transparent;
564
+ cursor: pointer;
565
+ transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
566
+ }
567
+
568
+ .dsh-knowledge-workspace-header [data-knowledge-workspace-close]:hover {
569
+ border-color: var(--knowledge-border);
570
+ color: var(--knowledge-text);
571
+ background: var(--knowledge-control);
572
+ }
573
+
574
+ .dsh-knowledge-workspace-header [data-knowledge-workspace-close]:active { border-color: var(--knowledge-text-secondary); }
575
+ .dsh-knowledge-workspace-header [data-knowledge-workspace-close]:focus-visible {
576
+ outline: 2px solid var(--knowledge-accent);
577
+ outline-offset: 2px;
578
+ }
579
+ .dsh-knowledge-workspace-header [data-knowledge-workspace-close] > svg {
580
+ display: block;
581
+ pointer-events: none;
582
+ }
583
+
584
+ .dsh-knowledge-workspace-header > div > span {
585
+ display: grid;
586
+ min-width: 0;
587
+ gap: 2px;
588
+ }
589
+
590
+ .dsh-knowledge-workspace-header h2,
591
+ .dsh-knowledge-workspace-header p {
592
+ margin: 0;
593
+ }
594
+
595
+ .dsh-knowledge-workspace-header h2 {
596
+ color: var(--knowledge-text);
597
+ font-size: 15px;
598
+ line-height: 22px;
599
+ font-weight: 600;
600
+ }
601
+
602
+ .dsh-knowledge-workspace-header p {
603
+ color: var(--knowledge-text-secondary);
604
+ font-size: 11px;
605
+ line-height: 16px;
606
+ }
607
+
608
+ .dsh-knowledge-frame {
609
+ flex: 1;
610
+ display: block;
611
+ width: 100%;
612
+ min-height: 0;
613
+ margin: 0;
614
+ border: 0;
615
+ border-radius: 0;
616
+ background: transparent;
617
+ box-shadow: none;
618
+ -webkit-backdrop-filter: none;
619
+ backdrop-filter: none;
620
+ }
621
+
622
+ .dsh-knowledge-panel-state {
623
+ flex: 1;
624
+ display: flex;
625
+ align-items: center;
626
+ justify-content: center;
627
+ gap: 16px;
628
+ min-height: 0;
629
+ margin: 8px 10px 10px;
630
+ padding: 32px;
631
+ box-sizing: border-box;
632
+ border: 1px solid var(--knowledge-border);
633
+ border-radius: 15px;
634
+ background: var(--knowledge-pane);
635
+ box-shadow: var(--knowledge-glass-shadow);
636
+ -webkit-backdrop-filter: var(--knowledge-host-glass-filter);
637
+ backdrop-filter: var(--knowledge-host-glass-filter);
638
+ color: var(--knowledge-text);
639
+ }
640
+
641
+ .dsh-knowledge-panel-state-icon {
642
+ flex: none;
643
+ display: inline-flex;
644
+ align-items: center;
645
+ justify-content: center;
646
+ width: 40px;
647
+ height: 40px;
648
+ border-radius: 12px;
649
+ background: var(--knowledge-hover);
650
+ color: var(--knowledge-text-secondary);
651
+ font-size: 18px;
652
+ font-weight: 600;
653
+ }
654
+
655
+ .dsh-knowledge-panel-state > div { max-width: 560px; }
656
+ .dsh-knowledge-panel-state h3 { margin: 0 0 6px; font-size: 17px; line-height: 24px; font-weight: 600; }
657
+ .dsh-knowledge-panel-state p { margin: 0; color: var(--knowledge-text-secondary); font-size: 13px; line-height: 20px; }
658
+ .dsh-knowledge-panel-state button {
659
+ min-width: 72px;
660
+ min-height: 32px;
661
+ margin-top: 16px;
662
+ padding: 6px 14px;
663
+ border: 0;
664
+ border-radius: 10px;
665
+ background: var(--knowledge-accent);
666
+ color: var(--knowledge-on-accent);
667
+ cursor: pointer;
668
+ font: inherit;
669
+ }
670
+ .dsh-knowledge-panel-state button:focus-visible {
671
+ outline: 2px solid var(--knowledge-accent);
672
+ outline-offset: 2px;
673
+ }
674
+
675
+ .dsh-knowledge-settings-card {
676
+ list-style: none;
677
+ overflow: hidden;
678
+ border: 1px solid var(--knowledge-border);
679
+ border-radius: 14px;
680
+ background:
681
+ linear-gradient(145deg, color-mix(in srgb, var(--knowledge-glare-light) 16%, transparent), transparent 58%),
682
+ var(--knowledge-pane);
683
+ color: var(--knowledge-text);
684
+ box-shadow: var(--knowledge-glass-shadow), 0 8px 24px rgb(0 0 0 / 5%);
685
+ -webkit-backdrop-filter: var(--knowledge-glass-filter);
686
+ backdrop-filter: var(--knowledge-glass-filter);
687
+ transition: border-color 120ms ease, background-color 120ms ease;
688
+ }
689
+ .dsh-knowledge-settings-card:hover {
690
+ border-color: color-mix(in srgb, var(--knowledge-border) 68%, var(--knowledge-text-secondary));
691
+ }
692
+ .dsh-knowledge-settings-card--open {
693
+ border-color: color-mix(in srgb, var(--knowledge-border) 68%, var(--knowledge-text-secondary));
694
+ background: var(--knowledge-pane);
695
+ }
696
+ .dsh-knowledge-settings-header { display: flex; width: 100%; align-items: center; gap: 12px; padding: 14px 16px; border: 0; border-radius: 12px; background: transparent; color: inherit; text-align: left; cursor: pointer; font: inherit; }
697
+ .dsh-knowledge-settings-header:focus-visible {
698
+ outline: 2px solid var(--knowledge-accent);
699
+ outline-offset: -2px;
700
+ }
701
+ .dsh-knowledge-settings-actions button:focus-visible,
702
+ .dsh-knowledge-settings-load-error button:focus-visible {
703
+ outline: 2px solid var(--knowledge-accent);
704
+ outline-offset: 2px;
705
+ }
706
+ .dsh-knowledge-settings-header > span:first-child { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 4px; }
707
+ .dsh-knowledge-settings-header strong { font-size: 15px; font-weight: 600; line-height: 1.4; }
708
+ .dsh-knowledge-settings-header small { color: var(--knowledge-text-tertiary); font-size: 13px; line-height: 1.5; }
709
+ .dsh-knowledge-source-picker small,
710
+ .dsh-knowledge-remote-fields small { color: var(--knowledge-text-secondary); font-size: 12px; }
711
+ .dsh-knowledge-settings-summary { display: flex; flex: none; align-items: center; gap: 10px; color: var(--knowledge-text-tertiary); font-size: 12px; }
712
+ .dsh-knowledge-settings-summary i { width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform 160ms ease; }
713
+ .dsh-knowledge-settings-card--open .dsh-knowledge-settings-summary i { transform: rotate(225deg); }
714
+
715
+ .dsh-knowledge-settings-body {
716
+ display: grid;
717
+ gap: 18px;
718
+ margin: 0 16px;
719
+ padding-bottom: 8px;
720
+ border-top: 1px solid var(--knowledge-border);
721
+ }
722
+
723
+ .dsh-knowledge-source-picker {
724
+ min-width: 0;
725
+ display: grid;
726
+ grid-template-columns: repeat(2, minmax(0, 1fr));
727
+ gap: 10px;
728
+ margin: 18px 0 0;
729
+ padding: 0;
730
+ border: 0;
731
+ }
732
+
733
+ .dsh-knowledge-source-picker legend { margin-bottom: 8px; padding: 0; color: inherit; font-size: 13px; font-weight: 600; }
734
+ .dsh-knowledge-source-picker label {
735
+ display: flex;
736
+ gap: 10px;
737
+ padding: 13px;
738
+ border: 1px solid var(--knowledge-border);
739
+ border-radius: 14px;
740
+ cursor: pointer;
741
+ }
742
+ .dsh-knowledge-source-picker label.is-selected {
743
+ border-color: var(--knowledge-accent);
744
+ background: color-mix(in srgb, var(--knowledge-accent) 7%, transparent);
745
+ }
746
+ .dsh-knowledge-source-picker label.is-disabled {
747
+ cursor: default;
748
+ opacity: .55;
749
+ }
750
+ .dsh-knowledge-source-picker label:focus-within {
751
+ outline: 2px solid var(--knowledge-accent);
752
+ outline-offset: 2px;
753
+ }
754
+ .dsh-knowledge-source-picker input {
755
+ -webkit-appearance: none;
756
+ appearance: none;
757
+ width: 16px;
758
+ height: 16px;
759
+ display: inline-grid;
760
+ place-content: center;
761
+ flex: none;
762
+ margin: 2px 0 0;
763
+ border: 1px solid var(--knowledge-border);
764
+ border-radius: 50%;
765
+ background: var(--knowledge-control);
766
+ color: var(--knowledge-on-accent);
767
+ cursor: pointer;
768
+ transition: border-color .15s ease, background-color .15s ease;
769
+ }
770
+ .dsh-knowledge-source-picker input::before {
771
+ content: "";
772
+ width: 6px;
773
+ height: 6px;
774
+ border-radius: 50%;
775
+ background: currentColor;
776
+ opacity: 0;
777
+ transform: scale(.55);
778
+ transition: opacity .12s ease, transform .15s cubic-bezier(.2, .8, .2, 1);
779
+ }
780
+ .dsh-knowledge-source-picker input:checked { border-color: var(--knowledge-accent); background: var(--knowledge-accent); }
781
+ .dsh-knowledge-source-picker input:checked::before { opacity: 1; transform: scale(1); }
782
+ .dsh-knowledge-source-picker input:disabled { cursor: default; }
783
+ .dsh-knowledge-source-picker span { display: grid; gap: 3px; }
784
+
785
+ .dsh-knowledge-remote-fields { display: grid; grid-template-columns: 1.25fr 1fr; gap: 12px; }
786
+ .dsh-knowledge-remote-fields label,
787
+ .dsh-knowledge-timeout-field { display: grid; gap: 6px; color: var(--knowledge-text-secondary); font-size: 12px; }
788
+ .dsh-knowledge-remote-fields input,
789
+ .dsh-knowledge-timeout-field input {
790
+ -webkit-appearance: none;
791
+ appearance: none;
792
+ min-height: 38px;
793
+ box-sizing: border-box;
794
+ padding: 8px 11px;
795
+ border: 1px solid var(--knowledge-border);
796
+ border-radius: 10px;
797
+ outline: none;
798
+ background: var(--knowledge-control);
799
+ color: var(--knowledge-text);
800
+ font: inherit;
801
+ }
802
+ .dsh-knowledge-remote-fields input:focus,
803
+ .dsh-knowledge-timeout-field input:focus { border-color: var(--knowledge-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--knowledge-accent) 16%, transparent); }
804
+ .dsh-knowledge-remote-fields input:-webkit-autofill,
805
+ .dsh-knowledge-remote-fields input:-webkit-autofill:hover,
806
+ .dsh-knowledge-remote-fields input:-webkit-autofill:focus {
807
+ -webkit-text-fill-color: var(--knowledge-text);
808
+ box-shadow: 0 0 0 1000px var(--knowledge-control) inset;
809
+ caret-color: var(--knowledge-text);
810
+ }
811
+ .dsh-knowledge-timeout-field input::-webkit-inner-spin-button,
812
+ .dsh-knowledge-timeout-field input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
813
+ .dsh-knowledge-timeout-field { max-width: 240px; }
814
+ .dsh-knowledge-field-error { color: var(--knowledge-danger) !important; }
815
+
816
+ .dsh-knowledge-settings-message,
817
+ .dsh-knowledge-settings-note { margin: 0; color: var(--knowledge-text-secondary); font-size: 12px; }
818
+ .dsh-knowledge-settings-message.is-success { color: var(--knowledge-success); }
819
+ .dsh-knowledge-settings-message.is-error { color: var(--knowledge-danger); }
820
+ .dsh-knowledge-settings-load-error {
821
+ display: flex;
822
+ align-items: center;
823
+ justify-content: space-between;
824
+ gap: 12px;
825
+ margin-top: 18px;
826
+ padding: 12px 14px;
827
+ border-radius: 12px;
828
+ background: color-mix(in srgb, var(--knowledge-danger) 8%, transparent);
829
+ color: var(--knowledge-danger);
830
+ font-size: 13px;
831
+ }
832
+ .dsh-knowledge-settings-load-error p { margin: 0; }
833
+ .dsh-knowledge-settings-load-error button {
834
+ flex: none;
835
+ min-height: 30px;
836
+ padding: 5px 10px;
837
+ border: 0;
838
+ border-radius: 9px;
839
+ background: var(--knowledge-control);
840
+ color: var(--knowledge-text);
841
+ cursor: pointer;
842
+ font: inherit;
843
+ }
844
+ .dsh-knowledge-settings-actions { display: flex; justify-content: flex-end; gap: 8px; }
845
+ .dsh-knowledge-settings-actions button {
846
+ min-height: 34px;
847
+ padding: 7px 13px;
848
+ border: 0;
849
+ border-radius: 10px;
850
+ background: var(--knowledge-hover);
851
+ color: var(--knowledge-text);
852
+ cursor: pointer;
853
+ font: inherit;
854
+ font-size: 13px;
855
+ }
856
+ .dsh-knowledge-settings-actions button.is-primary { background: var(--knowledge-accent); color: var(--knowledge-on-accent); }
857
+ .dsh-knowledge-settings-actions button:disabled { cursor: default; opacity: .45; }
858
+
859
+ @media (max-width: 720px) {
860
+ .dsh-knowledge-source-picker,
861
+ .dsh-knowledge-remote-fields { grid-template-columns: 1fr; }
862
+ .dsh-knowledge-settings-summary { font-size: 0; }
863
+ }
864
+
865
+ @media (prefers-reduced-motion: reduce) {
866
+ .dsh-knowledge-settings-card,
867
+ .dsh-knowledge-settings-header,
868
+ .dsh-knowledge-settings-summary i { transition: none; }
869
+ }
870
+
871
+ .dsh-knowledge-writeback-notice {
872
+ display: grid;
873
+ gap: 5px;
874
+ min-width: 0;
875
+ color: var(--knowledge-text-tertiary);
876
+ font-size: 12px;
877
+ line-height: 1.5;
878
+ }
879
+ .dsh-knowledge-writeback-summary {
880
+ display: flex;
881
+ align-items: center;
882
+ flex-wrap: wrap;
883
+ gap: 8px;
884
+ min-width: 0;
885
+ }
886
+ .dsh-knowledge-writeback-notice strong {
887
+ color: var(--knowledge-text-secondary);
888
+ font-weight: 600;
889
+ }
890
+ .dsh-knowledge-writeback-notice button {
891
+ min-height: 24px;
892
+ padding: 0 9px;
893
+ border: 1px solid var(--knowledge-border);
894
+ border-radius: 7px;
895
+ color: var(--knowledge-text-secondary);
896
+ background: var(--knowledge-control);
897
+ cursor: pointer;
898
+ font: inherit;
899
+ }
900
+ .dsh-knowledge-writeback-notice button:disabled { cursor: default; opacity: .5; }
901
+ .dsh-knowledge-writeback-destinations {
902
+ display: flex;
903
+ flex-wrap: wrap;
904
+ gap: 2px 12px;
905
+ min-width: 0;
906
+ margin: 0;
907
+ padding: 0;
908
+ list-style: none;
909
+ }
910
+ .dsh-knowledge-writeback-destinations li {
911
+ display: inline-flex;
912
+ align-items: center;
913
+ gap: 5px;
914
+ min-width: 0;
915
+ max-width: 100%;
916
+ padding: 0;
917
+ border: 0;
918
+ background: transparent;
919
+ }
920
+ .dsh-knowledge-writeback-base,
921
+ .dsh-knowledge-writeback-separator {
922
+ flex: none;
923
+ }
924
+ .dsh-knowledge-writeback-separator {
925
+ color: var(--knowledge-text-tertiary);
926
+ }
927
+ .dsh-knowledge-writeback-destinations strong {
928
+ min-width: 0;
929
+ overflow: hidden;
930
+ text-overflow: ellipsis;
931
+ white-space: nowrap;
932
+ }
933
+ .dsh-knowledge-writeback-notice .dsh-knowledge-writeback-document {
934
+ display: inline-flex;
935
+ align-items: center;
936
+ min-width: 0;
937
+ min-height: 24px;
938
+ padding: 0 3px;
939
+ border: 0;
940
+ border-radius: 4px;
941
+ background: transparent;
942
+ color: var(--knowledge-text-secondary);
943
+ text-decoration: underline;
944
+ text-decoration-color: transparent;
945
+ text-underline-offset: 3px;
946
+ transition: color 120ms ease, background-color 120ms ease, text-decoration-color 120ms ease;
947
+ }
948
+ .dsh-knowledge-writeback-notice .dsh-knowledge-writeback-document:hover {
949
+ background: var(--knowledge-hover);
950
+ color: var(--knowledge-text);
951
+ text-decoration-color: currentColor;
952
+ }
953
+ .dsh-knowledge-writeback-document strong { color: inherit; }
954
+ .dsh-knowledge-writeback-destinations small {
955
+ flex: none;
956
+ color: var(--knowledge-text-secondary);
957
+ font: inherit;
958
+ white-space: nowrap;
959
+ }
960
+ .dsh-knowledge-writeback-destinations small[data-disposition="written"] { color: var(--knowledge-success); }
961
+ .dsh-knowledge-writeback-error {
962
+ max-width: min(720px, 100%);
963
+ margin: 0;
964
+ color: var(--knowledge-danger);
965
+ overflow-wrap: anywhere;
966
+ }
967
+ `;
322
968
 
323
969
  // src/knowledge-activity.css
324
970
  var knowledge_activity_default = '.dsh-knowledge-activity-viewport {\n width: 100%;\n height: 100%;\n min-width: 0;\n overflow: hidden;\n contain: layout paint;\n}\n\n.dsh-knowledge-activity-panel {\n display: flex;\n width: 100%;\n height: 100%;\n min-width: 0;\n min-height: 0;\n flex-direction: column;\n overflow: hidden;\n color: var(--knowledge-text);\n background: var(--activity-surface);\n -webkit-backdrop-filter: var(--knowledge-embedded-filter);\n backdrop-filter: var(--knowledge-embedded-filter);\n box-shadow: inset 1px 0 0 var(--knowledge-border);\n font-family: var(--knowledge-font-family);\n font-size: 13px;\n line-height: 1.5;\n}\n\n.dsh-knowledge-activity-panel *,\n.dsh-knowledge-activity-panel *::before,\n.dsh-knowledge-activity-panel *::after { box-sizing: border-box; }\n\n.dsh-knowledge-activity-panel ::selection { background: var(--selection-background); color: var(--selection-text); }\n\n.dsh-knowledge-activity-panel :where(button, input) {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n}\n\n.dsh-knowledge-activity-header {\n display: flex;\n min-height: 58px;\n padding: 0 12px 0 15px;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-bottom: 1px solid var(--knowledge-border);\n background: transparent;\n}\n\n.dsh-knowledge-activity-tabs {\n display: grid;\n min-height: 43px;\n flex: none;\n grid-template-columns: 1fr 1fr;\n gap: 4px;\n padding: 5px 10px;\n border-bottom: 1px solid var(--knowledge-border);\n background: transparent;\n}\n.dsh-knowledge-activity-tabs button {\n display: inline-flex;\n min-width: 0;\n min-height: 32px;\n align-items: center;\n justify-content: center;\n gap: 6px;\n padding: 0 10px;\n border: 1px solid transparent;\n border-radius: 9px;\n color: var(--knowledge-text-tertiary);\n background: transparent;\n cursor: pointer;\n font-size: 12px;\n font-weight: 580;\n}\n.dsh-knowledge-activity-tabs button:hover { color: var(--knowledge-text); background: var(--knowledge-hover); }\n.dsh-knowledge-activity-tabs button.is-active {\n border-color: var(--knowledge-border);\n color: var(--knowledge-text);\n background: var(--knowledge-embedded-control);\n box-shadow: inset 0 1px 0 var(--knowledge-glare-light);\n}\n\n.dsh-knowledge-activity-title,\n.dsh-knowledge-activity-header-actions { display: flex; min-width: 0; align-items: center; gap: 9px; }\n.dsh-knowledge-activity-title > span:last-child { display: grid; min-width: 0; gap: 1px; }\n.dsh-knowledge-activity-title strong { overflow: hidden; font-size: 14px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }\n.dsh-knowledge-activity-title small { overflow: hidden; color: var(--knowledge-text-tertiary); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }\n\n.dsh-knowledge-activity-mark,\n.dsh-knowledge-activity-document-icon,\n.dsh-knowledge-activity-row-icon {\n display: grid;\n flex: none;\n place-items: center;\n border: 1px solid color-mix(in srgb, var(--knowledge-accent) 18%, transparent);\n color: var(--knowledge-accent);\n background: color-mix(in srgb, var(--knowledge-accent) 6%, transparent);\n}\n\n.dsh-knowledge-activity-mark { width: 27px; height: 27px; border: 0; border-radius: 8px; background: transparent; }\n.dsh-knowledge-activity-icon-button {\n display: grid;\n width: 32px;\n height: 32px;\n flex: none;\n place-items: center;\n padding: 0;\n border: 1px solid transparent;\n border-radius: 9px;\n color: var(--knowledge-text-secondary);\n background: transparent;\n cursor: pointer;\n}\n.dsh-knowledge-activity-icon-button:hover { border-color: var(--knowledge-border); color: var(--knowledge-text); background: var(--knowledge-hover); }\n.dsh-knowledge-activity-icon-button:focus-visible,\n.dsh-knowledge-activity-panel button:focus-visible,\n.dsh-knowledge-activity-panel input:focus-visible { outline: 2px solid var(--knowledge-accent); outline-offset: 2px; }\n\n.dsh-knowledge-activity-browser,\n.dsh-knowledge-activity-reader {\n display: flex;\n min-height: 0;\n flex: 1;\n flex-direction: column;\n overflow: hidden;\n padding: 14px 14px 16px;\n}\n\n.dsh-knowledge-activity-search {\n display: flex;\n min-height: 40px;\n flex: none;\n align-items: center;\n gap: 8px;\n padding: 0 10px;\n border: 1px solid var(--knowledge-border);\n border-radius: 10px;\n color: var(--knowledge-text-tertiary);\n background: var(--knowledge-embedded-control);\n}\n.dsh-knowledge-activity-search:focus-within { border-color: color-mix(in srgb, var(--knowledge-accent) 50%, var(--knowledge-border)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--knowledge-accent) 10%, transparent); }\n.dsh-knowledge-activity-search input { min-width: 0; height: 38px; flex: 1; padding: 0; border: 0; outline: 0 !important; color: var(--knowledge-text); background: transparent; box-shadow: none; }\n.dsh-knowledge-activity-search input::placeholder { color: var(--knowledge-text-tertiary); opacity: 1; }\n.dsh-knowledge-activity-search > button { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: 8px; color: var(--knowledge-text-tertiary); background: transparent; cursor: pointer; }\n.dsh-knowledge-activity-search > button:hover { color: var(--knowledge-text); background: var(--knowledge-hover); }\n\n.dsh-knowledge-activity-scope { position: relative; z-index: 3; flex: none; margin-top: 10px; }\n.dsh-knowledge-activity-breadcrumbs {\n display: flex;\n min-height: 37px;\n flex: none;\n align-items: center;\n gap: 1px;\n overflow-x: auto;\n padding: 5px 1px 2px;\n color: var(--knowledge-text-tertiary);\n scrollbar-width: none;\n}\n.dsh-knowledge-activity-breadcrumbs::-webkit-scrollbar { display: none; }\n.dsh-knowledge-activity-breadcrumbs span { display: inline-flex; flex: none; align-items: center; gap: 1px; }\n.dsh-knowledge-activity-breadcrumbs button {\n max-width: 130px;\n min-height: 28px;\n overflow: hidden;\n padding: 0 7px;\n border: 0;\n border-radius: 7px;\n color: inherit;\n text-overflow: ellipsis;\n white-space: nowrap;\n background: transparent;\n cursor: pointer;\n font-size: 11px;\n}\n.dsh-knowledge-activity-breadcrumbs button:hover { color: var(--knowledge-text); background: var(--knowledge-hover); }\n.dsh-knowledge-activity-breadcrumbs button[aria-current="location"] { color: var(--knowledge-text-secondary); font-weight: 620; }\n.dsh-knowledge-activity-scope-trigger {\n display: grid;\n width: 100%;\n min-height: 48px;\n grid-template-columns: 30px minmax(0, 1fr) 20px;\n align-items: center;\n gap: 8px;\n padding: 5px 9px;\n border: 1px solid var(--knowledge-border);\n border-radius: 10px;\n text-align: left;\n background: color-mix(in srgb, var(--knowledge-embedded-control) 72%, transparent);\n cursor: pointer;\n}\n.dsh-knowledge-activity-scope-trigger:hover { background: var(--knowledge-embedded-control); }\n.dsh-knowledge-activity-scope-trigger > span:nth-child(2) { display: grid; min-width: 0; gap: 1px; }\n.dsh-knowledge-activity-scope-trigger small { color: var(--knowledge-text-tertiary); font-size: 10px; }\n.dsh-knowledge-activity-scope-trigger strong { overflow: hidden; font-size: 12px; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }\n.dsh-knowledge-activity-scope-trigger > svg { color: var(--knowledge-text-tertiary); transition: transform 140ms ease; }\n.dsh-knowledge-activity-scope-trigger > svg.is-open { transform: rotate(180deg); }\n.dsh-knowledge-activity-scope-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; color: var(--knowledge-accent); background: color-mix(in srgb, var(--knowledge-accent) 8%, transparent); }\n.dsh-knowledge-activity-scope-menu {\n position: absolute;\n z-index: 6;\n top: calc(100% + 6px);\n right: 0;\n left: 0;\n max-height: min(320px, 44vh);\n overflow-y: auto;\n padding: 5px;\n border: 1px solid var(--knowledge-border);\n border-radius: 12px;\n background: var(--dialog-surface);\n box-shadow: 0 16px 38px rgb(24 30 32 / 18%), inset 0 1px 0 var(--knowledge-glare-light);\n -webkit-backdrop-filter: none;\n backdrop-filter: none;\n}\n.dsh-knowledge-activity-scope-menu button { display: flex; width: 100%; min-height: 46px; align-items: center; gap: 9px; padding: 6px 9px; border: 0; border-radius: 8px; text-align: left; background: transparent; cursor: pointer; }\n.dsh-knowledge-activity-scope-menu button:hover { background: var(--knowledge-hover); }\n.dsh-knowledge-activity-scope-menu button.is-active { background: var(--knowledge-embedded-control); }\n.dsh-knowledge-activity-scope-menu button > svg { flex: none; color: var(--knowledge-text-secondary); }\n.dsh-knowledge-activity-scope-menu button > span { display: grid; min-width: 0; gap: 1px; }\n.dsh-knowledge-activity-scope-menu button strong { overflow: hidden; font-size: 12px; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }\n.dsh-knowledge-activity-scope-menu button small { color: var(--knowledge-text-tertiary); font-size: 10px; }\n\n.dsh-knowledge-activity-list-heading {\n display: flex;\n min-height: 46px;\n flex: none;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 8px 2px 6px;\n border-bottom: 1px solid var(--knowledge-border);\n}\n.dsh-knowledge-activity-list-heading > span { display: grid; min-width: 0; }\n.dsh-knowledge-activity-list-heading strong { overflow: hidden; font-size: 13px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }\n.dsh-knowledge-activity-list-heading small { color: var(--knowledge-text-tertiary); font-size: 11px; }\n\n.dsh-knowledge-activity-list {\n min-height: 0;\n flex: 1;\n overflow-y: auto;\n overscroll-behavior: contain;\n padding: 0 0 20px;\n scrollbar-color: color-mix(in srgb, var(--knowledge-text-tertiary) 35%, transparent) transparent;\n scrollbar-width: thin;\n}\n.dsh-knowledge-activity-row {\n display: flex;\n width: 100%;\n min-height: 61px;\n align-items: center;\n gap: 9px;\n padding: 8px 6px;\n border: 0;\n border-bottom: 1px solid color-mix(in srgb, var(--knowledge-border) 72%, transparent);\n border-radius: 0;\n text-align: left;\n background: transparent;\n cursor: pointer;\n}\n.dsh-knowledge-activity-row:hover { border-radius: 8px; background: var(--knowledge-hover); }\n.dsh-knowledge-activity-row:disabled { cursor: default; opacity: .58; }\n.dsh-knowledge-activity-row:disabled:hover { border-radius: 0; background: transparent; }\n.dsh-knowledge-activity-row-icon { width: 27px; height: 27px; border: 0; border-radius: 0; background: transparent; }\n.dsh-knowledge-activity-row-copy { display: grid; min-width: 0; flex: 1; gap: 2px; }\n.dsh-knowledge-activity-row-copy strong,\n.dsh-knowledge-activity-row-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.dsh-knowledge-activity-row-copy strong { color: var(--knowledge-text); font-size: 13px; font-weight: 600; }\n.dsh-knowledge-activity-row-copy small { color: var(--knowledge-text-tertiary); font-size: 10px; }\n.dsh-knowledge-activity-row-meta { display: grid; flex: none; justify-items: end; align-items: center; gap: 3px; color: var(--knowledge-text-tertiary); font-size: 10px; }\n.dsh-knowledge-activity-row-meta em { padding: 1px 5px; border-radius: 999px; color: var(--knowledge-text-secondary); background: var(--knowledge-embedded-control); font-style: normal; }\n.dsh-knowledge-activity-load-more { display: block; min-height: 36px; margin: 8px auto 0; padding: 0 14px; border: 1px solid var(--knowledge-border); border-radius: 10px; color: var(--knowledge-text-secondary); background: var(--knowledge-embedded-control); cursor: pointer; }\n.dsh-knowledge-activity-load-more:hover:not(:disabled) { color: var(--knowledge-text); background: var(--knowledge-hover); }\n\n.dsh-knowledge-activity-reader-bar {\n display: flex;\n min-height: 38px;\n flex: none;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n border-bottom: 1px solid var(--knowledge-border);\n color: var(--knowledge-text-tertiary);\n font-size: 11px;\n}\n.dsh-knowledge-activity-back { display: inline-flex; min-height: 32px; align-items: center; gap: 4px; padding: 0 7px 0 4px; border: 0; border-radius: 8px; color: var(--knowledge-text-secondary); background: transparent; cursor: pointer; font-size: 12px !important; }\n.dsh-knowledge-activity-back:hover { color: var(--knowledge-text); background: var(--knowledge-hover); }\n.dsh-knowledge-activity-document-heading { display: flex; flex: none; align-items: center; gap: 10px; padding: 16px 4px 13px; }\n.dsh-knowledge-activity-document-icon { width: 36px; height: 36px; border-radius: 11px; }\n.dsh-knowledge-activity-document-heading > div { min-width: 0; }\n.dsh-knowledge-activity-document-heading h2 { overflow: hidden; margin: 0; font-size: 16px; line-height: 22px; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }\n.dsh-knowledge-activity-document-heading p { overflow: hidden; margin: 1px 0 0; color: var(--knowledge-text-tertiary); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }\n\n.dsh-knowledge-activity-markdown {\n min-height: 0;\n flex: 1;\n overflow-y: auto;\n padding: 0 5px 44px;\n color: var(--knowledge-text);\n font-size: 13px;\n line-height: 1.75;\n overflow-wrap: anywhere;\n scrollbar-color: color-mix(in srgb, var(--knowledge-text-tertiary) 35%, transparent) transparent;\n scrollbar-width: thin;\n}\n.dsh-knowledge-activity-markdown :where(h1, h2, h3, h4, h5, h6) { margin: 1.35em 0 .55em; color: var(--knowledge-text); line-height: 1.35; font-weight: 650; }\n.dsh-knowledge-activity-markdown h1 { font-size: 18px; }\n.dsh-knowledge-activity-markdown h2 { padding-bottom: .35em; border-bottom: 1px solid var(--knowledge-border); font-size: 16px; }\n.dsh-knowledge-activity-markdown h3 { font-size: 14px; }\n.dsh-knowledge-activity-markdown :where(h4, h5, h6) { font-size: 13px; }\n.dsh-knowledge-activity-markdown hr { height: 1px; margin: 18px 0; border: 0; background: var(--knowledge-border); }\n.dsh-knowledge-activity-markdown summary { cursor: pointer; color: var(--knowledge-text); }\n.dsh-knowledge-activity-markdown :where(p, ul, ol, blockquote, pre, table) { margin: .7em 0; }\n.dsh-knowledge-activity-markdown :where(ul, ol) { padding-left: 1.5em; }\n.dsh-knowledge-activity-markdown a { color: var(--knowledge-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }\n.dsh-knowledge-activity-markdown blockquote { margin-left: 0; padding: .15em 0 .15em 12px; border-left: 3px solid color-mix(in srgb, var(--knowledge-accent) 40%, transparent); color: var(--knowledge-text-secondary); }\n.dsh-knowledge-activity-markdown :where(code, pre) { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }\n.dsh-knowledge-activity-markdown code { padding: .14em .32em; border-radius: 5px; background: var(--knowledge-embedded-control); font-size: .92em; }\n.dsh-knowledge-activity-markdown pre { overflow-x: auto; padding: 11px 12px; border: 1px solid var(--knowledge-border); border-radius: 10px; background: var(--knowledge-embedded-control); }\n.dsh-knowledge-activity-markdown pre code { padding: 0; background: transparent; }\n.dsh-knowledge-activity-markdown table { width: 100%; border-collapse: collapse; font-size: 12px; }\n.dsh-knowledge-activity-markdown :where(th, td) { padding: 6px 7px; border: 1px solid var(--knowledge-border); text-align: left; }\n.dsh-knowledge-activity-markdown img { display: block; max-width: 100%; height: auto; border-radius: 10px; }\n\n.dsh-knowledge-activity-state,\n.dsh-knowledge-activity-error,\n.dsh-knowledge-activity-empty { margin: auto; text-align: center; }\n.dsh-knowledge-activity-state { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 28px 10px; color: var(--knowledge-text-tertiary); }\n.dsh-knowledge-activity-state > span { width: 8px; height: 8px; border: 2px solid var(--knowledge-border); border-top-color: var(--knowledge-accent); border-radius: 50%; animation: dsh-knowledge-activity-spin .8s linear infinite; }\n.dsh-knowledge-activity-error,\n.dsh-knowledge-activity-empty { display: grid; max-width: 260px; justify-items: center; gap: 6px; padding: 32px 12px; }\n.dsh-knowledge-activity-error strong,\n.dsh-knowledge-activity-empty strong { font-size: 13px; font-weight: 650; }\n.dsh-knowledge-activity-error p,\n.dsh-knowledge-activity-empty p { margin: 0; color: var(--knowledge-text-tertiary); font-size: 11px; line-height: 1.65; }\n.dsh-knowledge-activity-empty > span { display: grid; width: 40px; height: 40px; margin-bottom: 3px; place-items: center; border-radius: 13px; color: var(--knowledge-text-secondary); background: var(--knowledge-embedded-control); }\n.dsh-knowledge-activity-error > button { min-height: 34px; margin-top: 6px; padding: 0 13px; border: 1px solid var(--knowledge-border); border-radius: 9px; background: var(--knowledge-embedded-control); cursor: pointer; }\n.dsh-knowledge-activity-error > button:hover { background: var(--knowledge-hover); }\n\n@keyframes dsh-knowledge-activity-spin { to { transform: rotate(360deg); } }\n\n@media (max-width: 460px) {\n .dsh-knowledge-activity-header { padding-inline: 10px; }\n .dsh-knowledge-activity-browser,\n .dsh-knowledge-activity-reader { padding: 10px 10px max(14px, env(safe-area-inset-bottom)); }\n .dsh-knowledge-activity-search input { font-size: 16px; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dsh-knowledge-activity-panel,\n .dsh-knowledge-activity-state > span,\n .dsh-knowledge-activity-scope-trigger > svg { animation: none; transition: none; }\n}\n';
@@ -4445,7 +5091,7 @@ function KnowledgeLauncher({ wide, useSessions, workspace, activity }) {
4445
5091
  return activity.subscribe(sync);
4446
5092
  }, [activity, currentSessionId]);
4447
5093
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `dsh-knowledge-launcher${wide ? "" : " dsh-knowledge-launcher--rail"}`, role: "group", "aria-label": "\u77E5\u8BC6\u5E93\u5165\u53E3", children: [
4448
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5094
+ wide && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
4449
5095
  "button",
4450
5096
  {
4451
5097
  type: "button",