@shgroup/dsh-serenity-hooks 1.71.0 → 1.73.0
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/dsh.plugin.json +2 -2
- package/lib/{ccc-Dkoa2oW3.js → ccc-CZUOq3NY.js} +1 -1
- package/lib/{ccc-roots-jZYR2GVE.js → ccc-roots-BhoA7G-0.js} +3 -3
- package/lib/client.js +50 -58
- package/lib/{wake/cro.d.ts → cro/core.d.ts} +2 -2
- package/lib/{wake/cro-guide.d.ts → cro/guide.d.ts} +3 -3
- package/lib/{wake/cro-log.d.ts → cro/log.d.ts} +2 -2
- package/lib/{wake/cro-turns.d.ts → cro/turns.d.ts} +2 -2
- package/lib/guard/seam.d.ts +1 -1
- package/lib/{ilink-DEpmE3yi.js → ilink-BMk2w2KY.js} +1 -1
- package/lib/im/accounts.d.ts +105 -0
- package/lib/im/bridge.d.ts +33 -62
- package/lib/im/endpoint.d.ts +1 -1
- package/lib/im/feishu-account.d.ts +92 -0
- package/lib/im/inbound-event.d.ts +162 -0
- package/lib/im/route.d.ts +37 -2
- package/lib/im/weixin-account.d.ts +45 -0
- package/lib/index.d.ts +0 -22
- package/lib/index.js +1070 -996
- package/lib/kernel/ccc.d.ts +78 -2
- package/lib/kernel/ports.d.ts +2 -4
- package/lib/lib-TxscFKeo.js +119355 -0
- package/lib/{message-source-kVoNK0C5.js → message-source-ChyVfev9.js} +2 -2
- package/lib/{profile-DyMJ_bfr.js → profile-BIQ2widI.js} +14 -11
- package/lib/rolldown-runtime-B4iAMlE-.js +35 -0
- package/lib/{route-CPneN5iv.js → route-ItCgAsnz.js} +96 -35
- package/lib/seams/guards.d.ts +1 -1
- package/lib/seams/system-prompt.d.ts +3 -1
- package/lib/{settings-lt1i3OZv.js → settings-UcwIPJhM.js} +13 -62
- package/lib/skills/resource-index.d.ts +1 -1
- package/lib/surface/settings.d.ts +0 -6
- package/lib/surface/text.d.ts +72 -0
- package/lib/surface/usage.d.ts +2 -2
- package/lib/{role/worker/idle.d.ts → trajectory/carrier.d.ts} +12 -2
- package/lib/{role/worker → trajectory/delegate}/core.d.ts +7 -1
- package/lib/{role/worker → trajectory/delegate}/preset.d.ts +9 -2
- package/lib/{role/skiff → trajectory/policy}/profile.d.ts +9 -2
- package/lib/{role/skiff/config.d.ts → trajectory/policy/rules.d.ts} +9 -3
- package/lib/{role/skiff/registry.d.ts → trajectory/policy/window.d.ts} +7 -1
- package/lib/trajectory/prompt.d.ts +101 -0
- package/lib/{role/skiff/core.d.ts → trajectory/session.d.ts} +13 -4
- package/package.json +3 -2
- package/lib/role/skiff/debug.d.ts +0 -88
- package/lib/rolldown-runtime-8H4AJuhK.js +0 -14
package/lib/kernel/ccc.d.ts
CHANGED
|
@@ -94,7 +94,7 @@ interface SerenityConfig {
|
|
|
94
94
|
* **静默忽略**(schemastery 非 strict,不报错;也不会被误当成"没有 skiff")。
|
|
95
95
|
*
|
|
96
96
|
* 迁移路径 = 把 `skiff.roles.<name>` 的内容原样搬进对应轨迹目录的 `skiff.json`
|
|
97
|
-
* (判据与步骤见 `
|
|
97
|
+
* (判据与步骤见 `trajectory/policy/profile.ts` 头注释与 `docs/skiff-as-trajectory-redesign.md` §5)。
|
|
98
98
|
*/
|
|
99
99
|
/**
|
|
100
100
|
* 认知轨迹族配置(D58,S142 2026-09-13;2026-10-18 更名 `cognitiveTrajectory`)。
|
|
@@ -136,6 +136,12 @@ interface SerenityConfig {
|
|
|
136
136
|
* 未配置或 enabled=false → 该 CCC 桥完全不启动(零资源占用)。
|
|
137
137
|
*/
|
|
138
138
|
weixin?: WeixinSettings;
|
|
139
|
+
/**
|
|
140
|
+
* 🔴 **统一 IM 配置(2026-10-19,owner 定向)**:微信与飞书**只是账号实现不同**,
|
|
141
|
+
* 配置整合到这一段。存在且 `accounts` 是数组 ⇒ 优先于旧 `weixin` 段。
|
|
142
|
+
* 见 `ImSettings` 的注释(含"为什么判据不是'段存在'"的坑)。
|
|
143
|
+
*/
|
|
144
|
+
im?: ImSettings;
|
|
139
145
|
/**
|
|
140
146
|
* 专属工具声明(v1.33,S142 §32.11):**ACC 注册但默认对所有 CCC 隐藏**的工具,
|
|
141
147
|
* 只有在自己这里声明的 CCC 可见(例:`["acc-diag"]` = ACC 负责人的运行态诊断)。
|
|
@@ -145,6 +151,73 @@ interface SerenityConfig {
|
|
|
145
151
|
*/
|
|
146
152
|
exclusiveTools?: string[];
|
|
147
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* 🔴 **统一 IM 配置(2026-10-19 owner 定向:「飞书和微信一样,只不过是 account 方实现不同。
|
|
156
|
+
* 要整合到统一的配置中」)。**
|
|
157
|
+
*
|
|
158
|
+
* ## 为什么是"账号"这一层,不是"通道"这一层
|
|
159
|
+
*
|
|
160
|
+
* 微信与飞书的差别**只在账号侧**:怎么连、怎么收、怎么发。而它们的**身份、路由、会话**
|
|
161
|
+
* 从来就是通道无关的(`routes: user → 轨迹编码`;会话 id 由轨迹编码派生)。
|
|
162
|
+
* ⇒ 抽象点是 `account.channel`(这个字段本来就有,装配处也早写着"等第二个实现"),
|
|
163
|
+
* 不是新造一个平行的"通道接口"。
|
|
164
|
+
*
|
|
165
|
+
* ## 与旧 `weixin` 段的关系(向后兼容是硬要求)
|
|
166
|
+
*
|
|
167
|
+
* - `im` 段**存在且 `accounts` 是数组** ⇒ 用它;
|
|
168
|
+
* - 否则 ⇒ **回退读旧 `weixin` 段**(存量 CCC 零迁移,行为逐字不变)。
|
|
169
|
+
* - 旧段**不删不改**:回滚 = 删掉 `im` 段即可。
|
|
170
|
+
*
|
|
171
|
+
* 🔴 **为什么判据是「`accounts` 是数组」而不是「有没有 im 段」**:
|
|
172
|
+
* 本 CCC 的配置里**曾经**有过一个 `im` 段(退役的 ACP:`{channel:"acp", acp:{…}}`)。
|
|
173
|
+
* 若只判"段存在",那份残留会被当成新配置读 ⇒ **读到一个没有 accounts 的对象** ⇒
|
|
174
|
+
* 表现为"配置没生效"且**不报错**。⇒ 形状判据必须能区分这两种 `im`。
|
|
175
|
+
*/
|
|
176
|
+
export interface ImSettings {
|
|
177
|
+
/** 总开关(缺省 false——未开零资源占用) */
|
|
178
|
+
enabled?: boolean;
|
|
179
|
+
/** 账号表:**每条账号自带 `channel`**(`weixin` / `feishu`),凭据在 localstore */
|
|
180
|
+
accounts?: ImAccountConfig[];
|
|
181
|
+
/** 消息路由:**通道用户 id → 认知轨迹编码**(通道无关;`*` 通配兜底) */
|
|
182
|
+
routes?: ImRouteConfig[];
|
|
183
|
+
/** 用户别名表:`{ "<别名>": "<localstore 凭据键>" }` */
|
|
184
|
+
aliases?: Record<string, string>;
|
|
185
|
+
/** 消息记录 hook(相对 CCC 根的脚本路径) */
|
|
186
|
+
hook?: string;
|
|
187
|
+
/** 桥是否自动回发 agent 的最终文本(缺省 true;微信侧语义见旧注释) */
|
|
188
|
+
autoReplyWithLastMessage?: boolean;
|
|
189
|
+
/** 手动输出模式的兜底(缺省 false = 严格静默) */
|
|
190
|
+
fallbackOnNoSend?: boolean;
|
|
191
|
+
/** iLink 专属:bot_type 取码参数(飞书账号忽略它) */
|
|
192
|
+
botType?: string;
|
|
193
|
+
}
|
|
194
|
+
/** 统一账号配置:**`channel` 决定用哪个实现**;其余字段各实现自查 */
|
|
195
|
+
export interface ImAccountConfig {
|
|
196
|
+
/** 本地唯一键(如 wechat-1 / feishu-1) */
|
|
197
|
+
accountId: string;
|
|
198
|
+
/**
|
|
199
|
+
* 账号实现(缺省 `weixin`——旧配置平移到 `im` 段时不必补这个字段)。
|
|
200
|
+
* 未实现的 channel ⇒ **出声但不静默跳过**(装配处已有该分支)。
|
|
201
|
+
*/
|
|
202
|
+
channel?: string;
|
|
203
|
+
/** 展示名(可选) */
|
|
204
|
+
name?: string;
|
|
205
|
+
/** 该账号开关(缺省 true) */
|
|
206
|
+
enabled?: boolean;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* 统一路由配置:**通道用户 id → 认知轨迹编码**。
|
|
210
|
+
*
|
|
211
|
+
* 与旧 `WeixinRouteConfig` 语义完全相同(那是它的超集形态);保留别名仅为读侧兼容。
|
|
212
|
+
*/
|
|
213
|
+
export interface ImRouteConfig {
|
|
214
|
+
/** 通道用户 id(微信 `xxx@im.wechat` / 飞书 `open_id`);`*` = 通配兜底 */
|
|
215
|
+
user: string;
|
|
216
|
+
/** 目标认知轨迹编码 */
|
|
217
|
+
trajectory: string;
|
|
218
|
+
/** @deprecated 过渡别名(语义等同 `trajectory`) */
|
|
219
|
+
role?: string;
|
|
220
|
+
}
|
|
148
221
|
/**
|
|
149
222
|
* 微信桥配置(CCC 级;S142 用户拍板):
|
|
150
223
|
* - 结构/路由/开关在 .opencode/serenity.json(git 管可重建)
|
|
@@ -152,6 +225,9 @@ interface SerenityConfig {
|
|
|
152
225
|
* 扫码登录后插件自动写入(面板只显示"已绑定"),永不进 git 明文面
|
|
153
226
|
* - 路由 user → role:exact 匹配优先,通配 `*` 兜底;role 必须是该 CCC skiff.roles 之一
|
|
154
227
|
* - 多账号:accounts[] 每项 { accountId, name?, enabled }(本地唯一键,如 wechat-1)
|
|
228
|
+
*
|
|
229
|
+
* 🔴 2026-10-19:**本段已被统一 `im` 段取代**(见上方 `ImSettings`)。此处保留是因为
|
|
230
|
+
* 存量 CCC 的配置里写的就是它——读侧继续认,**不强制迁移**。
|
|
155
231
|
*/
|
|
156
232
|
export interface WeixinSettings {
|
|
157
233
|
/** 总开关(缺省 false——默认关,未开零资源占用) */
|
|
@@ -241,7 +317,7 @@ export interface WeixinRouteConfig {
|
|
|
241
317
|
* 🔴 **`SkiffRoleConfig` 已于 2026-10-19 退役**(owner 重做令)。
|
|
242
318
|
*
|
|
243
319
|
* 它的语义整体搬进**轨迹目录下的 `skiff.json`**,类型现在是
|
|
244
|
-
* `
|
|
320
|
+
* `trajectory/policy/profile.ts` 的 `SkiffProfile`(在那里还多了 `code`/`dirName`/`path`
|
|
245
321
|
* 三个与轨迹身份相关的字段)。
|
|
246
322
|
*
|
|
247
323
|
* 退役理由(一句话):skiff 的约束面是**某一条轨迹的属性**,不是容器级配置表里的一个 entry。
|
package/lib/kernel/ports.d.ts
CHANGED
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
* 本模块是**零依赖叶模块**(纯常量,无 import)——output-guard(守卫词表)、config-ops
|
|
21
21
|
* (默认值)、settings-section(面板默认)、index(Config 默认)都可安全引用而不引入依赖环。
|
|
22
22
|
*/
|
|
23
|
-
/**
|
|
24
|
-
export type FaceId = 'main' | 'gateway' | 'weixinSend'
|
|
23
|
+
/** 面标识(**两个**对外面;A 由宿主监听,B/C 由本插件监听) */
|
|
24
|
+
export type FaceId = 'main' | 'gateway' | 'weixinSend';
|
|
25
25
|
/** 一个面的端口语义 */
|
|
26
26
|
export interface PortSpec {
|
|
27
27
|
/** 端口号 */
|
|
@@ -45,8 +45,6 @@ export declare const MAIN_WEB_PORT: number;
|
|
|
45
45
|
export declare const GATEWAY_PORT: number;
|
|
46
46
|
/** 微信主动发送端口默认值(面 C) */
|
|
47
47
|
export declare const WEIXIN_SEND_PORT: number;
|
|
48
|
-
/** Skiff 调试页端口默认值(面 D) */
|
|
49
|
-
export declare const SKIFF_DEBUG_PORT: number;
|
|
50
48
|
/**
|
|
51
49
|
* **机制端口**词表(output-guard 用:agent 在**用户可见输出**里提及内部端口即打回)。
|
|
52
50
|
*
|