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.
@@ -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') { field('territory_id','领地','select',territories); field('supervisor_binding_id','主管','select',allowedBindings(item=>item.roleType==='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); const update = () => { const needed = role.value !== 'WORKER'; session.required = needed; session.disabled = !needed; session.parentElement.hidden = !needed; }; role.addEventListener('change',update); update();
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}}; }
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4lBT,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"}
@@ -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
- .delivery-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: start; min-width: 0; }
74
- .delivery-row-body { display: grid; gap: 5px; min-width: 0; }
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ItC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0kBzC,CAAC"}
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"}
@@ -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,
@@ -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
- /** Ensure setup role identity without ever binding a Worker to the activator. */
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 = bindRole(store, {
303
- kingdomId: input.kingdomId,
304
- roleType: input.roleType,
305
- roleName: input.roleName,
306
- sessionId: input.sessionId,
307
- }, auth);
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
- if (value.role_type.toUpperCase() === 'OWNER')
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
- const text = ownerWrite('role.bind', () => bindRole(store, { kingdomId: requireKingdom(), roleType: value.role_type, roleName: value.role_name, sessionId: value.session_id, modelName: value.model_name, agentName: value.agent_name, sessionMeta: value.session_meta, sessionEvidence: sessionCheck.evidence }, auth));
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.unbind {"binding_id":"...","reason":"换届"}',
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 均拒绝。',