@shgroup/dsh-serenity-hooks 1.72.0 → 1.74.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/README.md +12 -11
- package/dsh.plugin.json +2 -2
- package/lib/accounts-BHQbakUh.js +33 -0
- package/lib/{ccc-Dkoa2oW3.js → ccc-CyYJL4F2.js} +9 -9
- package/lib/{ccc-roots-jZYR2GVE.js → ccc-roots-B2t_aM8L.js} +5 -5
- package/lib/client.js +165 -58
- package/lib/{wake/cro.d.ts → cro/core.d.ts} +3 -3
- 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 +4 -4
- package/lib/host/effect.d.ts +1 -1
- package/lib/{ilink-DEpmE3yi.js → ilink-BMk2w2KY.js} +1 -1
- package/lib/im/bridge.d.ts +36 -65
- package/lib/im/endpoint.d.ts +3 -3
- package/lib/im/feishu-account.d.ts +92 -0
- package/lib/im/guard.d.ts +1 -1
- package/lib/im/hook.d.ts +1 -1
- package/lib/im/inbound-event.d.ts +162 -0
- package/lib/im/route.d.ts +38 -3
- package/lib/index.d.ts +5 -27
- package/lib/index.js +1089 -1208
- package/lib/kernel/ccc-roots.d.ts +4 -4
- package/lib/kernel/ccc.d.ts +19 -19
- package/lib/kernel/ports.d.ts +3 -5
- package/lib/lib-TxscFKeo.js +119355 -0
- package/lib/{message-source-kVoNK0C5.js → message-source-DCpoRHP3.js} +2 -2
- package/lib/patches/opencode-provider.d.ts +1 -1
- package/lib/{profile-DyMJ_bfr.js → profile-BVt84mbi.js} +68 -65
- package/lib/rolldown-runtime-B4iAMlE-.js +35 -0
- package/lib/{route-f7JlinIt.js → route-COOFLTpU.js} +61 -8
- package/lib/seams/guards.d.ts +14 -14
- package/lib/seams/keeper.d.ts +1 -1
- package/lib/seams/lifecycle.d.ts +2 -2
- package/lib/{settings-lt1i3OZv.js → settings-D8hlqxua.js} +49 -84
- package/lib/skills/resource-index.d.ts +1 -1
- package/lib/surface/faces.d.ts +1 -1
- package/lib/surface/http.d.ts +1 -1
- package/lib/surface/settings.d.ts +7 -13
- package/lib/surface/text.d.ts +72 -0
- package/lib/surface/usage.d.ts +2 -2
- package/lib/tools/config-docs.d.ts +53 -0
- package/lib/tools/container-admin.d.ts +19 -12
- package/lib/tools/msm/service.d.ts +7 -0
- package/lib/tools/trajectory-constraint-admin.d.ts +30 -0
- package/lib/{role/worker/idle.d.ts → trajectory/carrier.d.ts} +12 -2
- package/lib/trajectory/core.d.ts +1 -1
- package/lib/{role/worker → trajectory/delegate}/core.d.ts +7 -1
- package/lib/{role/worker → trajectory/delegate}/preset.d.ts +9 -2
- package/lib/trajectory/policy/profile.d.ts +122 -0
- package/lib/trajectory/policy/rules.d.ts +98 -0
- package/lib/{role/skiff/registry.d.ts → trajectory/policy/window.d.ts} +19 -13
- package/lib/trajectory/prompt.d.ts +12 -12
- package/lib/trajectory/rebuild.d.ts +2 -2
- package/lib/{role/skiff/core.d.ts → trajectory/session.d.ts} +58 -49
- package/package.json +3 -2
- package/lib/role/skiff/config.d.ts +0 -79
- package/lib/role/skiff/debug.d.ts +0 -88
- package/lib/role/skiff/profile.d.ts +0 -115
- package/lib/rolldown-runtime-8H4AJuhK.js +0 -14
- package/lib/tools/skiff-admin.d.ts +0 -30
|
@@ -83,9 +83,9 @@ export interface CccEntry {
|
|
|
83
83
|
/** 目录名(展示用) */
|
|
84
84
|
name: string;
|
|
85
85
|
/**
|
|
86
|
-
* 该 CCC 的
|
|
86
|
+
* 该 CCC 的 轨迹约束 列表(**轨迹编码**;新模型里编码即身份)。
|
|
87
87
|
* ⚠️ **仅 `withRoles: true` 时非空**;缺省 `false` ⇒ 恒为 `[]` 且**不扫
|
|
88
|
-
* `AGENT_SESSIONS/`**(唤醒调度器每 tick 都要枚举,不该为
|
|
88
|
+
* `AGENT_SESSIONS/`**(唤醒调度器每 tick 都要枚举,不该为 轨迹约束 付 IO)。
|
|
89
89
|
*/
|
|
90
90
|
roles: string[];
|
|
91
91
|
}
|
|
@@ -95,7 +95,7 @@ export interface ListCccsOptions {
|
|
|
95
95
|
* 传 `undefined`/`''` 表示没有默认根。
|
|
96
96
|
*/
|
|
97
97
|
defaultRoot?: string;
|
|
98
|
-
/** 是否实时扫各 CCC 的
|
|
98
|
+
/** 是否实时扫各 CCC 的 轨迹约束轨迹(缺省 false)。 */
|
|
99
99
|
withRoles?: boolean;
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
@@ -110,7 +110,7 @@ export interface ListCccsOptions {
|
|
|
110
110
|
* **整个列表都不含后者**("名单不全")。并集修正它,且**不改**任何消费方的输入契约。
|
|
111
111
|
*
|
|
112
112
|
* @param ctx 插件上下文
|
|
113
|
-
* @param opts.defaultRoot 默认根(不在列表 → 置首);opts.withRoles 是否读
|
|
113
|
+
* @param opts.defaultRoot 默认根(不在列表 → 置首);opts.withRoles 是否读 `轨迹约束.roles`
|
|
114
114
|
* @returns 按上述顺序去重的 CCC 条目(无任何来源 → 空数组 + 可选默认根)
|
|
115
115
|
*/
|
|
116
116
|
export declare function listCccs(ctx: unknown, opts?: ListCccsOptions): Promise<CccEntry[]>;
|
package/lib/kernel/ccc.d.ts
CHANGED
|
@@ -87,14 +87,14 @@ interface SerenityConfig {
|
|
|
87
87
|
autoRestoreSession?: boolean;
|
|
88
88
|
};
|
|
89
89
|
/**
|
|
90
|
-
* 🔴
|
|
90
|
+
* 🔴 **`轨迹约束` 段已于 2026-10-19 退役**(owner 重做令)。
|
|
91
91
|
*
|
|
92
|
-
*
|
|
93
|
-
* (约束面住在轨迹目录里)。⇒ 本段**不再被读取**:存量配置里残留的
|
|
94
|
-
* **静默忽略**(schemastery 非 strict,不报错;也不会被误当成"没有
|
|
92
|
+
* 轨迹约束 不再是 `serenity.json` 里的一组角色定义,而是**带 `trajectory-constraint.json` 的认知轨迹**
|
|
93
|
+
* (约束面住在轨迹目录里)。⇒ 本段**不再被读取**:存量配置里残留的 `轨迹约束.roles` ⇒
|
|
94
|
+
* **静默忽略**(schemastery 非 strict,不报错;也不会被误当成"没有 轨迹约束")。
|
|
95
95
|
*
|
|
96
|
-
* 迁移路径 = 把
|
|
97
|
-
* (判据与步骤见 `
|
|
96
|
+
* 迁移路径 = 把 `轨迹约束.roles.<name>` 的内容原样搬进对应轨迹目录的 `trajectory-constraint.json`
|
|
97
|
+
* (判据与步骤见 `trajectory/policy/profile.ts` 头注释与 `docs/trajectory-constraint-redesign.md` §5)。
|
|
98
98
|
*/
|
|
99
99
|
/**
|
|
100
100
|
* 认知轨迹族配置(D58,S142 2026-09-13;2026-10-18 更名 `cognitiveTrajectory`)。
|
|
@@ -109,7 +109,7 @@ interface SerenityConfig {
|
|
|
109
109
|
*/
|
|
110
110
|
cognitiveTrajectory?: {
|
|
111
111
|
/**
|
|
112
|
-
* **CCC 级 skill 供给**(v1.44.0;owner 令 2026-09-20
|
|
112
|
+
* **CCC 级 skill 供给**(v1.44.0;owner 令 2026-09-20:「要求实现我的诉求……轨迹约束也支持」)。
|
|
113
113
|
*
|
|
114
114
|
* 语义:**本 CCC 的每条轨迹都带这些 skill**——声明的 skill 全文在该轨迹**被绑定期间**
|
|
115
115
|
* 动态注入系统提示词(每请求重新求值,不缓存)。与轨迹自己在 `SESSION.md` frontmatter
|
|
@@ -124,7 +124,7 @@ interface SerenityConfig {
|
|
|
124
124
|
* 配置损坏本身已由 `loadSerenityConfig` 响亮告警(不静默)。
|
|
125
125
|
*
|
|
126
126
|
* ⚠️ 与 `create` 的关系:**不触发**——`create` 刻意不夺绑定(U6),注入的门是"存在绑定"。
|
|
127
|
-
* ⚠️ 作用面:**含
|
|
127
|
+
* ⚠️ 作用面:**含 轨迹约束角色会话**(它们同样绑定工作台轨迹)。
|
|
128
128
|
*/
|
|
129
129
|
skills?: string[];
|
|
130
130
|
};
|
|
@@ -223,7 +223,7 @@ export interface ImRouteConfig {
|
|
|
223
223
|
* - 结构/路由/开关在 .opencode/serenity.json(git 管可重建)
|
|
224
224
|
* - **bot_token 凭据在 CCC localstore**(weixin.accounts.<accountId>.token/.baseUrl/.userId)——
|
|
225
225
|
* 扫码登录后插件自动写入(面板只显示"已绑定"),永不进 git 明文面
|
|
226
|
-
* - 路由 user → role:exact 匹配优先,通配 `*` 兜底;role 必须是该 CCC
|
|
226
|
+
* - 路由 user → role:exact 匹配优先,通配 `*` 兜底;role 必须是该 CCC 轨迹约束.roles 之一
|
|
227
227
|
* - 多账号:accounts[] 每项 { accountId, name?, enabled }(本地唯一键,如 wechat-1)
|
|
228
228
|
*
|
|
229
229
|
* 🔴 2026-10-19:**本段已被统一 `im` 段取代**(见上方 `ImSettings`)。此处保留是因为
|
|
@@ -236,7 +236,7 @@ export interface WeixinSettings {
|
|
|
236
236
|
botType?: string;
|
|
237
237
|
/** 账号表(本地键 accountId;凭据在 localstore) */
|
|
238
238
|
accounts?: WeixinAccountConfig[];
|
|
239
|
-
/** 消息路由:微信用户 → 该 CCC 的
|
|
239
|
+
/** 消息路由:微信用户 → 该 CCC 的 轨迹约束 role(不绑定具体 role——用户自选) */
|
|
240
240
|
routes?: WeixinRouteConfig[];
|
|
241
241
|
/**
|
|
242
242
|
* 用户别名表(v1.56.10):`{ "<别名>": "<localstore 凭据键>" }`。
|
|
@@ -298,8 +298,8 @@ export interface WeixinAccountConfig {
|
|
|
298
298
|
* 微信桥路由配置:微信用户 → 该 CCC 的**认知轨迹编码**
|
|
299
299
|
*
|
|
300
300
|
* 🔴 2026-10-19(owner 重做令):「微信桥的路由表修改为 **user → 认知轨迹的映射**」。
|
|
301
|
-
* 旧形态指向
|
|
302
|
-
* (= 目录名固定位置那一段;该轨迹目录里有 `
|
|
301
|
+
* 旧形态指向 `轨迹约束.roles` 里的**角色名**;新形态直接指向**轨迹编码**
|
|
302
|
+
* (= 目录名固定位置那一段;该轨迹目录里有 `trajectory-constraint.json` 时它就是 轨迹约束)。
|
|
303
303
|
*/
|
|
304
304
|
export interface WeixinRouteConfig {
|
|
305
305
|
/** 微信用户标识(from_user_id,形如 userA@im.wechat);`*` = 通配兜底 */
|
|
@@ -314,18 +314,18 @@ export interface WeixinRouteConfig {
|
|
|
314
314
|
role?: string;
|
|
315
315
|
}
|
|
316
316
|
/**
|
|
317
|
-
* 🔴 **`
|
|
317
|
+
* 🔴 **`TrajectoryConstraintConfig` 已于 2026-10-19 退役**(owner 重做令)。
|
|
318
318
|
*
|
|
319
|
-
* 它的语义整体搬进**轨迹目录下的 `
|
|
320
|
-
* `
|
|
319
|
+
* 它的语义整体搬进**轨迹目录下的 `trajectory-constraint.json`**,类型现在是
|
|
320
|
+
* `trajectory/policy/profile.ts` 的 `TrajectoryConstraint`(在那里还多了 `code`/`dirName`/`path`
|
|
321
321
|
* 三个与轨迹身份相关的字段)。
|
|
322
322
|
*
|
|
323
|
-
*
|
|
324
|
-
* 放进 `serenity.json` 会让"这条轨迹是不是
|
|
325
|
-
* 一条判据(「目录下拥有 `
|
|
323
|
+
* 退役理由(一句话):轨迹约束的约束面是**某一条轨迹的属性**,不是容器级配置表里的一个 entry。
|
|
324
|
+
* 放进 `serenity.json` 会让"这条轨迹是不是 轨迹约束"分散在**两个文件**里,而 owner 要的是
|
|
325
|
+
* 一条判据(「目录下拥有 `trajectory-constraint.json` 的认知轨迹自动是一个 轨迹约束」)。
|
|
326
326
|
*
|
|
327
327
|
* ⚠️ 旧字段里 `kind: temporary|persistent` **整件无对应物**:它区分"有没有工作台",
|
|
328
|
-
* 而新模型里
|
|
328
|
+
* 而新模型里 轨迹约束恒等于一条轨迹 ⇒ 恒有 SESSION.md ⇒ 该区分没有指称对象(静默忽略)。
|
|
329
329
|
*/
|
|
330
330
|
/**
|
|
331
331
|
* 解析 cheap-worker 配置。
|
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
|
/** 端口号 */
|
|
@@ -36,7 +36,7 @@ export interface PortSpec {
|
|
|
36
36
|
/**
|
|
37
37
|
* 集中端口表。
|
|
38
38
|
* A=宿主主面(插件不监听)/ B=网关(可配,默认关)/ C=微信发送(默认开,仅 loopback)
|
|
39
|
-
* / D
|
|
39
|
+
* / D=轨迹约束调试(默认关)。
|
|
40
40
|
*/
|
|
41
41
|
export declare const FACE_PORTS: Readonly<Record<FaceId, PortSpec>>;
|
|
42
42
|
/** 宿主主 WebUI 端口(面 A:插件**不监听**,只读取;`readWebPort` 的回退值) */
|
|
@@ -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
|
*
|