dsh-kingdom 3.1.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/README.md +7 -5
- package/docs/DSH-KINGDOM-3.0-ANNOUNCEMENT.md +13 -13
- package/docs/V3.0-RELEASE-NOTES.md +21 -21
- package/docs/V3.0-USER-GUIDE.md +33 -33
- package/docs/V3.1-RELEASE-NOTES.md +76 -72
- package/docs/V3.2-RELEASE-NOTES.md +103 -0
- package/lib/core/binding.js +166 -61
- package/lib/core/binding.js.map +1 -1
- package/lib/core/db.js +36 -0
- package/lib/core/db.js.map +1 -1
- 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 +106 -12
- package/lib/core/owner-window.js.map +1 -1
- package/lib/core/territory.js +43 -9
- package/lib/core/territory.js.map +1 -1
- 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-ui.js +43 -2
- package/lib/gui/owner-ui.js.map +1 -1
- package/lib/gui/workbench-ui.js +15 -3
- package/lib/gui/workbench-ui.js.map +1 -1
- package/lib/gui/workbench.js +10 -0
- package/lib/gui/workbench.js.map +1 -1
- package/lib/index.js +55 -15
- package/lib/index.js.map +1 -1
- package/lib/types/core/binding.d.ts +14 -0
- package/lib/types/core/db.d.ts +14 -0
- package/lib/types/core/owner-binding-intent.d.ts +9 -1
- package/lib/types/core/owner-window.d.ts +2 -1
- package/lib/types/core/territory.d.ts +18 -3
- package/lib/types/gui/contract.d.ts +9 -0
- package/lib/types/index.d.ts +11 -1
- package/package.json +2 -1
package/lib/gui/owner-ui.js
CHANGED
|
@@ -175,6 +175,9 @@ const OWNER_APP_HTML = String.raw `<!doctype html>
|
|
|
175
175
|
const title = make('label', label); title.htmlFor = input.id; box.append(title, input); el('fields').append(box); return input;
|
|
176
176
|
}
|
|
177
177
|
function allowedBindings(filter) { return (state.control.catalog?.bindings || []).filter(filter || (() => true)).map(item => ({id:item.id,label:(roleNames[item.roleType] || item.roleType) + ' · ' + item.roleName + ' · ' + item.id})); }
|
|
178
|
+
// v3.2.0:解除领地主理用的勾选框。它刻意不带 name(不进入通用字段收集),
|
|
179
|
+
// 只由 payload() 显式转成 supervisor_binding_id: null。
|
|
180
|
+
const releaseSupervisorChecked = () => { const box = el('fields').querySelector('[data-release-supervisor]'); return !!box && box.checked; };
|
|
178
181
|
function ceilingRow() {
|
|
179
182
|
const row = make('div', undefined, 'ceiling-row');
|
|
180
183
|
const box = make('label', '能力名称', 'field'); const input = make('input'); input.required = true; input.maxLength = 200; input.setAttribute('aria-label', '能力名称'); box.append(input);
|
|
@@ -189,10 +192,42 @@ const OWNER_APP_HTML = String.raw `<!doctype html>
|
|
|
189
192
|
if (action === 'init') { field('kingdom_name','王国名称'); field('owner_name','所有者显示名'); }
|
|
190
193
|
if (action === 'territory.create') { field('name','领地名称'); field('workspace_path','已存在的工作目录'); field('summary','领地说明','textarea',undefined,false); const roots = make('p','允许的根目录:' + (catalog.workspaceRoots || []).join(';'),'muted'); roots.classList.add('wide'); el('fields').append(roots); }
|
|
191
194
|
if (action === 'territory.update') { field('territory_id','领地','select',territories); field('name','新名称(不改请留空)','text',undefined,false); field('summary','新说明(不改请留空)','textarea',undefined,false); }
|
|
192
|
-
if (action === 'territory.supervisor') {
|
|
195
|
+
if (action === 'territory.supervisor') {
|
|
196
|
+
field('territory_id','领地','select',territories);
|
|
197
|
+
const supervisor = field('supervisor_binding_id','主管','select',allowedBindings(item=>item.roleType==='SUPERVISOR'));
|
|
198
|
+
// v3.2.0:管理窗口此前无法表达“解除”,而 1:1 之下“换领地”必须先解除。
|
|
199
|
+
const releaseBox = make('label', undefined, 'field wide');
|
|
200
|
+
const release = make('input'); release.type='checkbox'; release.id='param-release-supervisor'; release.dataset.releaseSupervisor='true';
|
|
201
|
+
const releaseText = make('span','解除现任主理(不指派新主管)'); releaseBox.append(release, releaseText); el('fields').append(releaseBox);
|
|
202
|
+
const releaseHint = make('p','解除后该领地无主理:任何 Supervisor 都不能治理它(fail-closed),直到指派新的。1:1 之下“把主理换到另一个领地”就是“先在这里解除、再去那边指派”。','muted');
|
|
203
|
+
releaseHint.classList.add('wide'); el('fields').append(releaseHint);
|
|
204
|
+
const supervisorChoices = allowedBindings(item=>item.roleType==='SUPERVISOR');
|
|
205
|
+
const update = () => {
|
|
206
|
+
const releasing = release.checked;
|
|
207
|
+
supervisor.required = !releasing; supervisor.disabled = releasing; supervisor.parentElement.hidden = releasing;
|
|
208
|
+
releaseHint.hidden = false;
|
|
209
|
+
el('prepare').disabled = !releasing && !supervisorChoices.length;
|
|
210
|
+
};
|
|
211
|
+
release.addEventListener('change', update); update();
|
|
212
|
+
}
|
|
193
213
|
if (action === 'role.bind') {
|
|
194
214
|
const role = field('role_type','角色','select',(state.control.decision.scope.roleTypes || []).map(id=>({id,label:roleNames[id]}))); field('role_name','角色名称');
|
|
195
|
-
const session = field('session_id','运行会话','select',sessions);
|
|
215
|
+
const session = field('session_id','运行会话','select',sessions);
|
|
216
|
+
// v3.2.0:主管必须同时隶属一个领地(席位与主理同一事务写入),因此这里强制选择领地;
|
|
217
|
+
// 其它角色不隶属领地,字段隐藏并禁用,不进入 payload。
|
|
218
|
+
const territory = field('territory_id','主理领地(主管必选)','select',territories);
|
|
219
|
+
const territoryHint = make('p', territories.length
|
|
220
|
+
? '领地和主管完全绑定:任命主管时会同时把该领地的主理设为此席位;领地当前已有主理时会被拒绝,请先解除现有主理再指派。'
|
|
221
|
+
: '本次授权范围内没有任何可用领地:无法任命主管。请先创建领地,或重新激活本包含目标领地的管理窗口。','muted');
|
|
222
|
+
territoryHint.classList.add('wide'); el('fields').append(territoryHint);
|
|
223
|
+
const update = () => {
|
|
224
|
+
const needed = role.value !== 'WORKER'; session.required = needed; session.disabled = !needed; session.parentElement.hidden = !needed;
|
|
225
|
+
const supervisor = role.value === 'SUPERVISOR';
|
|
226
|
+
territory.required = supervisor; territory.disabled = !supervisor; territory.parentElement.hidden = !supervisor;
|
|
227
|
+
territoryHint.hidden = !supervisor;
|
|
228
|
+
el('prepare').disabled = supervisor && !territories.length;
|
|
229
|
+
};
|
|
230
|
+
role.addEventListener('change',update); update();
|
|
196
231
|
}
|
|
197
232
|
if (action === 'role.session') { field('binding_id','要调整的角色','select',allowedBindings(item=>['CHANCELLOR','SUPERVISOR'].includes(item.roleType))); field('session_id','新的运行会话','select',sessions); }
|
|
198
233
|
if (action === 'execution-profile') {
|
|
@@ -305,6 +340,12 @@ const OWNER_APP_HTML = String.raw `<!doctype html>
|
|
|
305
340
|
function payload() {
|
|
306
341
|
const action=el('action').value; const parameters={};
|
|
307
342
|
for (const field of el('fields').querySelectorAll('[name]')) if (!field.disabled && field.value.trim() !== '') parameters[field.name]=field.value.trim();
|
|
343
|
+
// v3.2.0:解除现任主理必须**显式**发送 JSON null。空 select 会被上面的收集逻辑跳过,
|
|
344
|
+
// 无法表达“解除”,因此这里读专用勾选框(它不参与 [name] 收集,避免向服务端多送字段)。
|
|
345
|
+
if (action==='territory.supervisor' && releaseSupervisorChecked()) {
|
|
346
|
+
if (!parameters.territory_id) throw new Error('请选择要解除主理的领地。');
|
|
347
|
+
return {action,parameters:{territory_id:parameters.territory_id,supervisor_binding_id:null}};
|
|
348
|
+
}
|
|
308
349
|
if (action==='execution-profile') { const binding_id=parameters.binding_id; if (!parameters.model) throw new Error('请填写明确的模型名称。'); const profile={...(parameters.provider?{provider:parameters.provider}:{}),model:parameters.model}; return {action,parameters:{binding_id,profile}}; }
|
|
309
350
|
if (action==='ceiling') { const ceiling=Object.create(null); for (const row of el('ceiling-rows').children) { const name=row.querySelector('input').value.trim(); if (!name || Object.hasOwn(ceiling,name)) throw new Error('能力名称不能为空或重复。'); ceiling[name]=row.querySelector('select').value==='true'; } if (!Object.keys(ceiling).length) throw new Error('请至少配置一项能力。'); return {action,parameters:{ceiling}}; }
|
|
310
351
|
if (action==='budget.policy') { const numeric={}; for (const key of ['limit_tokens','reserve_tokens','warning_percent']) { const value=Number(parameters[key]); if (!Number.isSafeInteger(value) || value<1 || key==='warning_percent' && value>100) throw new Error('预算额度、预留和阈值必须是范围内的正整数。'); numeric[key]=value; } if (numeric.reserve_tokens>numeric.limit_tokens) throw new Error('每次预留不能超过周期额度。'); return {action,parameters:{enabled:parameters.enabled==='true',...numeric,unknown_policy:parameters.unknown_policy}}; }
|
package/lib/gui/owner-ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner-ui.js","sourceRoot":"","sources":["../../src/gui/owner-ui.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IACxF,OAAO,cAAc,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"owner-ui.js","sourceRoot":"","sources":["../../src/gui/owner-ui.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IACxF,OAAO,cAAc,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqoBT,CAAA"}
|
package/lib/gui/workbench-ui.js
CHANGED
|
@@ -70,11 +70,16 @@ export const WORKBENCH_CSS = String.raw `
|
|
|
70
70
|
.delivery-layer > h4 { font-size: 14px; margin: 0; color: var(--muted); font-weight: 600; letter-spacing: .04em; }
|
|
71
71
|
.delivery-module { display: grid; gap: 6px; padding: 8px 0 8px 12px; border-left: 2px solid var(--line); min-width: 0; }
|
|
72
72
|
.delivery-module > h5 { font-size: 14px; margin: 0; }
|
|
73
|
-
.
|
|
74
|
-
|
|
73
|
+
/* v3.2.0 版面修复:此前是 grid-template-columns: minmax(0,1fr) auto。
|
|
74
|
+
右列 auto = max-content,而控制区里有一条 flex: 1 0 100% 的状态文本,
|
|
75
|
+
它把右轨撑到最宽,左轨被压成 0 宽——正文因此退化成每行一两个字、竖排的"任/务/要/求"。
|
|
76
|
+
改成分行 flex:正文占弹性主列(20rem 起),控制区按自身内容窄排,
|
|
77
|
+
放不下时整体换行,而不是继续抢宽。 */
|
|
78
|
+
.delivery-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; min-width: 0; }
|
|
79
|
+
.delivery-row-body { flex: 1 1 20rem; display: grid; gap: 5px; min-width: 0; }
|
|
75
80
|
.delivery-row-body p { margin: 0; }
|
|
76
81
|
.delivery-row-label { font-weight: 600; }
|
|
77
|
-
.delivery-controls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
|
|
82
|
+
.delivery-controls { flex: 0 1 auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; min-width: 0; max-width: 100%; }
|
|
78
83
|
/* 图标按钮的就地操作提示:一个包装层 + 一条提示节点。
|
|
79
84
|
可用按钮的操作说明在 hover 或键盘 focus 时就地弹出,不挤动按钮行;禁用原因常驻可见,
|
|
80
85
|
因为键盘用户必须能读到“为什么不可用”,而不是只看到 title。 */
|
|
@@ -725,6 +730,13 @@ export const WORKBENCH_SCRIPT = String.raw `
|
|
|
725
730
|
append(parent, 'h3', role.roleName); const kind = role.roleType; append(parent, 'p', ({ CHANCELLOR: '职责:统筹目标、规划任务,并交给所属领地。', SUPERVISOR: '职责:在所属领地分派任务、核对执行并审查呈报。', WORKER: '职责:在授权范围执行任务,提交产物与风险说明。' })[kind] || '职责以宿主组织绑定为准。');
|
|
726
731
|
addParagraph(parent, '会话', role.sessionBound ? '已绑定' : '尚未绑定', '尚未确认');
|
|
727
732
|
const rolesProjection = record(workbenchData(snapshot).roles); const projected = queueItems(rolesProjection).find(item => item.bindingId === state.selectedRoleId || typedEntityId(item.bindingRef, 'binding') === state.selectedRoleId);
|
|
733
|
+
// v3.2.0:主管必须隶属领地;未隶属的遗留席位在此显式标注为待处理,不推断归属。
|
|
734
|
+
if (kind === 'SUPERVISOR') {
|
|
735
|
+
const seatTerritories = projected && Array.isArray(projected.territories) ? projected.territories : [];
|
|
736
|
+
addParagraph(parent, '隶属领地', seatTerritories.length
|
|
737
|
+
? seatTerritories.map(item => text(item.name) + '(' + text(item.territoryId) + ')').join('、')
|
|
738
|
+
: '未隶属领地(待处理)', '尚未确认');
|
|
739
|
+
}
|
|
728
740
|
const tasks = projected && Array.isArray(projected.taskIds) ? taskItems().filter(task => projected.taskIds.includes(task.taskId)) : taskItems().filter(task => kind === 'WORKER' ? task.assignedBindingId === state.selectedRoleId : kind === 'SUPERVISOR' ? task.territoryId === typedEntityId(role.territoryRef, 'territory') : false);
|
|
729
741
|
append(parent, 'h4', '职责范围内的任务'); if (!tasks.length) addEmpty(parent, '当前没有已投影的关联任务。'); tasks.forEach(task => { const row = document.createElement('article'); row.className = 'workbench-item'; addTaskLink(row, task.taskId, task.title, 'role-task:' + task.taskId); append(row, 'p', executionExplanation(task)); parent.append(row); });
|
|
730
742
|
if (projected) { addDataRow(parent, '进行中执行', projected.activeExecutionCount); addDataRow(parent, '待主管复核', projected.reviewTaskCount); addDataRow(parent, '恢复核对中', projected.recoveringTaskCount); if (projected.taskIdsTruncated) addEmpty(parent, '关联任务已截断:显示 ' + projected.taskIds.length + ' / ' + projected.taskCount + ' 项。'); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-ui.js","sourceRoot":"","sources":["../../src/gui/workbench-ui.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"workbench-ui.js","sourceRoot":"","sources":["../../src/gui/workbench-ui.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJtC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BvC,CAAC;AAEF,yFAAyF;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAilBzC,CAAC"}
|
package/lib/gui/workbench.js
CHANGED
|
@@ -140,6 +140,10 @@ export function buildPersonalWorkbench(input) {
|
|
|
140
140
|
ownerConfiguration('TERRITORY_SUPERVISOR_CONFIGURATION_REQUIRED', `为「${territory.name}」指定主管`, '领地没有有效的在任主管。需要用户作任命决定;这不是任务的人类验收请求。', territory.territoryId);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
+
// v3.2.0:领地与主管完全绑定。3.2.0 之前建立的、没有隶属领地的遗留主管席位不会被自动归属,
|
|
144
|
+
// 其可见性由**席位投影**(roles[].territories 为空 → 界面标注「未隶属领地(待处理)」)承担;
|
|
145
|
+
// 这里刻意不为每个遗留席位生成 Owner 待办:那样待办数量会随遗留席位线性膨胀,
|
|
146
|
+
// 而真正可执行的任命入口是领地侧的「为某领地指定主管」。
|
|
143
147
|
}
|
|
144
148
|
const orderedTasks = [...input.tasks].sort((left, right) => right.task.updatedAt.localeCompare(left.task.updatedAt) || left.task.taskId.localeCompare(right.task.taskId));
|
|
145
149
|
const recoveringTaskIds = new Set();
|
|
@@ -239,7 +243,13 @@ export function buildPersonalWorkbench(input) {
|
|
|
239
243
|
const taskIds = new Set(taskItems.map(({ task }) => task.taskId));
|
|
240
244
|
const roleExecutions = input.executions.filter(execution => live(execution.state)
|
|
241
245
|
&& (binding.roleType === 'WORKER' ? execution.workerBindingId === binding.bindingId : taskIds.has(execution.taskId)));
|
|
246
|
+
// v3.2.0:主管席位的领地归属直接来自领地投影(同一份事实);空列表 = 未隶属领地。
|
|
247
|
+
const seatTerritories = binding.roleType === 'SUPERVISOR'
|
|
248
|
+
? input.territories.filter(territory => territory.status === 'ACTIVE' && territory.supervisorBindingId === binding.bindingId)
|
|
249
|
+
.map(territory => ({ territoryId: territory.territoryId, name: territory.name }))
|
|
250
|
+
: [];
|
|
242
251
|
return { bindingId: binding.bindingId, roleType: binding.roleType, roleName: binding.roleName, sessionBound: binding.sessionBound,
|
|
252
|
+
territories: seatTerritories,
|
|
243
253
|
taskCount: taskItems.length, taskIds: [...taskIds].slice(0, WORKBENCH_ITEM_LIMIT), taskIdsTruncated: taskIds.size > WORKBENCH_ITEM_LIMIT,
|
|
244
254
|
activeExecutionCount: roleExecutions.length, reviewTaskCount: taskItems.filter(({ task }) => task.status === 'REVIEW').length,
|
|
245
255
|
recoveringTaskCount: taskItems.filter(({ task }) => recoveringTaskIds.has(task.taskId)).length,
|
package/lib/gui/workbench.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench.js","sourceRoot":"","sources":["../../src/gui/workbench.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workbench.js","sourceRoot":"","sources":["../../src/gui/workbench.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import { observeDshDispatchUsage } from './adapter/dsh-usage.js';
|
|
|
14
14
|
import { ToolDisclosureRuntime, DISCOVERY_TOOL_NAME } from './capability/tool-disclosure.js';
|
|
15
15
|
import { installRuntimeCostObservers } from './runtime-cost-observer.js';
|
|
16
16
|
import { setCapabilityCeiling } from './capability/admin.js';
|
|
17
|
-
import { bindRole, listBindings, parseExecutionProfile, rebindSession, resolveBinding, setExecutionProfile, unbindRole, } from './core/binding.js';
|
|
17
|
+
import { bindRole, bindSupervisorForTerritory, listBindings, parseExecutionProfile, rebindSession, resolveBinding, setExecutionProfile, unbindRole, } from './core/binding.js';
|
|
18
18
|
import { createRunnerContextPort } from './core/governed.js';
|
|
19
19
|
import { forgetRunnerContextPort, getRunnerContextPort, revokeRunnerContextBrokerContext, } from './runner-context-broker.js';
|
|
20
20
|
import { asExecutionState, isTerminalExecutionState } from './core/execution.js';
|
|
@@ -295,16 +295,32 @@ export function ensureGuiSetupTerritory(store, input, auth) {
|
|
|
295
295
|
throw new Error('错误:setup.basic 创建后找不到 Territory。');
|
|
296
296
|
return created;
|
|
297
297
|
}
|
|
298
|
-
/**
|
|
298
|
+
/**
|
|
299
|
+
* Ensure setup role identity without ever binding a Worker to the activator.
|
|
300
|
+
*
|
|
301
|
+
* v3.2.0:主管席位必须隶属一个领地,因此这里的 SUPERVISOR 分支走**原子通道**
|
|
302
|
+
* (`bindSupervisorForTerritory`:建席位 + 设主理同一事务),并要求显式 `territoryId`。
|
|
303
|
+
* 缺少领地时由该通道给出明确拒绝,不会先建出一个没有领地的主管席位。
|
|
304
|
+
* 本助手当前只有测试调用(产品入口是 direct Slash / Owner 管理窗口),但它是包的公开导出,
|
|
305
|
+
* 所以同样不放宽不变量。
|
|
306
|
+
*/
|
|
299
307
|
export function ensureGuiSetupBinding(store, input, auth) {
|
|
300
308
|
const existing = store.getBindingByRole(input.kingdomId, input.roleType);
|
|
301
309
|
if (!existing) {
|
|
302
|
-
const result =
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
310
|
+
const result = input.roleType === 'SUPERVISOR'
|
|
311
|
+
? bindSupervisorForTerritory(store, {
|
|
312
|
+
kingdomId: input.kingdomId,
|
|
313
|
+
roleType: input.roleType,
|
|
314
|
+
roleName: input.roleName,
|
|
315
|
+
sessionId: input.sessionId,
|
|
316
|
+
territoryId: input.territoryId ?? '',
|
|
317
|
+
}, auth)
|
|
318
|
+
: bindRole(store, {
|
|
319
|
+
kingdomId: input.kingdomId,
|
|
320
|
+
roleType: input.roleType,
|
|
321
|
+
roleName: input.roleName,
|
|
322
|
+
sessionId: input.sessionId,
|
|
323
|
+
}, auth);
|
|
308
324
|
throwOnGuiSetupFailure(result);
|
|
309
325
|
const created = store.getBindingByRole(input.kingdomId, input.roleType);
|
|
310
326
|
if (!created)
|
|
@@ -2135,20 +2151,43 @@ export function apply(ctx, config, dependencies = {}) {
|
|
|
2135
2151
|
return { kind: text.startsWith('UNKNOWN/') || text.startsWith('错误:') ? 'error' : 'success', text };
|
|
2136
2152
|
}
|
|
2137
2153
|
case 'role.bind': {
|
|
2138
|
-
const parsed = parseJsonEnvelope(rest, ['role_type', 'role_name', 'session_id', 'model_name', 'agent_name', 'session_meta'], ['role_type']);
|
|
2154
|
+
const parsed = parseJsonEnvelope(rest, ['role_type', 'role_name', 'session_id', 'model_name', 'agent_name', 'session_meta', 'territory_id'], ['role_type']);
|
|
2139
2155
|
if (!parsed.ok || typeof parsed.value.role_type !== 'string')
|
|
2140
2156
|
return { kind: 'error', text: `INPUT_DENIED [OWNER_COMMAND_GRAMMAR]: ${parsed.ok ? 'role_type 必须是 string。' : parsed.message}` };
|
|
2141
2157
|
const value = parsed.value;
|
|
2142
|
-
|
|
2158
|
+
const boundRoleType = value.role_type.trim().toUpperCase();
|
|
2159
|
+
if (boundRoleType === 'OWNER')
|
|
2143
2160
|
return { kind: 'error', text: 'OWNER_CONTROL_REQUIRED: OWNER projection 不得通过 role.bind 改绑为 Session。' };
|
|
2144
|
-
for (const key of ['role_name', 'session_id', 'model_name', 'agent_name', 'session_meta']) {
|
|
2161
|
+
for (const key of ['role_name', 'session_id', 'model_name', 'agent_name', 'session_meta', 'territory_id']) {
|
|
2145
2162
|
if (value[key] !== undefined && typeof value[key] !== 'string')
|
|
2146
2163
|
return { kind: 'error', text: `INPUT_DENIED [OWNER_COMMAND_GRAMMAR]: ${key} 必须是 string。` };
|
|
2147
2164
|
}
|
|
2148
2165
|
const sessionCheck = await validateDirectSessionPayload('role.bind', value.session_id);
|
|
2149
2166
|
if (!sessionCheck.ok)
|
|
2150
2167
|
return { kind: 'error', text: sessionCheck.message };
|
|
2151
|
-
|
|
2168
|
+
// v3.2.0(Owner 2026-09-28 口径):领地与主管完全绑定——任命主管必须同时给出领地,
|
|
2169
|
+
// 且「建席位 + 设主理」必须在同一事务里原子完成,不存在"有主管、没领地"的中间态。
|
|
2170
|
+
// 语义校验放在会话校验之后,保证「会话不可信」仍按 SESSION_* 原因码优先暴露。
|
|
2171
|
+
const territoryId = typeof value.territory_id === 'string' ? value.territory_id.trim() : '';
|
|
2172
|
+
if (boundRoleType !== 'SUPERVISOR' && territoryId) {
|
|
2173
|
+
return { kind: 'error', text: `INPUT_DENIED [OWNER_COMMAND_GRAMMAR]: territory_id 只用于任命 SUPERVISOR(收到 ${boundRoleType || '空'});其它角色不隶属领地。` };
|
|
2174
|
+
}
|
|
2175
|
+
if (boundRoleType === 'SUPERVISOR' && !territoryId) {
|
|
2176
|
+
return { kind: 'error', text: 'INPUT_DENIED [OWNER_COMMAND_GRAMMAR]: 任命 SUPERVISOR 必须同时给出 territory_id —— 主管不能没有领地(未写入)。' };
|
|
2177
|
+
}
|
|
2178
|
+
const bindParams = {
|
|
2179
|
+
kingdomId: requireKingdom(),
|
|
2180
|
+
roleType: value.role_type,
|
|
2181
|
+
roleName: value.role_name,
|
|
2182
|
+
sessionId: value.session_id,
|
|
2183
|
+
modelName: value.model_name,
|
|
2184
|
+
agentName: value.agent_name,
|
|
2185
|
+
sessionMeta: value.session_meta,
|
|
2186
|
+
sessionEvidence: sessionCheck.evidence,
|
|
2187
|
+
};
|
|
2188
|
+
const text = ownerWrite('role.bind', () => boundRoleType === 'SUPERVISOR'
|
|
2189
|
+
? bindSupervisorForTerritory(store, { ...bindParams, territoryId }, auth)
|
|
2190
|
+
: bindRole(store, bindParams, auth));
|
|
2152
2191
|
return { kind: text.startsWith('UNKNOWN/') || text.startsWith('错误:') || text.startsWith('角色 ') && text.includes('已有绑定') ? 'error' : 'success', text };
|
|
2153
2192
|
}
|
|
2154
2193
|
case 'role.unbind': {
|
|
@@ -2233,9 +2272,10 @@ export function apply(ctx, config, dependencies = {}) {
|
|
|
2233
2272
|
'/kingdom ceiling {"ceiling":{"tool:pwsh":true}} | {"clear":true}',
|
|
2234
2273
|
'/kingdom territory.create {"name":"研发领","workspace_path":"C:/work"}',
|
|
2235
2274
|
'/kingdom territory.delete {"territory_id":"...","force":false}',
|
|
2236
|
-
'/kingdom territory.supervisor {"territory_id":"...","supervisor_binding_id":"..."}',
|
|
2237
|
-
'/kingdom role.bind {"role_type":"SUPERVISOR","role_name":"主理","session_id":"真实 DSH session"}',
|
|
2238
|
-
'/kingdom role.
|
|
2275
|
+
'/kingdom territory.supervisor {"territory_id":"...","supervisor_binding_id":"..."}(改派/解除既有主理)',
|
|
2276
|
+
'/kingdom role.bind {"role_type":"SUPERVISOR","role_name":"主理","territory_id":"...","session_id":"真实 DSH session"} ← 主管必须同时指定领地(同一事务原子完成)',
|
|
2277
|
+
'/kingdom role.bind {"role_type":"WORKER","role_name":"执行者"}(非主管角色不带 territory_id)',
|
|
2278
|
+
'/kingdom role.unbind {"binding_id":"...","reason":"换届"}(退任主管会同时解除其领地主理)',
|
|
2239
2279
|
'/kingdom role.session {"binding_id":"...","session_id":"真实 DSH session"}',
|
|
2240
2280
|
'/kingdom execution-profile {"binding_id":"...","provider":"spawn","model":"..."}',
|
|
2241
2281
|
'以上写命令只接受一个 JSON object;unknown key、额外 token、Owner Session 均拒绝。',
|