@qilin-agent/client-ui-sidebar 3.1.3 → 3.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.i18n.yaml +20 -20
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/lib/client.js +115 -24
- package/lib/types/client/contract/slots.d.ts +2 -20
- package/package.json +13 -13
package/README.i18n.yaml
CHANGED
|
@@ -5,51 +5,51 @@
|
|
|
5
5
|
/:
|
|
6
6
|
en: c2607c6d03c52187
|
|
7
7
|
zh: bf0140a9f62c5139
|
|
8
|
-
/qilin-client-ui-sidebar:
|
|
9
|
-
en:
|
|
10
|
-
zh:
|
|
11
|
-
/qilin-client-ui-sidebar/summary:
|
|
8
|
+
/qilin-agent-client-ui-sidebar:
|
|
9
|
+
en: 8b6ea56979501a0b
|
|
10
|
+
zh: f3383b46b3cab405
|
|
11
|
+
/qilin-agent-client-ui-sidebar/summary:
|
|
12
12
|
en: b31ae78ccf8acf60
|
|
13
13
|
zh: 095026d07097f088
|
|
14
|
-
/qilin-client-ui-sidebar/table-of-contents:
|
|
14
|
+
/qilin-agent-client-ui-sidebar/table-of-contents:
|
|
15
15
|
en: d152484eb41ac6b4
|
|
16
16
|
zh: 09388d293f9be9cb
|
|
17
|
-
/qilin-client-ui-sidebar/use-this-package:
|
|
18
|
-
en:
|
|
19
|
-
zh:
|
|
20
|
-
/qilin-client-ui-sidebar/use-this-package/brand-and-new-session:
|
|
17
|
+
/qilin-agent-client-ui-sidebar/use-this-package:
|
|
18
|
+
en: d584db3f7c857591
|
|
19
|
+
zh: 61d54a060f63d96f
|
|
20
|
+
/qilin-agent-client-ui-sidebar/use-this-package/brand-and-new-session:
|
|
21
21
|
en: b375e1edb5171239
|
|
22
22
|
zh: 7f8659395ab519cd
|
|
23
|
-
/qilin-client-ui-sidebar/use-this-package/global-panel-entries:
|
|
23
|
+
/qilin-agent-client-ui-sidebar/use-this-package/global-panel-entries:
|
|
24
24
|
en: 5d3300d3506254c5
|
|
25
25
|
zh: bb2220103e91d9de
|
|
26
|
-
/qilin-client-ui-sidebar/use-this-package/collapse-behavior:
|
|
26
|
+
/qilin-agent-client-ui-sidebar/use-this-package/collapse-behavior:
|
|
27
27
|
en: c847d47379a58e5d
|
|
28
28
|
zh: 6af5e11c2bf5d86c
|
|
29
|
-
/qilin-client-ui-sidebar/use-this-package/macos-desktop:
|
|
29
|
+
/qilin-agent-client-ui-sidebar/use-this-package/macos-desktop:
|
|
30
30
|
en: 2394638d0a211e25
|
|
31
31
|
zh: c28fffe34fbc47cd
|
|
32
|
-
/qilin-client-ui-sidebar/use-this-package/scrollbars:
|
|
32
|
+
/qilin-agent-client-ui-sidebar/use-this-package/scrollbars:
|
|
33
33
|
en: d053b1ed0f4fd293
|
|
34
34
|
zh: ff25a56541f57530
|
|
35
|
-
/qilin-client-ui-sidebar/understand-the-implementation:
|
|
35
|
+
/qilin-agent-client-ui-sidebar/understand-the-implementation:
|
|
36
36
|
en: 676cd4c309b4110d
|
|
37
37
|
zh: 13be655486791b8e
|
|
38
|
-
/qilin-client-ui-sidebar/understand-the-implementation/slot-discipline:
|
|
38
|
+
/qilin-agent-client-ui-sidebar/understand-the-implementation/slot-discipline:
|
|
39
39
|
en: cc1d53236154e97e
|
|
40
40
|
zh: 77a601b7c9cf7dec
|
|
41
|
-
/qilin-client-ui-sidebar/further-exploration:
|
|
41
|
+
/qilin-agent-client-ui-sidebar/further-exploration:
|
|
42
42
|
en: 9605d06cd352d035
|
|
43
43
|
zh: 05e02f3bd35bf929
|
|
44
|
-
/qilin-client-ui-sidebar/model-experience:
|
|
44
|
+
/qilin-agent-client-ui-sidebar/model-experience:
|
|
45
45
|
en: 3120df665299c634
|
|
46
46
|
zh: 1d9f365d091d0d2a
|
|
47
|
-
/qilin-client-ui-sidebar/model-experience/kv-cache-effect:
|
|
47
|
+
/qilin-agent-client-ui-sidebar/model-experience/kv-cache-effect:
|
|
48
48
|
en: ca75c51c89c2c9b0
|
|
49
49
|
zh: de54f3467ef3b9be
|
|
50
|
-
/qilin-client-ui-sidebar/known-limitations-and-deferred-work:
|
|
50
|
+
/qilin-agent-client-ui-sidebar/known-limitations-and-deferred-work:
|
|
51
51
|
en: 262db5b10dfb7d98
|
|
52
52
|
zh: c1b5cf6aa58b054e
|
|
53
|
-
/qilin-client-ui-sidebar/known-limitations-and-deferred-work/dev-note:
|
|
53
|
+
/qilin-agent-client-ui-sidebar/known-limitations-and-deferred-work/dev-note:
|
|
54
54
|
en: e67f633dc6fe7773
|
|
55
55
|
zh: 3bb0c20c93f16f98
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ The qilin web client sidebar lets users recognize the active build, start a new
|
|
|
25
25
|
<a id="use-this-package"></a>
|
|
26
26
|
## Use this package
|
|
27
27
|
|
|
28
|
-
The sidebar is the navigation shell: users see the brand,
|
|
28
|
+
The sidebar is the navigation shell: users see the brand, start new sessions, collapse the rail, and reach Settings. Feature plugins fill its seats — ui-workspace fills `sidebar.workspaces`, ui-account fills `sidebar.footer.action`, and ui-settings fills `sidebar.settings` with the settings panel.
|
|
29
29
|
|
|
30
30
|
### Brand and New Session
|
|
31
31
|
|
package/README.zh.md
CHANGED
|
@@ -25,7 +25,7 @@ qilin Web 客户端的侧边栏让用户识别当前构建、启动新会话、
|
|
|
25
25
|
<a id="use-this-package"></a>
|
|
26
26
|
## 使用本包
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
侧边栏是导航外壳:用户看到品牌、启动新会话、折叠轨道并到达 Settings。功能插件填充它的席位——ui-workspace 填充 `sidebar.workspaces`,ui-account 填充 `sidebar.footer.action`,ui-settings 以设置面板填充 `sidebar.settings`。
|
|
29
29
|
|
|
30
30
|
### 品牌与 New Session
|
|
31
31
|
|
package/lib/client.js
CHANGED
|
@@ -6,11 +6,11 @@ window.__ModuleLoader__.load({
|
|
|
6
6
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
7
7
|
let _qilin_agent_client_store = require("@qilin-agent/client-store");
|
|
8
8
|
let _qilin_agent_client_ui_slots = require("@qilin-agent/client-ui-slots");
|
|
9
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
9
|
let _qilin_agent_client_ui_primitives = require("@qilin-agent/client-ui-primitives");
|
|
10
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
11
|
let react = require("react");
|
|
12
12
|
//#region \0qilin-css:/home/runner/work/QiLin/QiLin/packages/client/ui-sidebar/src/client/HeaderLeadingControls.module.css.mjs
|
|
13
|
-
const css$1 = ".bVkeZq_controls{display:none}[data-sidebar-collapsed] .bVkeZq_controls{align-items:center;gap:8px;margin-right:8px;padding-left:68px;display:flex}.bVkeZq_iconButton{corner-shape:round;width:28px;height:28px;color:var(--qilin-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.bVkeZq_iconButton:hover{background:var(--qilin-alias-interactive-bg-hover)}.bVkeZq_iconButton svg{width:15px;height:15px}";
|
|
13
|
+
const css$1 = ".bVkeZq_controls{display:none}[data-sidebar-collapsed] .bVkeZq_controls{align-items:center;gap:8px;margin-right:8px;padding-left:68px;display:flex}html[data-platform=darwin] [data-sidebar-collapsed] .bVkeZq_controls{margin-top:4px}.bVkeZq_iconButton{corner-shape:round;width:28px;height:28px;color:var(--qilin-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.bVkeZq_iconButton:hover{background:var(--qilin-alias-interactive-bg-hover)}.bVkeZq_iconButton svg{width:15px;height:15px}";
|
|
14
14
|
const tagId$1 = "@qilin-agent/client-ui-sidebar/HeaderLeadingControls.module.css";
|
|
15
15
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
16
16
|
const tag = document.createElement("style");
|
|
@@ -96,7 +96,7 @@ window.__ModuleLoader__.load({
|
|
|
96
96
|
}
|
|
97
97
|
//#endregion
|
|
98
98
|
//#region \0qilin-css:/home/runner/work/QiLin/QiLin/packages/client/ui-sidebar/src/client/SidebarRoot.module.css.mjs
|
|
99
|
-
const css = "._1HRR8W_root{--qilin-sidebar-inline-padding:12px;height:100%;padding:6px var(--qilin-sidebar-inline-padding);box-sizing:border-box;background:var(--qilin-specific-sidebar-fill);color:var(--qilin-alias-label-primary);--qilin-scrollbar-thumb:var(--qilin-alias-scrollbar-bg-l2);--qilin-scrollbar-thumb-hover:var(--qilin-alias-scrollbar-hover-l2);flex-direction:column;font-size:14px;display:flex}[data-platform=darwin] ._1HRR8W_root{background:0 0}._1HRR8W_root._1HRR8W_collapsed{padding:18px 10px 6px}[data-windows-titlebar] ._1HRR8W_root ._1HRR8W_logoRow{height:40px;margin:0;padding:0}[data-windows-titlebar] ._1HRR8W_toggle{top:calc((var(--qilin-windows-titlebar-height) - 28px) / 2);z-index:30;-webkit-app-region:no-drag;position:fixed;left:12px}[data-windows-titlebar] ._1HRR8W_root._1HRR8W_collapsed ._1HRR8W_logoRow{height:0}[data-windows-titlebar] ._1HRR8W_root:not(._1HRR8W_collapsed) ._1HRR8W_brand{padding-left:4px}[data-windows-titlebar] ._1HRR8W_brandIdentity{transform:translateY(1px)}[data-windows-titlebar] ._1HRR8W_brandMark{transform:translate(1px)}[data-windows-titlebar] ._1HRR8W_brandName{font-weight:400}[data-windows-titlebar] ._1HRR8W_root._1HRR8W_collapsed{padding:0}[data-windows-titlebar] ._1HRR8W_root:not(._1HRR8W_collapsed) ._1HRR8W_newSession{margin-top:8px;margin-left:0}[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_panelList,[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_regionArea,[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_footArea{display:none}html[data-windows-titlebar]:has([data-sidebar-collapsed=true]){--qilin-windows-menu-start:84px}[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_newSession{top:calc((var(--qilin-windows-titlebar-height) - 28px) / 2);z-index:30;-webkit-app-region:no-drag;border:none;margin:0;padding:0;position:fixed;left:48px}[data-windows-titlebar] ._1HRR8W_railIn ._1HRR8W_iconButton,[data-windows-titlebar] ._1HRR8W_railIn ._1HRR8W_newSession{animation:none}[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_toggle,[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_newSession{corner-shape:round;width:28px;height:28px;color:var(--qilin-alias-label-secondary);border-radius:50%}[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_toggle ._1HRR8W_panelIcon{display:inline}._1HRR8W_root._1HRR8W_quietBars{--qilin-scrollbar-thumb:transparent;--qilin-scrollbar-thumb-hover:transparent}._1HRR8W_fading>*{opacity:0;transition:opacity .15s var(--ds-ease-in-out)}._1HRR8W_wide{animation:_1HRR8W_wide-in .2s var(--ds-ease-in-out)}@keyframes _1HRR8W_wide-in{0%{opacity:0}}._1HRR8W_railIn ._1HRR8W_iconButton,._1HRR8W_railIn ._1HRR8W_newSession,._1HRR8W_railIn ._1HRR8W_panelList,._1HRR8W_railIn ._1HRR8W_regionArea{animation:_1HRR8W_rail-in .15s var(--ds-ease-in-out) backwards}._1HRR8W_railIn ._1HRR8W_footArea{animation:_1HRR8W_rail-fade-in .15s var(--ds-ease-in-out) backwards}@keyframes _1HRR8W_rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes _1HRR8W_rail-fade-in{0%{opacity:0}}._1HRR8W_topStrip{box-sizing:border-box;height:52px;margin:-6px calc(-1 * var(--qilin-sidebar-inline-padding)) 0;flex:none;justify-content:flex-end;align-items:center;padding:0 12px;display:flex}._1HRR8W_topStrip+._1HRR8W_logoRow{margin-top:-12px}._1HRR8W_logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:60px;margin-bottom:8px;padding:8px 0 8px 4px;display:flex;overflow:hidden}._1HRR8W_collapsed ._1HRR8W_logoRow{justify-content:flex-start;height:36px;margin-bottom:12px;padding:0}._1HRR8W_brand{min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;padding:0;display:inline-flex;overflow:hidden}._1HRR8W_brandIdentity{align-items:center;gap:8px;min-width:0;height:24px;display:inline-flex}._1HRR8W_brandMark{flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:visible}._1HRR8W_brandName{letter-spacing:.04em;align-items:center;gap:6px;min-width:0;height:24px;font-size:18px;font-weight:600;line-height:24px;display:inline-flex}._1HRR8W_fallbackBrandName{letter-spacing:0;white-space:nowrap;font-size:17px}._1HRR8W_iconButton{corner-shape:round;cursor:pointer;width:28px;height:28px;color:var(--qilin-alias-label-secondary);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}._1HRR8W_iconButton:hover{background:var(--qilin-alias-interactive-bg-hover)}._1HRR8W_collapsed ._1HRR8W_iconButton{border-radius:12px;width:36px;height:36px}._1HRR8W_collapsed ._1HRR8W_toggle ._1HRR8W_panelIcon{display:none}._1HRR8W_collapsed ._1HRR8W_toggle:hover ._1HRR8W_panelIcon{display:inline}._1HRR8W_collapsed ._1HRR8W_toggle:hover ._1HRR8W_railMark{display:none}._1HRR8W_railMark{justify-content:center;align-items:center;display:inline-flex}._1HRR8W_collapsed ._1HRR8W_iconButton{color:var(--qilin-alias-label-primary)}._1HRR8W_buildBadge{border:.5px solid var(--qilin-alias-border-l2);height:16px;color:var(--qilin-alias-label-tertiary);background:var(--qilin-alias-bg-layer-2);font-family:var(--ds-font-family-code);white-space:nowrap;pointer-events:none;border-radius:5px;flex:none;align-self:flex-start;align-items:center;margin-top:1px;padding:0 5px;font-size:10px;font-weight:500;line-height:16px;display:inline-flex}._1HRR8W_newSession{box-sizing:border-box;border:.5px solid var(--qilin-alias-border-l3);background:var(--qilin-alias-button-elevated-fill);height:38px;color:var(--qilin-alias-label-primary);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;margin:0 2px 12px;padding:8px 16px;font-size:14px;font-weight:500;line-height:22px;display:flex;position:relative;overflow:hidden}._1HRR8W_newSession:hover{background:var(--qilin-alias-button-floating-hover)}[data-platform=darwin] ._1HRR8W_newSession{background:color-mix(in srgb, var(--qilin-alias-button-elevated-fill) 75%, transparent)}[data-platform=darwin] ._1HRR8W_newSession:hover{background:color-mix(in srgb, var(--qilin-alias-button-
|
|
99
|
+
const css = "._1HRR8W_root{--qilin-sidebar-inline-padding:12px;height:100%;padding:6px var(--qilin-sidebar-inline-padding);box-sizing:border-box;background:var(--qilin-specific-sidebar-fill);color:var(--qilin-alias-label-primary);--qilin-scrollbar-thumb:var(--qilin-alias-scrollbar-bg-l2);--qilin-scrollbar-thumb-hover:var(--qilin-alias-scrollbar-hover-l2);flex-direction:column;font-size:14px;display:flex}[data-platform=darwin] ._1HRR8W_root{background:0 0}._1HRR8W_root._1HRR8W_collapsed{padding:18px 10px 6px}[data-windows-titlebar] ._1HRR8W_root ._1HRR8W_logoRow{height:40px;margin:0;padding:0}[data-windows-titlebar] ._1HRR8W_toggle{top:calc((var(--qilin-windows-titlebar-height) - 28px) / 2);z-index:30;-webkit-app-region:no-drag;position:fixed;left:12px}[data-windows-titlebar] ._1HRR8W_root._1HRR8W_collapsed ._1HRR8W_logoRow{height:0}[data-windows-titlebar] ._1HRR8W_root:not(._1HRR8W_collapsed) ._1HRR8W_brand{padding-left:4px}[data-windows-titlebar] ._1HRR8W_brandIdentity{transform:translateY(1px)}[data-windows-titlebar] ._1HRR8W_brandMark{transform:translate(1px)}[data-windows-titlebar] ._1HRR8W_brandName{font-weight:400}[data-windows-titlebar] ._1HRR8W_root._1HRR8W_collapsed{padding:0}[data-windows-titlebar] ._1HRR8W_root:not(._1HRR8W_collapsed) ._1HRR8W_newSession{margin-top:8px;margin-left:0}[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_panelList,[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_regionArea,[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_footArea{display:none}html[data-windows-titlebar]:has([data-sidebar-collapsed=true]){--qilin-windows-menu-start:84px}[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_newSession{top:calc((var(--qilin-windows-titlebar-height) - 28px) / 2);z-index:30;-webkit-app-region:no-drag;border:none;margin:0;padding:0;position:fixed;left:48px}[data-windows-titlebar] ._1HRR8W_railIn ._1HRR8W_iconButton,[data-windows-titlebar] ._1HRR8W_railIn ._1HRR8W_newSession{animation:none}[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_toggle,[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_newSession{corner-shape:round;width:28px;height:28px;color:var(--qilin-alias-label-secondary);border-radius:50%}[data-windows-titlebar] ._1HRR8W_collapsed ._1HRR8W_toggle ._1HRR8W_panelIcon{display:inline}._1HRR8W_root._1HRR8W_quietBars{--qilin-scrollbar-thumb:transparent;--qilin-scrollbar-thumb-hover:transparent}._1HRR8W_fading>*{opacity:0;transition:opacity .15s var(--ds-ease-in-out)}._1HRR8W_wide{animation:_1HRR8W_wide-in .2s var(--ds-ease-in-out)}@keyframes _1HRR8W_wide-in{0%{opacity:0}}._1HRR8W_railIn ._1HRR8W_iconButton,._1HRR8W_railIn ._1HRR8W_newSession,._1HRR8W_railIn ._1HRR8W_panelList,._1HRR8W_railIn ._1HRR8W_regionArea{animation:_1HRR8W_rail-in .15s var(--ds-ease-in-out) backwards}._1HRR8W_railIn ._1HRR8W_footArea{animation:_1HRR8W_rail-fade-in .15s var(--ds-ease-in-out) backwards}@keyframes _1HRR8W_rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes _1HRR8W_rail-fade-in{0%{opacity:0}}._1HRR8W_topStrip{box-sizing:border-box;height:52px;margin:-6px calc(-1 * var(--qilin-sidebar-inline-padding)) 0;flex:none;justify-content:flex-end;align-items:center;padding:0 12px;display:flex}._1HRR8W_topStrip+._1HRR8W_logoRow{margin-top:-12px}._1HRR8W_logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:60px;margin-bottom:8px;padding:8px 0 8px 4px;display:flex;overflow:hidden}._1HRR8W_collapsed ._1HRR8W_logoRow{justify-content:flex-start;height:36px;margin-bottom:12px;padding:0}._1HRR8W_brand{min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;padding:0;display:inline-flex;overflow:hidden}._1HRR8W_brandIdentity{align-items:center;gap:8px;min-width:0;height:24px;display:inline-flex}._1HRR8W_brandMark{flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:visible}._1HRR8W_brandName{letter-spacing:.04em;align-items:center;gap:6px;min-width:0;height:24px;font-size:18px;font-weight:600;line-height:24px;display:inline-flex}._1HRR8W_fallbackBrandName{letter-spacing:0;white-space:nowrap;font-size:17px}._1HRR8W_iconButton{corner-shape:round;cursor:pointer;width:28px;height:28px;color:var(--qilin-alias-label-secondary);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}._1HRR8W_iconButton:hover{background:var(--qilin-alias-interactive-bg-hover)}._1HRR8W_collapsed ._1HRR8W_iconButton{border-radius:12px;width:36px;height:36px}._1HRR8W_collapsed ._1HRR8W_toggle ._1HRR8W_panelIcon{display:none}._1HRR8W_collapsed ._1HRR8W_toggle:hover ._1HRR8W_panelIcon{display:inline}._1HRR8W_collapsed ._1HRR8W_toggle:hover ._1HRR8W_railMark{display:none}._1HRR8W_railMark{justify-content:center;align-items:center;display:inline-flex}._1HRR8W_collapsed ._1HRR8W_iconButton{color:var(--qilin-alias-label-primary)}._1HRR8W_buildBadge{border:.5px solid var(--qilin-alias-border-l2);height:16px;color:var(--qilin-alias-label-tertiary);background:var(--qilin-alias-bg-layer-2);font-family:var(--ds-font-family-code);white-space:nowrap;pointer-events:none;border-radius:5px;flex:none;align-self:flex-start;align-items:center;margin-top:1px;padding:0 5px;font-size:10px;font-weight:500;line-height:16px;display:inline-flex}._1HRR8W_newSession{box-sizing:border-box;border:.5px solid var(--qilin-alias-border-l3);background:var(--qilin-alias-button-elevated-fill);height:38px;color:var(--qilin-alias-label-primary);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;margin:0 2px 12px;padding:8px 16px;font-size:14px;font-weight:500;line-height:22px;display:flex;position:relative;overflow:hidden}._1HRR8W_newSession:hover{background:var(--qilin-alias-button-floating-hover)}[data-platform=darwin] ._1HRR8W_newSession{background:color-mix(in srgb, var(--qilin-alias-button-elevated-fill) 75%, transparent)}[data-platform=darwin] ._1HRR8W_newSession:hover{background:color-mix(in srgb, var(--qilin-alias-button-elevated-fill) 75%, transparent)}._1HRR8W_collapsed ._1HRR8W_newSession{background:0 0;border-color:#0000;justify-content:center;align-self:flex-start;gap:0;width:36px;height:36px;margin:0 0 12px;padding:0}._1HRR8W_collapsed ._1HRR8W_newSession:hover{background:var(--qilin-alias-interactive-bg-hover)}._1HRR8W_newSessionLabel{white-space:nowrap;max-width:min(200px,100% - 88px);overflow:hidden}._1HRR8W_collapsed ._1HRR8W_newSessionLabel{max-width:0}._1HRR8W_newSessionShortcut{pointer-events:none;opacity:0;flex:none;font-weight:400;display:inline-flex;position:absolute;right:12px}._1HRR8W_newSession:is(:hover,:focus-visible) ._1HRR8W_newSessionShortcut{opacity:1}._1HRR8W_panelList{flex-direction:column;flex:none;gap:4px;margin-bottom:8px;display:flex}._1HRR8W_panelSection{letter-spacing:.08em;min-height:0;color:var(--qilin-alias-label-tertiary,#7a8b9f);user-select:none;align-items:center;padding:12px 10px 2px;font-size:11px;display:flex}._1HRR8W_sectionCaret{opacity:.55;margin-left:auto;transition:transform .15s;display:inline-flex}._1HRR8W_panelSection[role=button]{cursor:pointer}._1HRR8W_sectionCaretFolded{transform:rotate(-90deg)}._1HRR8W_panelSectionRail{background:var(--qilin-alias-border-l1,#e8eff712);width:100%;height:.5px;display:block}._1HRR8W_panelList>._1HRR8W_panelSection:first-child{padding-top:4px}._1HRR8W_collapsed ._1HRR8W_panelList ._1HRR8W_panelSection{margin:-3px 0;padding:0}._1HRR8W_panelRow{box-sizing:border-box;min-height:36px;color:var(--qilin-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;margin:0 2px;padding:7px 8px;line-height:22px;display:flex}._1HRR8W_panelRow:hover{background:var(--qilin-alias-interactive-bg-hover)}._1HRR8W_panelRow._1HRR8W_panelActive{background:var(--qilin-alias-interactive-bg-hover);color:var(--qilin-alias-label-primary)}._1HRR8W_panelRow:focus-visible{outline:var(--qilin-focus-ring-width) solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-2px}._1HRR8W_panelGlyph{flex:none;justify-content:center;align-items:center;display:inline-flex}._1HRR8W_panelTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._1HRR8W_collapsed ._1HRR8W_panelList{gap:12px;margin-bottom:12px}._1HRR8W_collapsed ._1HRR8W_panelRow{width:36px;height:36px;color:var(--qilin-alias-label-primary);justify-content:center;margin:0;padding:0}._1HRR8W_regionArea{min-height:0;margin-left:-4px;margin-right:calc(-1 * var(--qilin-sidebar-inline-padding));flex-direction:column;flex:1;padding-left:4px;display:flex;overflow:hidden}._1HRR8W_collapsed ._1HRR8W_regionArea{margin-left:0;margin-right:0;padding-left:0}._1HRR8W_footArea{flex-direction:column;flex:none;display:flex}._1HRR8W_settingsArea,._1HRR8W_accountArea,._1HRR8W_footerActions{flex:none;width:100%;min-width:0}._1HRR8W_footerActions{display:flex}._1HRR8W_collapsed ._1HRR8W_footArea{align-items:center}._1HRR8W_collapsed ._1HRR8W_settingsArea,._1HRR8W_collapsed ._1HRR8W_accountArea,._1HRR8W_collapsed ._1HRR8W_footerActions{justify-content:center;width:auto;display:flex}@media (prefers-reduced-motion:reduce){._1HRR8W_wide,._1HRR8W_fading>*,._1HRR8W_railIn ._1HRR8W_iconButton,._1HRR8W_railIn ._1HRR8W_newSession,._1HRR8W_railIn ._1HRR8W_panelList,._1HRR8W_railIn ._1HRR8W_footArea,._1HRR8W_railIn ._1HRR8W_regionArea{transition:none;animation:none}}._1HRR8W_topStripFixed{z-index:40;align-items:center;gap:8px;height:52px;padding:0 8px 0 88px;display:none;position:fixed;top:0;left:0}[data-sidebar-collapsed] ._1HRR8W_topStripFixed{display:flex}[data-sidebar-collapsed]:has([class*=_headerLeading]) ._1HRR8W_topStripFixed{display:none}";
|
|
100
100
|
const tagId = "@qilin-agent/client-ui-sidebar/SidebarRoot.module.css";
|
|
101
101
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
102
102
|
const tag = document.createElement("style");
|
|
@@ -137,9 +137,12 @@ window.__ModuleLoader__.load({
|
|
|
137
137
|
"railMark": "_1HRR8W_railMark",
|
|
138
138
|
"regionArea": "_1HRR8W_regionArea",
|
|
139
139
|
"root": "_1HRR8W_root",
|
|
140
|
+
"sectionCaret": "_1HRR8W_sectionCaret",
|
|
141
|
+
"sectionCaretFolded": "_1HRR8W_sectionCaretFolded",
|
|
140
142
|
"settingsArea": "_1HRR8W_settingsArea",
|
|
141
143
|
"toggle": "_1HRR8W_toggle",
|
|
142
144
|
"topStrip": "_1HRR8W_topStrip",
|
|
145
|
+
"topStripFixed": "_1HRR8W_topStripFixed",
|
|
143
146
|
"wide": "_1HRR8W_wide",
|
|
144
147
|
"wide-in": "_1HRR8W_wide-in"
|
|
145
148
|
};
|
|
@@ -164,6 +167,8 @@ window.__ModuleLoader__.load({
|
|
|
164
167
|
* scrollbar indirection away while it is elsewhere, so a list the user is not
|
|
165
168
|
* pointing at carries no bar.
|
|
166
169
|
*/
|
|
170
|
+
/** Folded sections of the panel list, scoped to the account the document names. */
|
|
171
|
+
const FOLDED_SECTIONS_KEY = "qilin.sidebar.folded-sections.v1";
|
|
167
172
|
/** Wide-content unmount delay; matches the 150ms wide-content fade-out. */
|
|
168
173
|
const COLLAPSE_SETTLE_MS = 150;
|
|
169
174
|
/**
|
|
@@ -178,12 +183,12 @@ window.__ModuleLoader__.load({
|
|
|
178
183
|
* @returns the badge facts, or undefined when the artifact carries no version.
|
|
179
184
|
*/
|
|
180
185
|
function localBuild() {
|
|
181
|
-
const engine = "3.1.
|
|
186
|
+
const engine = "3.1.4";
|
|
182
187
|
const version = {}.QILIN_CLIENT_PRODUCT_VERSION ?? engine;
|
|
183
188
|
if (version === void 0) return void 0;
|
|
184
189
|
return {
|
|
185
190
|
version,
|
|
186
|
-
detail: version + `-
|
|
191
|
+
detail: version + `-e180446` + ({}.QILIN_CLIENT_GIT_DIRTY === "true" ? "-dirty" : "") + (engine === version ? "" : `(引擎 ${engine})`)
|
|
187
192
|
};
|
|
188
193
|
}
|
|
189
194
|
/** Each panel row subscribes only to its own selection state. */
|
|
@@ -274,6 +279,26 @@ window.__ModuleLoader__.load({
|
|
|
274
279
|
}, [pointerInside]);
|
|
275
280
|
const build = localBuild();
|
|
276
281
|
const darwinDesktop = (0, _qilin_agent_client_ui_primitives.isDarwinDesktop)();
|
|
282
|
+
const [foldedSections, setFoldedSections] = (0, react.useState)(() => {
|
|
283
|
+
try {
|
|
284
|
+
const raw = localStorage.getItem((0, _qilin_agent_client_store.accountScopedName)(FOLDED_SECTIONS_KEY));
|
|
285
|
+
const list = raw === null ? [] : JSON.parse(raw);
|
|
286
|
+
return new Set(Array.isArray(list) ? list.filter((row) => typeof row === "string") : []);
|
|
287
|
+
} catch {
|
|
288
|
+
return /* @__PURE__ */ new Set();
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
const toggleSection = (section) => {
|
|
292
|
+
setFoldedSections((previous) => {
|
|
293
|
+
const next = new Set(previous);
|
|
294
|
+
if (next.has(section)) next.delete(section);
|
|
295
|
+
else next.add(section);
|
|
296
|
+
try {
|
|
297
|
+
localStorage.setItem((0, _qilin_agent_client_store.accountScopedName)(FOLDED_SECTIONS_KEY), JSON.stringify([...next]));
|
|
298
|
+
} catch {}
|
|
299
|
+
return next;
|
|
300
|
+
});
|
|
301
|
+
};
|
|
277
302
|
const toggle = (0, react_jsx_runtime.jsx)(_qilin_agent_client_ui_primitives.Tooltip, {
|
|
278
303
|
label: collapsed ? t("toggle.open") : t("toggle.collapse"),
|
|
279
304
|
shortcutKeys: shortcut?.keys,
|
|
@@ -317,6 +342,36 @@ window.__ModuleLoader__.load({
|
|
|
317
342
|
"data-window-drag": true,
|
|
318
343
|
children: toggle
|
|
319
344
|
}),
|
|
345
|
+
darwinDesktop && !wide && (0, react_jsx_runtime.jsxs)("div", {
|
|
346
|
+
className: SidebarRoot_module_css_default.topStripFixed,
|
|
347
|
+
"data-window-drag": true,
|
|
348
|
+
children: [(0, react_jsx_runtime.jsx)(_qilin_agent_client_ui_primitives.Tooltip, {
|
|
349
|
+
label: t("toggle.open"),
|
|
350
|
+
delayMs: 500,
|
|
351
|
+
children: (0, react_jsx_runtime.jsx)("button", {
|
|
352
|
+
type: "button",
|
|
353
|
+
className: SidebarRoot_module_css_default.iconButton,
|
|
354
|
+
"aria-label": t("toggle.open"),
|
|
355
|
+
onClick: () => {
|
|
356
|
+
toggleSidebar();
|
|
357
|
+
},
|
|
358
|
+
children: (0, react_jsx_runtime.jsx)(_qilin_agent_client_ui_primitives.IconPanelLeftOutline16, { size: 16 })
|
|
359
|
+
})
|
|
360
|
+
}), (0, react_jsx_runtime.jsx)(_qilin_agent_client_ui_primitives.Tooltip, {
|
|
361
|
+
label: t("session.new.label"),
|
|
362
|
+
delayMs: 500,
|
|
363
|
+
children: (0, react_jsx_runtime.jsx)("button", {
|
|
364
|
+
type: "button",
|
|
365
|
+
className: SidebarRoot_module_css_default.iconButton,
|
|
366
|
+
"aria-label": t("session.new.label"),
|
|
367
|
+
"aria-keyshortcuts": newShortcut?.aria,
|
|
368
|
+
onClick: () => {
|
|
369
|
+
startSession();
|
|
370
|
+
},
|
|
371
|
+
children: (0, react_jsx_runtime.jsx)(_qilin_agent_client_ui_primitives.IconNewChatOutline16, { size: 16 })
|
|
372
|
+
})
|
|
373
|
+
})]
|
|
374
|
+
}),
|
|
320
375
|
(0, react_jsx_runtime.jsxs)("div", {
|
|
321
376
|
className: SidebarRoot_module_css_default.logoRow,
|
|
322
377
|
children: [wide && (0, react_jsx_runtime.jsx)("button", {
|
|
@@ -347,7 +402,6 @@ window.__ModuleLoader__.load({
|
|
|
347
402
|
})
|
|
348
403
|
}), !darwinDesktop && toggle]
|
|
349
404
|
}),
|
|
350
|
-
wide && renderSlot("sidebar.workbench", { wide }),
|
|
351
405
|
(0, react_jsx_runtime.jsx)(_qilin_agent_client_ui_primitives.Tooltip, {
|
|
352
406
|
label: t("session.new.label"),
|
|
353
407
|
shortcutKeys: newShortcut?.keys,
|
|
@@ -378,18 +432,49 @@ window.__ModuleLoader__.load({
|
|
|
378
432
|
panels.length > 0 && (0, react_jsx_runtime.jsx)("nav", {
|
|
379
433
|
className: SidebarRoot_module_css_default.panelList,
|
|
380
434
|
"aria-label": t("panels.label"),
|
|
381
|
-
children: panels.map(({ id, label, section }, index) =>
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
435
|
+
children: panels.map(({ id, label, section }, index) => {
|
|
436
|
+
const sectionFolded = section !== void 0 && foldedSections.has(section);
|
|
437
|
+
return (0, react_jsx_runtime.jsxs)(react.Fragment, { children: [section !== void 0 && section !== panels[index - 1]?.section ? (0, react_jsx_runtime.jsxs)("div", {
|
|
438
|
+
className: clsx(SidebarRoot_module_css_default.panelSection, wide && SidebarRoot_module_css_default.wide),
|
|
439
|
+
"aria-hidden": !wide,
|
|
440
|
+
...wide ? {
|
|
441
|
+
role: "button",
|
|
442
|
+
tabIndex: 0,
|
|
443
|
+
"aria-expanded": !foldedSections.has(section),
|
|
444
|
+
onClick: () => {
|
|
445
|
+
toggleSection(section);
|
|
446
|
+
},
|
|
447
|
+
onKeyDown: (event) => {
|
|
448
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
449
|
+
event.preventDefault();
|
|
450
|
+
toggleSection(section);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
} : {},
|
|
454
|
+
children: [wide ? section : (0, react_jsx_runtime.jsx)("span", { className: SidebarRoot_module_css_default.panelSectionRail }), wide && (0, react_jsx_runtime.jsx)("span", {
|
|
455
|
+
className: clsx(SidebarRoot_module_css_default.sectionCaret, foldedSections.has(section) && SidebarRoot_module_css_default.sectionCaretFolded),
|
|
456
|
+
"aria-hidden": "true",
|
|
457
|
+
children: (0, react_jsx_runtime.jsx)("svg", {
|
|
458
|
+
width: "10",
|
|
459
|
+
height: "10",
|
|
460
|
+
viewBox: "0 0 16 16",
|
|
461
|
+
fill: "none",
|
|
462
|
+
stroke: "currentColor",
|
|
463
|
+
strokeWidth: "1.6",
|
|
464
|
+
strokeLinecap: "round",
|
|
465
|
+
strokeLinejoin: "round",
|
|
466
|
+
children: (0, react_jsx_runtime.jsx)("path", { d: "M4 6.5 8 10.5 12 6.5" })
|
|
467
|
+
})
|
|
468
|
+
})]
|
|
469
|
+
}) : null, section === void 0 || !sectionFolded ? (0, react_jsx_runtime.jsx)(PanelRow, {
|
|
470
|
+
id,
|
|
471
|
+
label,
|
|
472
|
+
wide,
|
|
473
|
+
usePanelInfo,
|
|
474
|
+
selectPanel,
|
|
475
|
+
renderSlot
|
|
476
|
+
}) : null] }, id);
|
|
477
|
+
})
|
|
393
478
|
}),
|
|
394
479
|
(0, react_jsx_runtime.jsx)("div", {
|
|
395
480
|
className: SidebarRoot_module_css_default.regionArea,
|
|
@@ -464,6 +549,7 @@ window.__ModuleLoader__.load({
|
|
|
464
549
|
}), "ui-sidebar: dictionaries");
|
|
465
550
|
const panels = (0, _qilin_agent_client_store.createSnapshotStore)([]);
|
|
466
551
|
const syncPanels = () => {
|
|
552
|
+
const desktop = (0, _qilin_agent_client_ui_primitives.isDarwinDesktop)();
|
|
467
553
|
const assigned = {};
|
|
468
554
|
for (const entry of ctx.slots.entriesOfSlot("sidebar.section.assignments")) {
|
|
469
555
|
const face = entry.inject?.(void 0);
|
|
@@ -471,7 +557,8 @@ window.__ModuleLoader__.load({
|
|
|
471
557
|
}
|
|
472
558
|
const next = ctx.slots.entriesOfSlot("sidebar.panellist").map(({ options }) => {
|
|
473
559
|
const id = options.id;
|
|
474
|
-
const
|
|
560
|
+
const trailing = desktop && assigned[id] === void 0 && (0, _qilin_agent_client_ui_slots.resolveSlotLabel)(options.section) === void 0 ? "扩展" : void 0;
|
|
561
|
+
const section = assigned[id] ?? (0, _qilin_agent_client_ui_slots.resolveSlotLabel)(options.section) ?? trailing;
|
|
475
562
|
return {
|
|
476
563
|
id,
|
|
477
564
|
order: options.order ?? 0,
|
|
@@ -489,7 +576,7 @@ window.__ModuleLoader__.load({
|
|
|
489
576
|
ctx.effect(() => ctx.slots.subscribe("sidebar.panellist", syncPanels), "ui-sidebar: panel entries");
|
|
490
577
|
ctx.effect(() => ctx.slots.subscribe("sidebar.section.assignments", syncPanels), "ui-sidebar: section assignments");
|
|
491
578
|
ctx.effect(() => ctx.locale.subscribe(syncPanels), "ui-sidebar: panel labels");
|
|
492
|
-
ctx.effect(() =>
|
|
579
|
+
ctx.effect(() => (0, _qilin_agent_client_ui_primitives.watchDarwinDesktop)(syncPanels), "ui-sidebar: darwin mark");
|
|
493
580
|
const injectProps = () => ({
|
|
494
581
|
startSession: (workspaceId) => {
|
|
495
582
|
workspaceNavigation.startSession(workspaceId);
|
|
@@ -521,10 +608,6 @@ window.__ModuleLoader__.load({
|
|
|
521
608
|
kind: "single",
|
|
522
609
|
scope: "root"
|
|
523
610
|
},
|
|
524
|
-
"sidebar.workbench": {
|
|
525
|
-
kind: "single",
|
|
526
|
-
scope: "root"
|
|
527
|
-
},
|
|
528
611
|
"sidebar.panellist": {
|
|
529
612
|
kind: "list",
|
|
530
613
|
scope: "root"
|
|
@@ -557,6 +640,14 @@ window.__ModuleLoader__.load({
|
|
|
557
640
|
locale: NS,
|
|
558
641
|
inject: injectProps
|
|
559
642
|
}, HeaderLeadingControls));
|
|
643
|
+
ctx.slots.inject("sidebar.section.assignments", () => ctx.slots.register({
|
|
644
|
+
name: "sidebar.section.assignments",
|
|
645
|
+
id: "ok-desktop-sections",
|
|
646
|
+
inject: () => (0, _qilin_agent_client_ui_primitives.isDarwinDesktop)() ? { assignments: {
|
|
647
|
+
plugins: "通用",
|
|
648
|
+
schedules: "通用"
|
|
649
|
+
} } : {}
|
|
650
|
+
}, () => null));
|
|
560
651
|
syncPanels();
|
|
561
652
|
}
|
|
562
653
|
//#endregion
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sidebar slot contract: the registrant-side props composition for the
|
|
3
3
|
* layout-owned `sidebar` slot, plus the holes this shell declares. The shell
|
|
4
|
-
* owns column geometry, the brand row,
|
|
4
|
+
* owns column geometry, the brand row, New Session,
|
|
5
5
|
* and global panel rows; everything between the workspace section header and
|
|
6
6
|
* the list bottom is the `sidebar.workspaces` registrant's (ui-workspace), and
|
|
7
7
|
* the foot is the `sidebar.settings` registrant's (ui-settings), followed by
|
|
@@ -48,16 +48,6 @@ declare module '@qilin-agent/client-ui-slots' {
|
|
|
48
48
|
scope: 'root';
|
|
49
49
|
owner: SidebarPanelIconOwnerProps;
|
|
50
50
|
};
|
|
51
|
-
/**
|
|
52
|
-
* The dual-workbench switch between the brand row and New Session.
|
|
53
|
-
* Declared by this package's `sidebar` entry; ui-workspace registers the
|
|
54
|
-
* switch. The shell supplies only the column state.
|
|
55
|
-
*/
|
|
56
|
-
'sidebar.workbench': {
|
|
57
|
-
kind: 'single';
|
|
58
|
-
scope: 'root';
|
|
59
|
-
owner: SidebarWorkbenchOwnerProps;
|
|
60
|
-
};
|
|
61
51
|
/**
|
|
62
52
|
* Deployment-side section assignment for panel rows. Each occupant's
|
|
63
53
|
* inject face contributes a row-id → section-label map applied over the
|
|
@@ -133,14 +123,6 @@ export interface SidebarPanelIconOwnerProps {
|
|
|
133
123
|
/** Whether this panel is selected in the main column. */
|
|
134
124
|
active: boolean;
|
|
135
125
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Owner share of the workbench-switch seat: the column display state the
|
|
138
|
-
* occupant renders against (wide row vs 56px rail).
|
|
139
|
-
*/
|
|
140
|
-
export interface SidebarWorkbenchOwnerProps {
|
|
141
|
-
/** Whether the sidebar renders wide content (false = 56px rail). */
|
|
142
|
-
wide: boolean;
|
|
143
|
-
}
|
|
144
126
|
/** Owner share of a section-assignments seat: row-id → section label. */
|
|
145
127
|
export interface SidebarSectionAssignmentsOwnerProps {
|
|
146
128
|
/** Applied over every panel row; an assignment wins over the row's own section. */
|
|
@@ -214,5 +196,5 @@ export type SidebarRootInjected = {
|
|
|
214
196
|
* render shares, this package's injected callbacks, and the standard locale
|
|
215
197
|
* seat. Panel metadata arrives through an injected observable.
|
|
216
198
|
*/
|
|
217
|
-
export type SidebarRootComponentProps = PropsRuntime<'sidebar'> & PropsRenderSlots<'sidebar.brand.mark' | 'sidebar.brand.name' | 'sidebar.toggle.badge' | 'sidebar.
|
|
199
|
+
export type SidebarRootComponentProps = PropsRuntime<'sidebar'> & PropsRenderSlots<'sidebar.brand.mark' | 'sidebar.brand.name' | 'sidebar.toggle.badge' | 'sidebar.panellist' | 'sidebar.workspaces' | 'sidebar.settings' | 'sidebar.account' | 'sidebar.footer.action'> & InjectFace<SidebarRootInjected> & PropsLocale<'sidebar'>;
|
|
218
200
|
//# sourceMappingURL=slots.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qilin-agent/client-ui-sidebar",
|
|
3
3
|
"description": "Sidebar plugin: session multi-level tree, search, grouping, state dots",
|
|
4
|
-
"version": "3.1.
|
|
4
|
+
"version": "3.1.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -51,18 +51,18 @@
|
|
|
51
51
|
"@types/react": "~18.3.1",
|
|
52
52
|
"clsx": "^2.0.0",
|
|
53
53
|
"react": "^18.2.0",
|
|
54
|
-
"@qilin-agent/api-workspace-controller": "3.1.
|
|
55
|
-
"@qilin-agent/client-locale": "3.1.
|
|
56
|
-
"@qilin-agent/client-shortcuts": "3.1.
|
|
57
|
-
"@qilin-agent/client-
|
|
58
|
-
"@qilin-agent/client-test-runtime": "3.1.
|
|
59
|
-
"@qilin-agent/client-
|
|
60
|
-
"@qilin-agent/client-ui-layout": "3.1.
|
|
61
|
-
"@qilin-agent/client-ui-primitives": "3.1.
|
|
62
|
-
"@qilin-agent/client-ui-renderer": "3.1.
|
|
63
|
-
"@qilin-agent/client-ui-session": "3.1.
|
|
64
|
-
"@qilin-agent/client-ui-slots": "3.1.
|
|
65
|
-
"@qilin-agent/client-ui-workspace": "3.1.
|
|
54
|
+
"@qilin-agent/api-workspace-controller": "3.1.4",
|
|
55
|
+
"@qilin-agent/client-locale": "3.1.4",
|
|
56
|
+
"@qilin-agent/client-shortcuts": "3.1.4",
|
|
57
|
+
"@qilin-agent/client-ui-conversation": "3.1.4",
|
|
58
|
+
"@qilin-agent/client-test-runtime": "3.1.4",
|
|
59
|
+
"@qilin-agent/client-store": "3.1.4",
|
|
60
|
+
"@qilin-agent/client-ui-layout": "3.1.4",
|
|
61
|
+
"@qilin-agent/client-ui-primitives": "3.1.4",
|
|
62
|
+
"@qilin-agent/client-ui-renderer": "3.1.4",
|
|
63
|
+
"@qilin-agent/client-ui-session": "3.1.4",
|
|
64
|
+
"@qilin-agent/client-ui-slots": "3.1.4",
|
|
65
|
+
"@qilin-agent/client-ui-workspace": "3.1.4",
|
|
66
66
|
"@qilin-agent/kylin": "~4.0.3"
|
|
67
67
|
},
|
|
68
68
|
"files": [
|