@aipanel/core 1.2.11 → 1.2.12

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.
@@ -108,6 +108,12 @@ export declare const WIDGET_MSG: {
108
108
  readonly MINIMIZE_STATE: "MINIMIZE_STATE_CHANGE";
109
109
  readonly PROMPT_DOCK_VISIBILITY: "PROMPT_DOCK_VISIBILITY_CHANGE";
110
110
  readonly REVIEW_PANEL_TOGGLE: "REVIEW_PANEL_TOGGLE";
111
+ /** 宿主 → iframe:告知侧栏归属期望(mode: "host" | "provider"),Provider 据此决定是否展示自家侧栏 */
112
+ readonly SIDEBAR_MODE: "AIPANEL_SIDEBAR_MODE";
113
+ /** 宿主 → iframe:host 折叠开关驱动 Provider 收起/展开自家侧栏({ collapsed }) */
114
+ readonly SIDEBAR_COLLAPSE: "AIPANEL_SIDEBAR_COLLAPSE";
115
+ /** iframe → 宿主(可选):Provider 内部折叠变化回传({ collapsed }),供宿主同步左上角开关状态 */
116
+ readonly SIDEBAR_STATE: "AIPANEL_SIDEBAR_STATE";
111
117
  /** 无 deepLink 能力的 Provider:通知 iframe 聚焦指定会话 */
112
118
  readonly FOCUS_SESSION: "AIPANEL_FOCUS_SESSION";
113
119
  /** 无 deepLink 能力的 Provider:iframe 确认目标会话已激活且渲染稳定(携带 sessionId) */
@@ -57,6 +57,12 @@ const WIDGET_MSG = {
57
57
  MINIMIZE_STATE: "MINIMIZE_STATE_CHANGE",
58
58
  PROMPT_DOCK_VISIBILITY: "PROMPT_DOCK_VISIBILITY_CHANGE",
59
59
  REVIEW_PANEL_TOGGLE: "REVIEW_PANEL_TOGGLE",
60
+ /** 宿主 → iframe:告知侧栏归属期望(mode: "host" | "provider"),Provider 据此决定是否展示自家侧栏 */
61
+ SIDEBAR_MODE: "AIPANEL_SIDEBAR_MODE",
62
+ /** 宿主 → iframe:host 折叠开关驱动 Provider 收起/展开自家侧栏({ collapsed }) */
63
+ SIDEBAR_COLLAPSE: "AIPANEL_SIDEBAR_COLLAPSE",
64
+ /** iframe → 宿主(可选):Provider 内部折叠变化回传({ collapsed }),供宿主同步左上角开关状态 */
65
+ SIDEBAR_STATE: "AIPANEL_SIDEBAR_STATE",
60
66
  /** 无 deepLink 能力的 Provider:通知 iframe 聚焦指定会话 */
61
67
  FOCUS_SESSION: "AIPANEL_FOCUS_SESSION",
62
68
  /** 无 deepLink 能力的 Provider:iframe 确认目标会话已激活且渲染稳定(携带 sessionId) */
@@ -152,6 +152,30 @@ export interface ProviderCapabilities {
152
152
  * 缺省/false:不支持,客户端隐藏该按钮,避免展示无功能的入口。
153
153
  */
154
154
  reviewPanel?: boolean;
155
+ /**
156
+ * Provider 是否接管会话侧栏(会话列表栏)。
157
+ * 缺省/false:宿主渲染原生会话列表(现状);true:宿主隐藏原生列表,
158
+ * Provider 自家侧栏接管会话导航,折叠开关归属见 ProviderSidebarCapability.collapseControl。
159
+ */
160
+ sidebar?: ProviderSidebarCapability;
161
+ }
162
+ /** Provider 侧栏折叠开关归属(谁提供折叠控制) */
163
+ export type ProviderSidebarCollapseControl = "host" | "provider";
164
+ /** Provider 接管会话侧栏(会话列表栏)的能力描述 */
165
+ export interface ProviderSidebarCapability {
166
+ /**
167
+ * Provider 自身 Web UI 自带会话侧栏并接管(宿主不再渲染原生会话列表)。
168
+ * true:宿主隐藏原生 SessionList,Provider 自家侧栏在 iframe 内渲染并负责会话导航;
169
+ * 缺省/false:宿主渲染原生会话列表(现状),Provider 侧应隐藏自家侧栏避免重复(如 dsh)。
170
+ */
171
+ takeover?: boolean;
172
+ /**
173
+ * 折叠开关归属(仅 takeover=true 时生效):
174
+ * - "host"(缺省):宿主保留左上角开关,切换时向 iframe 发送 SIDEBAR_COLLAPSE,
175
+ * 由 Provider 收起/展开自家侧栏;
176
+ * - "provider":Provider 自带折叠开关,宿主隐藏左上角按钮且不下发折叠消息。
177
+ */
178
+ collapseControl?: ProviderSidebarCollapseControl;
155
179
  }
156
180
  /**
157
181
  * Web Provider 适配器接口
@@ -2,7 +2,7 @@
2
2
  * 通用类型(Provider 无关)
3
3
  * Provider 专属类型已下沉至 @aipanel/provider-opencode。
4
4
  */
5
- import type { SessionPendingKind, SessionStatus } from "./provider";
5
+ import type { ProviderSidebarCollapseControl, SessionPendingKind, SessionStatus } from "./provider";
6
6
  /**
7
7
  * 展示模式类型
8
8
  */
@@ -259,6 +259,14 @@ export interface AIPanelWidgetProps {
259
259
  hideBubble?: boolean;
260
260
  /** 是否支持代码审查面板(右上角 </> 按钮);由 Provider capabilities.reviewPanel 决定 */
261
261
  reviewPanelEnabled?: boolean;
262
+ /** Provider 接管会话侧栏(隐藏原生会话列表,Provider 自家侧栏在 iframe 内渲染);由 Provider capabilities.sidebar.takeover 决定 */
263
+ providerSidebar?: boolean;
264
+ /**
265
+ * 侧栏折叠开关归属(默认 "host"):
266
+ * host:宿主保留左上角开关并驱动折叠;provider:宿主隐藏左上角按钮,由 Provider 自带开关控制。
267
+ * 仅 providerSidebar=true 时生效;由 Provider capabilities.sidebar.collapseControl 决定。
268
+ */
269
+ sidebarCollapseControl?: ProviderSidebarCollapseControl;
262
270
  }
263
271
  /**
264
272
  * 挂件组件事件
@@ -125,6 +125,12 @@ const WIDGET_MSG = {
125
125
  MINIMIZE_STATE: "MINIMIZE_STATE_CHANGE",
126
126
  PROMPT_DOCK_VISIBILITY: "PROMPT_DOCK_VISIBILITY_CHANGE",
127
127
  REVIEW_PANEL_TOGGLE: "REVIEW_PANEL_TOGGLE",
128
+ /** 宿主 → iframe:告知侧栏归属期望(mode: "host" | "provider"),Provider 据此决定是否展示自家侧栏 */
129
+ SIDEBAR_MODE: "AIPANEL_SIDEBAR_MODE",
130
+ /** 宿主 → iframe:host 折叠开关驱动 Provider 收起/展开自家侧栏({ collapsed }) */
131
+ SIDEBAR_COLLAPSE: "AIPANEL_SIDEBAR_COLLAPSE",
132
+ /** iframe → 宿主(可选):Provider 内部折叠变化回传({ collapsed }),供宿主同步左上角开关状态 */
133
+ SIDEBAR_STATE: "AIPANEL_SIDEBAR_STATE",
128
134
  /** 无 deepLink 能力的 Provider:通知 iframe 聚焦指定会话 */
129
135
  FOCUS_SESSION: "AIPANEL_FOCUS_SESSION",
130
136
  /** 无 deepLink 能力的 Provider:iframe 确认目标会话已激活且渲染稳定(携带 sessionId) */
@@ -108,6 +108,12 @@ export declare const WIDGET_MSG: {
108
108
  readonly MINIMIZE_STATE: "MINIMIZE_STATE_CHANGE";
109
109
  readonly PROMPT_DOCK_VISIBILITY: "PROMPT_DOCK_VISIBILITY_CHANGE";
110
110
  readonly REVIEW_PANEL_TOGGLE: "REVIEW_PANEL_TOGGLE";
111
+ /** 宿主 → iframe:告知侧栏归属期望(mode: "host" | "provider"),Provider 据此决定是否展示自家侧栏 */
112
+ readonly SIDEBAR_MODE: "AIPANEL_SIDEBAR_MODE";
113
+ /** 宿主 → iframe:host 折叠开关驱动 Provider 收起/展开自家侧栏({ collapsed }) */
114
+ readonly SIDEBAR_COLLAPSE: "AIPANEL_SIDEBAR_COLLAPSE";
115
+ /** iframe → 宿主(可选):Provider 内部折叠变化回传({ collapsed }),供宿主同步左上角开关状态 */
116
+ readonly SIDEBAR_STATE: "AIPANEL_SIDEBAR_STATE";
111
117
  /** 无 deepLink 能力的 Provider:通知 iframe 聚焦指定会话 */
112
118
  readonly FOCUS_SESSION: "AIPANEL_FOCUS_SESSION";
113
119
  /** 无 deepLink 能力的 Provider:iframe 确认目标会话已激活且渲染稳定(携带 sessionId) */
@@ -152,6 +152,30 @@ export interface ProviderCapabilities {
152
152
  * 缺省/false:不支持,客户端隐藏该按钮,避免展示无功能的入口。
153
153
  */
154
154
  reviewPanel?: boolean;
155
+ /**
156
+ * Provider 是否接管会话侧栏(会话列表栏)。
157
+ * 缺省/false:宿主渲染原生会话列表(现状);true:宿主隐藏原生列表,
158
+ * Provider 自家侧栏接管会话导航,折叠开关归属见 ProviderSidebarCapability.collapseControl。
159
+ */
160
+ sidebar?: ProviderSidebarCapability;
161
+ }
162
+ /** Provider 侧栏折叠开关归属(谁提供折叠控制) */
163
+ export type ProviderSidebarCollapseControl = "host" | "provider";
164
+ /** Provider 接管会话侧栏(会话列表栏)的能力描述 */
165
+ export interface ProviderSidebarCapability {
166
+ /**
167
+ * Provider 自身 Web UI 自带会话侧栏并接管(宿主不再渲染原生会话列表)。
168
+ * true:宿主隐藏原生 SessionList,Provider 自家侧栏在 iframe 内渲染并负责会话导航;
169
+ * 缺省/false:宿主渲染原生会话列表(现状),Provider 侧应隐藏自家侧栏避免重复(如 dsh)。
170
+ */
171
+ takeover?: boolean;
172
+ /**
173
+ * 折叠开关归属(仅 takeover=true 时生效):
174
+ * - "host"(缺省):宿主保留左上角开关,切换时向 iframe 发送 SIDEBAR_COLLAPSE,
175
+ * 由 Provider 收起/展开自家侧栏;
176
+ * - "provider":Provider 自带折叠开关,宿主隐藏左上角按钮且不下发折叠消息。
177
+ */
178
+ collapseControl?: ProviderSidebarCollapseControl;
155
179
  }
156
180
  /**
157
181
  * Web Provider 适配器接口
@@ -2,7 +2,7 @@
2
2
  * 通用类型(Provider 无关)
3
3
  * Provider 专属类型已下沉至 @aipanel/provider-opencode。
4
4
  */
5
- import type { SessionPendingKind, SessionStatus } from "./provider";
5
+ import type { ProviderSidebarCollapseControl, SessionPendingKind, SessionStatus } from "./provider";
6
6
  /**
7
7
  * 展示模式类型
8
8
  */
@@ -259,6 +259,14 @@ export interface AIPanelWidgetProps {
259
259
  hideBubble?: boolean;
260
260
  /** 是否支持代码审查面板(右上角 </> 按钮);由 Provider capabilities.reviewPanel 决定 */
261
261
  reviewPanelEnabled?: boolean;
262
+ /** Provider 接管会话侧栏(隐藏原生会话列表,Provider 自家侧栏在 iframe 内渲染);由 Provider capabilities.sidebar.takeover 决定 */
263
+ providerSidebar?: boolean;
264
+ /**
265
+ * 侧栏折叠开关归属(默认 "host"):
266
+ * host:宿主保留左上角开关并驱动折叠;provider:宿主隐藏左上角按钮,由 Provider 自带开关控制。
267
+ * 仅 providerSidebar=true 时生效;由 Provider capabilities.sidebar.collapseControl 决定。
268
+ */
269
+ sidebarCollapseControl?: ProviderSidebarCollapseControl;
262
270
  }
263
271
  /**
264
272
  * 挂件组件事件
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aipanel/core",
3
- "version": "1.2.11",
3
+ "version": "1.2.12",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "lib/index.cjs",