dsh-kingdom 2.0.0 → 3.2.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/ASSETS_NOTICE.md +22 -22
- package/README.md +246 -243
- package/THIRD_PARTY_NOTICES.md +92 -92
- package/docs/DSH-KINGDOM-3.0-ANNOUNCEMENT.md +13 -0
- package/docs/V2.0-RELEASE-NOTES.md +30 -30
- package/docs/V2.0-USER-GUIDE.md +74 -74
- package/docs/V3.0-RELEASE-NOTES.md +21 -0
- package/docs/V3.0-USER-GUIDE.md +33 -0
- package/docs/V3.1-RELEASE-NOTES.md +76 -0
- package/docs/V3.2-RELEASE-NOTES.md +103 -0
- package/lib/core/binding.js +167 -60
- package/lib/core/binding.js.map +1 -1
- package/lib/core/db.js +582 -546
- package/lib/core/db.js.map +1 -1
- package/lib/core/delivery-ack.js +1356 -0
- package/lib/core/delivery-ack.js.map +1 -0
- package/lib/core/delivery-change.js +1237 -0
- package/lib/core/delivery-change.js.map +1 -0
- package/lib/core/owner-binding-intent.js +14 -25
- package/lib/core/owner-binding-intent.js.map +1 -1
- package/lib/core/owner-window.js +698 -23
- package/lib/core/owner-window.js.map +1 -1
- package/lib/core/task-service.js +144 -5
- package/lib/core/task-service.js.map +1 -1
- package/lib/core/territory.js +43 -9
- package/lib/core/territory.js.map +1 -1
- package/lib/gui/assets/characters/chancellor-idle.svg +67 -67
- package/lib/gui/assets/characters/chancellor-sleeping.svg +67 -67
- package/lib/gui/assets/characters/chancellor-thinking.svg +67 -67
- package/lib/gui/assets/characters/chancellor-working.svg +67 -67
- package/lib/gui/assets/characters/knight-redraw-r1-idle.svg +67 -67
- package/lib/gui/assets/characters/knight-redraw-r1-sleeping.svg +67 -67
- package/lib/gui/assets/characters/knight-redraw-r1-thinking.svg +67 -67
- package/lib/gui/assets/characters/knight-redraw-r1-working.svg +67 -67
- package/lib/gui/assets/characters/supervisor-idle.svg +67 -67
- package/lib/gui/assets/characters/supervisor-sleeping.svg +67 -67
- package/lib/gui/assets/characters/supervisor-thinking.svg +67 -67
- package/lib/gui/assets/characters/supervisor-working.svg +67 -67
- package/lib/gui/console-app.js +7 -1
- package/lib/gui/console-app.js.map +1 -1
- package/lib/gui/contract.js +6 -0
- package/lib/gui/contract.js.map +1 -1
- package/lib/gui/control-contract.js +3 -2
- package/lib/gui/control-contract.js.map +1 -1
- package/lib/gui/owner-control.js +114 -4
- package/lib/gui/owner-control.js.map +1 -1
- package/lib/gui/owner-ui.js +645 -183
- package/lib/gui/owner-ui.js.map +1 -1
- package/lib/gui/server.js +109 -109
- package/lib/gui/snapshot.js +127 -4
- package/lib/gui/snapshot.js.map +1 -1
- package/lib/gui/visual-assets.js +37 -21
- package/lib/gui/visual-assets.js.map +1 -1
- package/lib/gui/visual-system.js +269 -269
- package/lib/gui/workbench-ui.js +549 -136
- package/lib/gui/workbench-ui.js.map +1 -1
- package/lib/gui/workbench.js +133 -0
- package/lib/gui/workbench.js.map +1 -1
- package/lib/index.js +392 -40
- package/lib/index.js.map +1 -1
- package/lib/types/core/binding.d.ts +29 -0
- package/lib/types/core/db.d.ts +14 -0
- package/lib/types/core/delivery-ack.d.ts +688 -0
- package/lib/types/core/delivery-change.d.ts +381 -0
- package/lib/types/core/owner-binding-intent.d.ts +9 -1
- package/lib/types/core/owner-window.d.ts +237 -3
- package/lib/types/core/task-service.d.ts +22 -0
- package/lib/types/core/territory.d.ts +18 -3
- package/lib/types/gui/contract.d.ts +162 -1
- package/lib/types/gui/owner-control.d.ts +61 -1
- package/lib/types/gui/snapshot.d.ts +8 -0
- package/lib/types/gui/visual-assets.d.ts +16 -0
- package/lib/types/gui/workbench.d.ts +47 -1
- package/lib/types/index.d.ts +60 -1
- package/lib/types/worker/governed-executor.d.ts +15 -0
- package/lib/worker/governed-executor.js +21 -0
- package/lib/worker/governed-executor.js.map +1 -1
- package/package.json +80 -75
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# dsh-Kingdom 3.2.0 本地候选说明
|
|
2
|
+
|
|
3
|
+
3.2.0 只有两类产品变更:**主管与领地的完全绑定**(任命时必须同时指定领地、一个主管只主理一个
|
|
4
|
+
领地,席位与主理同一事务原子写入;退任时同时解除主理)与**交付区版面修复**(控制区不再抢宽导致
|
|
5
|
+
正文退化成竖排)。没有新增表、没有新增迁移,沿用 schema v4 与既有事件类型。
|
|
6
|
+
|
|
7
|
+
## 验证状态(本轮实际执行过的)
|
|
8
|
+
|
|
9
|
+
| 项 | 结果 |
|
|
10
|
+
|---|---|
|
|
11
|
+
| `npm run typecheck`(`tsc -p tsconfig.json --noEmit`) | 通过,0 错误 |
|
|
12
|
+
| 全量 `node --test tests/*.test.ts` | 594 项:**592 通过 / 0 失败 / 2 跳过**(2 项在 Windows 上跳过:1 项是 `process.platform === 'win32'` 的平台门,1 项是宿主无法创建符号链接时的运行时跳过) |
|
|
13
|
+
| 新增定向用例 `tests/v320-supervisor-territory-binding.test.ts` | 6/6 通过(AC1–AC5 + 事务嵌套) |
|
|
14
|
+
| `scripts/p2-smoke.mjs` | 36/36 通过 |
|
|
15
|
+
| `scripts/p3-smoke.mjs` | 19/19 通过 |
|
|
16
|
+
| `scripts/hotplug-audit.mjs` | 26/26 通过 |
|
|
17
|
+
|
|
18
|
+
**未执行(NOT_RUN)**:发布门 `scripts/release.ps1 -DryRun`(须在干净工作区、冻结提交后运行);
|
|
19
|
+
真实浏览器人工交互验收(含新版表单在四种主题与窄屏下的实际观感);把本版 tgz 装进本机
|
|
20
|
+
profile 后的 DSH `0.1.7-rc.2` 实机加载回归;Linux 平台;收益与成本测量。未运行过的项不得当作
|
|
21
|
+
已通过。本版发布前的独立审查结论与 Owner 验收记录见发布回执(不在包内)。
|
|
22
|
+
|
|
23
|
+
## 1. 主管与领地完全绑定
|
|
24
|
+
|
|
25
|
+
**问题**:此前"任命主管"与"指定它的领地"是两条独立命令。中途放弃第二步,就会留下一个没有
|
|
26
|
+
领地的在任主管:席位显示已任命,GUI 里那块领地却仍显示"没有主管",而治理操作按
|
|
27
|
+
`TERRITORY_SUPERVISOR_MISSING` fail-closed。
|
|
28
|
+
|
|
29
|
+
**现在的规则**(Owner 口径 2026-09-28 + 1:1 裁定 2026-09-29):
|
|
30
|
+
|
|
31
|
+
- **任命主管必须同时给出领地**:`role.bind` 的 `role_type=SUPERVISOR` 需要 `territory_id`;
|
|
32
|
+
缺省即拒绝,不写入任何事实。非主管角色携带 `territory_id` 同样拒绝(不静默忽略)。
|
|
33
|
+
- **同一事务原子写入**:席位与「该领地的主理」一起提交或一起回滚。领地侧被拒时,已经插入的
|
|
34
|
+
席位随事务回滚,**不会**留下"有主管、没领地"的中间态。
|
|
35
|
+
- **不静默替换在任主理**:目标领地已有**在任 ACTIVE** 主理时,改派被拒绝并提示先解除;
|
|
36
|
+
解除(`supervisor_binding_id: null`)后再指派。指向**已退任席位**的历史悬挂引用属于修复,
|
|
37
|
+
可以直接改派(direct Slash 与 Owner GUI 窗口是同一条判据)。
|
|
38
|
+
- **一个主管席位只主理一个领地(1:1)**:席位已隶属其它未删除领地时,指派被拒绝并提示先解除
|
|
39
|
+
原领地的主理。要在领地之间移动一个主管,必须"先解除原领地,再指派到新领地"。
|
|
40
|
+
已被删除(tombstone)的领地不参与治理,其历史指针不锁住席位。
|
|
41
|
+
- **退任联动**:`role.unbind` 退任一个主管时,**同一事务**里解除它在领地上的主理关系并写出一条
|
|
42
|
+
明确的解除事实(`TERRITORY_SUPERVISOR_UPDATED`,`unassigned: true`),不留下指向 RETIRED
|
|
43
|
+
席位的悬挂引用。
|
|
44
|
+
- **存量未隶属席位**:3.2.0 之前建立的、没有领地的在任主管**不会被自动归属**。席位投影会给出
|
|
45
|
+
它实际主理的领地列表,为空时由界面标注「未隶属领地(待处理)」,由 Owner 决定指派或解除。
|
|
46
|
+
这类遗留席位同样受 1:1 约束(已经主理某领地的席位不会被自动改派)。
|
|
47
|
+
|
|
48
|
+
命令与界面:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
/kingdom role.bind {"role_type":"SUPERVISOR","role_name":"主理","territory_id":"<领地 id>","session_id":"<真实 DSH session>"}
|
|
52
|
+
/kingdom role.bind {"role_type":"WORKER","role_name":"执行者"} # 非主管不带 territory_id
|
|
53
|
+
/kingdom territory.supervisor {"territory_id":"...","supervisor_binding_id":null} # 解除该领地主理
|
|
54
|
+
/kingdom role.unbind {"binding_id":"<主管 binding id>","reason":"换届"} # 同时解除其领地主理
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Owner GUI 管理窗口的 `role.bind` 表单在角色为主管时出现**必选**领地下拉(内容来自本次授权范围
|
|
58
|
+
目录),其它角色隐藏该字段;`kingdom_draft_owner_binding_intent` 的自然语言草案对主管改为
|
|
59
|
+
**单步**可执行命令(`role.bind` 自带 `territory_id`),不再是旧的两步。
|
|
60
|
+
|
|
61
|
+
**领地范围判据**:主管任命的目标领地必须**显式**出现在本次管理窗口的授权范围内
|
|
62
|
+
(`catalog.territories` 与提交判定完全一致,不用 `kingdomWide` 放宽)。若要在窗口里给新建的
|
|
63
|
+
领地任命主管,请重新激活一个包含该领地的窗口。
|
|
64
|
+
|
|
65
|
+
**管理窗口现在也能解除主理**:`territory.supervisor` 的 `supervisor_binding_id` 接受**显式 `null`**
|
|
66
|
+
(表单上是"解除现任主理(不指派新主管)"勾选框;省略该字段仍是输入错误,不会被当成解除)。
|
|
67
|
+
因此 1:1 之下"把主理从领地 A 换到领地 B"可以完全在窗口里完成:先在 A 上解除、再到 B 上指派。
|
|
68
|
+
解除同样受未结算执行守卫约束(有在途工作时不允许解除责任),预览会写清"解除后该领地无主理 →
|
|
69
|
+
fail-closed 直到指派新的"。
|
|
70
|
+
|
|
71
|
+
**存量数据的说明**:3.2.0 之前可能留下两类与上面规则不符的存量——① 没有隶属领地的在任主管席位;
|
|
72
|
+
② 一个席位同时挂在多个领地(旧能力允许)。本版**不会自动收敛**它们:① 只作可见标注,② 只约束
|
|
73
|
+
**新的**指派。两者在退任时都会被一并解除(退任联动遍历该席位名下的所有未删除领地)。
|
|
74
|
+
|
|
75
|
+
**事务嵌套**:直接 Slash 的 `ownerWrite` 与 Owner GUI 窗口的 `apply` 各自已经开了一层事务,
|
|
76
|
+
而这条原子通道还要求自己的边界。`KingdomStore.withImmediateTransaction` 因此改为真正的嵌套:
|
|
77
|
+
外层 `BEGIN IMMEDIATE`/`COMMIT`/`ROLLBACK`,内层 `SAVEPOINT`/`RELEASE`/`ROLLBACK TO`。
|
|
78
|
+
只做"加入外层"是不够的——内层把拒绝变成返回文案时,它已写下的行会留在外层事务里被提交。
|
|
79
|
+
`schema`、表结构与事件类型均未改动。
|
|
80
|
+
|
|
81
|
+
**边界**:`bindRole()` 仍是低层原语,本身不承载"主管必须有领地"这条策略;策略在全部 Owner 入口
|
|
82
|
+
(direct Slash、Owner GUI 窗口、GUI 表单)强制执行,并统一由 `bindSupervisorForTerritory` 完成
|
|
83
|
+
原子写入。这样既保证产品层面不存在"有主管、没领地"的创建路径,又不改动只用于构造测试夹具的
|
|
84
|
+
低层调用。Agent Tool(`kingdom_bind_role` 等)依旧是 zero-write。
|
|
85
|
+
|
|
86
|
+
**未结算执行的拦截范围(3.2.0 审计 r1 更正)**:`UNSETTLED_EXECUTION` / `UNSETTLED_LEASE` /
|
|
87
|
+
`UNSETTLED_DISPATCH` 守卫只覆盖 **Owner 管理窗口**这条路径(`guardUnsettled`)。direct Slash 与
|
|
88
|
+
core 的 `role.bind` / `territory.supervisor` **没有**等价守卫——这是 3.1.0 的既有语义,本版没有
|
|
89
|
+
改动它,文档也不得声称"旧主管的未结算执行一定会拦住改派"。需要该守卫时请走 Owner 管理窗口。
|
|
90
|
+
|
|
91
|
+
## 2. 交付区版面修复
|
|
92
|
+
|
|
93
|
+
交付条目的控制区里有一条 `flex: 1 0 100%` 的状态文本,而它在 `grid-template-columns:
|
|
94
|
+
minmax(0, 1fr) auto` 的右列(`auto` = max-content)里。右轨被撑到最宽,左轨被压成 0 宽,
|
|
95
|
+
正文因此退化成每行一两个字、竖排显示。现在改成分行 flex:正文占弹性主列(20rem 起),
|
|
96
|
+
控制区按自身内容窄排,放不下时整体换行。这是纯 CSS 改动,不改变任何数据、事件或判断。
|
|
97
|
+
交付条目里显示的 `UNKNOWN` 是**数据**(v1.0.0 旧格式的弱接受证据),产品按设计不推断。
|
|
98
|
+
|
|
99
|
+
## 不适用范围
|
|
100
|
+
|
|
101
|
+
- 不改 schema,不新增迁移;不改 Owner Control Plane 的授权模型。
|
|
102
|
+
- 不改 `resolveTrustedToolSession`,不改 3.1.0 的 peer 分线声明。
|
|
103
|
+
- 不处理 3.1.0 审计遗留的文档残留(另行处理)。
|
package/lib/core/binding.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* 配合 `authMode: 'session-bound'`,`requireRole` 会按调用方 session 校验。
|
|
18
18
|
*/
|
|
19
19
|
import { randomUUID } from 'node:crypto';
|
|
20
|
+
import { applyTerritorySupervisor } from './territory.js';
|
|
20
21
|
import { requireOwnerControl } from './owner-control.js';
|
|
21
22
|
export const ROLE_TYPES = ['OWNER', 'CHANCELLOR', 'SUPERVISOR', 'WORKER'];
|
|
22
23
|
/**
|
|
@@ -133,41 +134,23 @@ export function requireAdmin(store, kingdomId, auth, operation) {
|
|
|
133
134
|
message: 'OWNER_CONTROL_REQUIRED: 该 Owner-only 写操作只能通过 direct /kingdom Slash 的 Owner Control Plane 执行。',
|
|
134
135
|
};
|
|
135
136
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (!ROLE_TYPES.includes(roleType)) {
|
|
142
|
-
return `错误:role_type 必须是 ${ROLE_TYPES.join(' / ')} 之一。`;
|
|
143
|
-
}
|
|
144
|
-
const roleName = input.roleName?.trim() || `${roleType}-${randomUUID().slice(0, 8)}`;
|
|
145
|
-
const sessionId = input.sessionId?.trim() || null;
|
|
146
|
-
const modelName = input.modelName?.trim() || null;
|
|
147
|
-
const agentName = input.agentName?.trim() || null;
|
|
148
|
-
const sessionMeta = normalizeSessionMeta(input.sessionMeta);
|
|
149
|
-
// Singleton 是 Domain Policy(v0.7.0 M2):OWNER/CHANCELLOR 拒绝第二个 ACTIVE;
|
|
150
|
-
// SUPERVISOR/WORKER 允许多绑定(getBindingsByRole 供派发/scope 使用)。
|
|
151
|
-
const existing = store.getBindingByRole(input.kingdomId, roleType);
|
|
152
|
-
if (existing && SINGLETON_ROLES.includes(roleType)) {
|
|
153
|
-
return `角色 ${roleType} 已有绑定(${existing.role_name},session=${existing.session_id ?? '未绑定 session'}` +
|
|
154
|
-
`${existing.model_name ? `,model=${existing.model_name}` : ''}` +
|
|
155
|
-
`${existing.agent_name ? `,agent=${existing.agent_name}` : ''})。` +
|
|
156
|
-
`(${roleType} 是单席位角色,同一时间只允许一个 ACTIVE 绑定。` +
|
|
157
|
-
`如需更换会话/身份,用 kingdom_bind_session;如需换届,用 kingdom_unbind_role 退任后重绑。)`;
|
|
158
|
-
}
|
|
137
|
+
/**
|
|
138
|
+
* 授权无关的「插入席位 + 写 ROLE_BOUND」。调用方负责鉴权、单席位策略与事务边界。
|
|
139
|
+
* 3.2.0 抽出,供 `bindRole` 与 `bindSupervisorForTerritory`(原子"席位+领地")共用。
|
|
140
|
+
*/
|
|
141
|
+
function insertRoleBindingRecord(store, fields) {
|
|
159
142
|
const now = new Date().toISOString();
|
|
160
143
|
const bindingId = randomUUID();
|
|
161
144
|
store.insertBinding({
|
|
162
145
|
binding_id: bindingId,
|
|
163
|
-
kingdom_id:
|
|
164
|
-
role_type: roleType,
|
|
165
|
-
role_name: roleName,
|
|
146
|
+
kingdom_id: fields.kingdomId,
|
|
147
|
+
role_type: fields.roleType,
|
|
148
|
+
role_name: fields.roleName,
|
|
166
149
|
runtime_type: 'dsh',
|
|
167
|
-
session_id: sessionId,
|
|
168
|
-
model_name: modelName,
|
|
169
|
-
agent_name: agentName,
|
|
170
|
-
session_meta: sessionMeta,
|
|
150
|
+
session_id: fields.sessionId,
|
|
151
|
+
model_name: fields.modelName,
|
|
152
|
+
agent_name: fields.agentName,
|
|
153
|
+
session_meta: fields.sessionMeta,
|
|
171
154
|
execution_profile_json: null,
|
|
172
155
|
status: 'ACTIVE',
|
|
173
156
|
retired_at: null,
|
|
@@ -178,25 +161,63 @@ export function bindRole(store, input, auth) {
|
|
|
178
161
|
});
|
|
179
162
|
store.appendEvent({
|
|
180
163
|
event_id: randomUUID(),
|
|
181
|
-
kingdom_id:
|
|
164
|
+
kingdom_id: fields.kingdomId,
|
|
182
165
|
event_type: 'ROLE_BOUND',
|
|
183
166
|
// v0.5.2 审计修正:actor = 实际操作者(session-bound 下为可信 OWNER);
|
|
184
167
|
// declarative 演示模式无可信 principal,保留被操作角色作兼容标注。
|
|
185
168
|
actor_role: 'OWNER',
|
|
186
|
-
actor_id:
|
|
169
|
+
actor_id: fields.actorId,
|
|
187
170
|
target_type: 'binding',
|
|
188
171
|
target_id: bindingId,
|
|
189
172
|
payload_json: JSON.stringify({
|
|
190
|
-
role_name: roleName,
|
|
191
|
-
role_type: roleType,
|
|
192
|
-
session_id: sessionId,
|
|
193
|
-
model_name: modelName,
|
|
194
|
-
agent_name: agentName,
|
|
195
|
-
session_meta: sessionMeta ? JSON.parse(sessionMeta) : null,
|
|
196
|
-
|
|
173
|
+
role_name: fields.roleName,
|
|
174
|
+
role_type: fields.roleType,
|
|
175
|
+
session_id: fields.sessionId,
|
|
176
|
+
model_name: fields.modelName,
|
|
177
|
+
agent_name: fields.agentName,
|
|
178
|
+
session_meta: fields.sessionMeta ? JSON.parse(fields.sessionMeta) : null,
|
|
179
|
+
session_evidence: fields.sessionEvidence,
|
|
180
|
+
...fields.eventSource,
|
|
197
181
|
}),
|
|
198
182
|
created_at: now,
|
|
199
183
|
});
|
|
184
|
+
return bindingId;
|
|
185
|
+
}
|
|
186
|
+
export function bindRole(store, input, auth) {
|
|
187
|
+
const admin = requireAdmin(store, input.kingdomId, auth, { operation: 'role.bind', input });
|
|
188
|
+
if (!admin.ok)
|
|
189
|
+
return admin.message;
|
|
190
|
+
const roleType = input.roleType.trim().toUpperCase();
|
|
191
|
+
if (!ROLE_TYPES.includes(roleType)) {
|
|
192
|
+
return `错误:role_type 必须是 ${ROLE_TYPES.join(' / ')} 之一。`;
|
|
193
|
+
}
|
|
194
|
+
const roleName = input.roleName?.trim() || `${roleType}-${randomUUID().slice(0, 8)}`;
|
|
195
|
+
const sessionId = input.sessionId?.trim() || null;
|
|
196
|
+
const modelName = input.modelName?.trim() || null;
|
|
197
|
+
const agentName = input.agentName?.trim() || null;
|
|
198
|
+
const sessionMeta = normalizeSessionMeta(input.sessionMeta);
|
|
199
|
+
// Singleton 是 Domain Policy(v0.7.0 M2):OWNER/CHANCELLOR 拒绝第二个 ACTIVE;
|
|
200
|
+
// SUPERVISOR/WORKER 允许多绑定(getBindingsByRole 供派发/scope 使用)。
|
|
201
|
+
const existing = store.getBindingByRole(input.kingdomId, roleType);
|
|
202
|
+
if (existing && SINGLETON_ROLES.includes(roleType)) {
|
|
203
|
+
return `角色 ${roleType} 已有绑定(${existing.role_name},session=${existing.session_id ?? '未绑定 session'}` +
|
|
204
|
+
`${existing.model_name ? `,model=${existing.model_name}` : ''}` +
|
|
205
|
+
`${existing.agent_name ? `,agent=${existing.agent_name}` : ''})。` +
|
|
206
|
+
`(${roleType} 是单席位角色,同一时间只允许一个 ACTIVE 绑定。` +
|
|
207
|
+
`如需更换会话/身份,用 kingdom_bind_session;如需换届,用 kingdom_unbind_role 退任后重绑。)`;
|
|
208
|
+
}
|
|
209
|
+
insertRoleBindingRecord(store, {
|
|
210
|
+
kingdomId: input.kingdomId,
|
|
211
|
+
roleType,
|
|
212
|
+
roleName,
|
|
213
|
+
sessionId,
|
|
214
|
+
modelName,
|
|
215
|
+
agentName,
|
|
216
|
+
sessionMeta,
|
|
217
|
+
sessionEvidence: input.sessionEvidence ?? null,
|
|
218
|
+
actorId: admin.ownerControl ? admin.ownerPrincipalId : admin.owner?.binding_id ?? null,
|
|
219
|
+
eventSource: admin.eventSource,
|
|
220
|
+
});
|
|
200
221
|
const identity = [
|
|
201
222
|
sessionId ? `session=${sessionId}` : null,
|
|
202
223
|
modelName ? `model=${modelName}` : null,
|
|
@@ -204,6 +225,71 @@ export function bindRole(store, input, auth) {
|
|
|
204
225
|
].filter(Boolean).join(',');
|
|
205
226
|
return `已绑定角色 ${roleType}(${roleName}${identity ? `,${identity}` : ',未指定会话身份'})。`;
|
|
206
227
|
}
|
|
228
|
+
/** 事务(子事务)内信号:把「领地侧拒绝」带出内层作用域,从而回滚已插入的席位。 */
|
|
229
|
+
class SupervisorAttachRejected extends Error {
|
|
230
|
+
constructor(message) {
|
|
231
|
+
super(message);
|
|
232
|
+
this.name = 'SupervisorAttachRejected';
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* 3.2.0:**原子**地「建立主管席位 + 设为指定领地的主理」。
|
|
237
|
+
*
|
|
238
|
+
* Owner 口径(2026-09-28 + 2026-09-29 裁定):领地与主管完全绑定,不存在"没有领地的主管",
|
|
239
|
+
* 并且一个主管席位只主理一个领地。
|
|
240
|
+
* 两条事实在同一(子)事务内写入:领地侧不合法 → 内层回滚,绝不留下"席位已建、主理未设"的中间态。
|
|
241
|
+
* 冲突规则(由 `applyTerritorySupervisor` 统一执行):目标领地已有**在任 ACTIVE** 主理 → 拒绝
|
|
242
|
+
* (先解除再指派,不静默覆盖)。新建席位此刻尚未隶属任何领地,因此不会触发 1:1 的反向拒绝。
|
|
243
|
+
*/
|
|
244
|
+
export function bindSupervisorForTerritory(store, input, auth) {
|
|
245
|
+
const admin = requireAdmin(store, input.kingdomId, auth, { operation: 'role.bind', input });
|
|
246
|
+
if (!admin.ok)
|
|
247
|
+
return admin.message;
|
|
248
|
+
const roleType = input.roleType.trim().toUpperCase();
|
|
249
|
+
if (roleType !== 'SUPERVISOR') {
|
|
250
|
+
return `错误:只有 SUPERVISOR 在任命时指定领地(收到 ${roleType || '空'})。`;
|
|
251
|
+
}
|
|
252
|
+
const territoryId = input.territoryId?.trim();
|
|
253
|
+
if (!territoryId) {
|
|
254
|
+
return '错误:任命主管必须同时指定领地(territory_id);主管席位不能没有领地。';
|
|
255
|
+
}
|
|
256
|
+
const roleName = input.roleName?.trim() || `SUPERVISOR-${randomUUID().slice(0, 8)}`;
|
|
257
|
+
const sessionId = input.sessionId?.trim() || null;
|
|
258
|
+
const modelName = input.modelName?.trim() || null;
|
|
259
|
+
const agentName = input.agentName?.trim() || null;
|
|
260
|
+
const sessionMeta = normalizeSessionMeta(input.sessionMeta);
|
|
261
|
+
const actorId = admin.ownerControl ? admin.ownerPrincipalId : admin.owner?.binding_id ?? null;
|
|
262
|
+
try {
|
|
263
|
+
return store.withImmediateTransaction(() => {
|
|
264
|
+
const bindingId = insertRoleBindingRecord(store, {
|
|
265
|
+
kingdomId: input.kingdomId,
|
|
266
|
+
roleType,
|
|
267
|
+
roleName,
|
|
268
|
+
sessionId,
|
|
269
|
+
modelName,
|
|
270
|
+
agentName,
|
|
271
|
+
sessionMeta,
|
|
272
|
+
sessionEvidence: input.sessionEvidence ?? null,
|
|
273
|
+
actorId,
|
|
274
|
+
eventSource: admin.eventSource,
|
|
275
|
+
});
|
|
276
|
+
const attached = applyTerritorySupervisor(store, { kingdomId: input.kingdomId, territoryId, supervisorBindingId: bindingId }, { actorId, eventSource: admin.eventSource });
|
|
277
|
+
if (!attached.startsWith('领地「'))
|
|
278
|
+
throw new SupervisorAttachRejected(attached);
|
|
279
|
+
const identity = [
|
|
280
|
+
sessionId ? `session=${sessionId}` : '未绑定 session',
|
|
281
|
+
modelName ? `model=${modelName}` : null,
|
|
282
|
+
agentName ? `agent=${agentName}` : null,
|
|
283
|
+
].filter(Boolean).join(',');
|
|
284
|
+
return `已任命主管 ${roleName}(${identity}):${attached}`;
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
if (error instanceof SupervisorAttachRejected)
|
|
289
|
+
return error.message;
|
|
290
|
+
throw error;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
207
293
|
/**
|
|
208
294
|
* v0.4:解绑(换届通道);v0.7.0(M2):**tombstone 退任**(不再物理删除)。
|
|
209
295
|
* - OWNER 受保护:王国需要常驻 Owner,退任直接拒绝。
|
|
@@ -230,28 +316,48 @@ export function unbindRole(store, input, auth) {
|
|
|
230
316
|
return `角色 ${binding.role_type}(${binding.role_name})已处于 RETIRED 状态,无需重复退任。`;
|
|
231
317
|
}
|
|
232
318
|
const reason = input.reason?.trim() ?? null;
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
//
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
319
|
+
const actorId = admin.ownerControl ? admin.ownerPrincipalId : admin.owner?.binding_id ?? null;
|
|
320
|
+
// v3.2.0(Owner D1,2026-09-28):退任与「解除该席位的主理关系」必须**同一事务**。
|
|
321
|
+
// 否则会留下「席位已 RETIRED、领地仍指向它」的悬挂责任:后续治理操作一律 fail-closed,
|
|
322
|
+
// 而领地状态自相矛盾。主管席位的领地归属是它的一部分,不能退任后残留。
|
|
323
|
+
return store.withImmediateTransaction(() => {
|
|
324
|
+
// 在写锁内重读归属,避免"读在事务外、潜在已被改绑"的窗口。
|
|
325
|
+
const linked = store.listTerritories(input.kingdomId)
|
|
326
|
+
.filter(territory => territory.status !== 'DELETED' && territory.supervisor_binding_id === binding.binding_id);
|
|
327
|
+
store.retireBinding(binding.binding_id, reason);
|
|
328
|
+
store.appendEvent({
|
|
329
|
+
event_id: randomUUID(),
|
|
330
|
+
kingdom_id: input.kingdomId,
|
|
331
|
+
event_type: 'ROLE_UNBOUND',
|
|
332
|
+
// v0.5.2 审计修正:actor = 实际操作者(OWNER),target = 被退任的绑定。
|
|
333
|
+
actor_role: 'OWNER',
|
|
334
|
+
actor_id: actorId,
|
|
335
|
+
target_type: 'binding',
|
|
336
|
+
target_id: binding.binding_id,
|
|
337
|
+
payload_json: JSON.stringify({
|
|
338
|
+
role_type: binding.role_type,
|
|
339
|
+
role_name: binding.role_name,
|
|
340
|
+
session_id: binding.session_id,
|
|
341
|
+
reason,
|
|
342
|
+
status: 'RETIRED',
|
|
343
|
+
...admin.eventSource,
|
|
344
|
+
}),
|
|
345
|
+
created_at: new Date().toISOString(),
|
|
346
|
+
});
|
|
347
|
+
const released = [];
|
|
348
|
+
for (const territory of linked) {
|
|
349
|
+
const detail = applyTerritorySupervisor(store, { kingdomId: input.kingdomId, territoryId: territory.territory_id, supervisorBindingId: null }, { actorId, eventSource: admin.eventSource });
|
|
350
|
+
// 领地侧拒绝(例如已被并发改成别的 ACTIVE 主理)→ 抛出,整体回滚退任。
|
|
351
|
+
if (!detail.startsWith('领地「'))
|
|
352
|
+
throw new Error(`SUPERVISOR_RELEASE_REJECTED: ${detail}`);
|
|
353
|
+
released.push(territory.name);
|
|
354
|
+
}
|
|
355
|
+
return `角色 ${binding.role_type}(${binding.role_name},session=${binding.session_id ?? '未绑定'})已退任(RETIRED)` +
|
|
356
|
+
`${reason ? `,原因:${reason}` : ''}。历史记录仍可追溯;该角色席位现在空缺,可重新 kingdom_bind_role。` +
|
|
357
|
+
(released.length
|
|
358
|
+
? `已同时解除其领地主理:${released.join('、')}(该领地现无主理,fail-closed 直到指派新的)。`
|
|
359
|
+
: '');
|
|
252
360
|
});
|
|
253
|
-
return `角色 ${binding.role_type}(${binding.role_name},session=${binding.session_id ?? '未绑定'})已退任(RETIRED)` +
|
|
254
|
-
`${reason ? `,原因:${reason}` : ''}。历史记录仍可追溯;该角色席位现在空缺,可重新 kingdom_bind_role。`;
|
|
255
361
|
}
|
|
256
362
|
/**
|
|
257
363
|
* v0.4:把角色绑定到(或改绑到)某个独立会话,并更新身份预留字段。
|
|
@@ -313,6 +419,7 @@ export function rebindSession(store, input, auth) {
|
|
|
313
419
|
model_name: after?.model_name ?? null,
|
|
314
420
|
agent_name: after?.agent_name ?? null,
|
|
315
421
|
session_meta: after?.session_meta ? JSON.parse(after.session_meta) : null,
|
|
422
|
+
session_evidence: input.sessionEvidence ?? null,
|
|
316
423
|
...admin.eventSource,
|
|
317
424
|
}),
|
|
318
425
|
created_at: new Date().toISOString(),
|
package/lib/core/binding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/core/binding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/core/binding.ts"],"names":[],"mappings":"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"}
|