odai-dsh-agent 0.2.30 → 0.2.32

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.
Files changed (55) hide show
  1. package/README.md +3 -3
  2. package/client/client.js +37 -7
  3. package/package.json +1 -1
  4. package/preset/odai/runtime/context-activation.d.mts +2 -1
  5. package/preset/odai/runtime/context-activation.d.mts.map +1 -1
  6. package/preset/odai/runtime/context-activation.mjs +2 -1
  7. package/preset/odai/runtime/context-activation.mjs.map +1 -1
  8. package/preset/odai/runtime/governance.d.mts +2 -1
  9. package/preset/odai/runtime/governance.d.mts.map +1 -1
  10. package/preset/odai/runtime/governance.mjs +8 -0
  11. package/preset/odai/runtime/governance.mjs.map +1 -1
  12. package/preset/odai/runtime/index.d.mts.map +1 -1
  13. package/preset/odai/runtime/index.mjs +49 -45
  14. package/preset/odai/runtime/index.mjs.map +1 -1
  15. package/preset/odai/runtime/lifecycle-runtime.d.mts +3 -9
  16. package/preset/odai/runtime/lifecycle-runtime.d.mts.map +1 -1
  17. package/preset/odai/runtime/lifecycle-runtime.mjs +46 -36
  18. package/preset/odai/runtime/lifecycle-runtime.mjs.map +1 -1
  19. package/preset/odai/runtime/prompt-runtime.d.mts.map +1 -1
  20. package/preset/odai/runtime/prompt-runtime.mjs +9 -4
  21. package/preset/odai/runtime/prompt-runtime.mjs.map +1 -1
  22. package/preset/odai/runtime/responsibility-scope.d.mts +23 -1
  23. package/preset/odai/runtime/responsibility-scope.d.mts.map +1 -1
  24. package/preset/odai/runtime/responsibility-scope.mjs +78 -0
  25. package/preset/odai/runtime/responsibility-scope.mjs.map +1 -1
  26. package/preset/odai/runtime/review-evidence.d.mts +13 -0
  27. package/preset/odai/runtime/review-evidence.d.mts.map +1 -0
  28. package/preset/odai/runtime/review-evidence.mjs +88 -0
  29. package/preset/odai/runtime/review-evidence.mjs.map +1 -0
  30. package/preset/odai/runtime/role-overlays.d.mts +1 -0
  31. package/preset/odai/runtime/role-overlays.d.mts.map +1 -1
  32. package/preset/odai/runtime/role-overlays.mjs +2 -1
  33. package/preset/odai/runtime/role-overlays.mjs.map +1 -1
  34. package/preset/odai/runtime/router.d.mts.map +1 -1
  35. package/preset/odai/runtime/router.mjs +16 -12
  36. package/preset/odai/runtime/router.mjs.map +1 -1
  37. package/preset/odai/runtime/routing-config.mjs +1 -1
  38. package/preset/odai/runtime/routing-config.mjs.map +1 -1
  39. package/preset/odai/runtime/routing-context.d.mts +3 -0
  40. package/preset/odai/runtime/routing-context.d.mts.map +1 -1
  41. package/preset/odai/runtime/routing-context.mjs +22 -2
  42. package/preset/odai/runtime/routing-context.mjs.map +1 -1
  43. package/preset/odai/runtime/runtime-support.d.mts +4 -1
  44. package/preset/odai/runtime/runtime-support.d.mts.map +1 -1
  45. package/preset/odai/runtime/runtime-support.mjs +116 -85
  46. package/preset/odai/runtime/runtime-support.mjs.map +1 -1
  47. package/preset/odai/runtime/session-evidence.d.mts.map +1 -1
  48. package/preset/odai/runtime/session-evidence.mjs +11 -1
  49. package/preset/odai/runtime/session-evidence.mjs.map +1 -1
  50. package/preset/odai/runtime/tool-runtime.d.mts +2 -3
  51. package/preset/odai/runtime/tool-runtime.d.mts.map +1 -1
  52. package/preset/odai/runtime/tool-runtime.mjs +19 -4
  53. package/preset/odai/runtime/tool-runtime.mjs.map +1 -1
  54. package/preset/odai/skills/odai/assets/routing-roles/reviewer.md +1 -1
  55. package/preset/odai/skills/odai/manifest.json +1 -1
package/README.md CHANGED
@@ -36,7 +36,7 @@ With DSH already installed, run the single Agent package command below. The pack
36
36
  npx odai-dsh-agent install
37
37
  ```
38
38
 
39
- The installer checks `dsh -V`; the `0.2.30` candidate targets exactly `0.1.5-rc.1` and rejects other releases. It records the detected version in the managed manifest and publishes Odai's own composition. In an interactive terminal it classifies the Control Center profile as absent, current, registry-upgrade, local-link, partial-drift, newer, or unknown-source. Every add, upgrade, replacement, or repair is shown at `[Y/n]`; Enter, `y`, or `yes` confirms, while EOF, `n`, `no`, and other text leave the profile unchanged. Non-interactive and `--json` installs never infer consent: automation can use `--with-control-center` or `--without-control-center` explicitly, with `--profile <name>` selecting a profile other than `web`.
39
+ The installer checks `dsh -V`; the published `0.2.31` release and current `0.2.32` candidate target exactly `0.1.5-rc.1` and the installer rejects other releases. It records the detected version in the managed manifest and publishes Odai's own composition. In an interactive terminal it classifies the Control Center profile as absent, current, registry-upgrade, local-link, partial-drift, newer, or unknown-source. Every add, upgrade, replacement, or repair is shown at `[Y/n]`; Enter, `y`, or `yes` confirms, while EOF, `n`, `no`, and other text leave the profile unchanged. Non-interactive and `--json` installs never infer consent: automation can use `--with-control-center` or `--without-control-center` explicitly, with `--profile <name>` selecting a profile other than `web`.
40
40
 
41
41
  `DSH_HOME` is honored. An explicit location can be supplied without changing the environment:
42
42
 
@@ -52,7 +52,7 @@ DSH classifies this as a `trust: user` preset. User presets have the same privil
52
52
 
53
53
  ## Control Center
54
54
 
55
- The optional profile entry ships inside `odai-dsh-agent`; it is not a third package. It adds one Chinese Control Center launcher to DSH Web with a real current-turn responsibility graph, session evidence timeline, structured event inspector, and routing controls for the four optional responsibilities. The controller remains host-managed and read-only. Routing writes use the same validated, locked, atomic routing action as the conversation tool and apply on the next user turn. Configured models alone are never displayed as execution evidence.
55
+ The optional profile entry ships inside `odai-dsh-agent`; it is not a third package. It adds one Chinese Control Center launcher to DSH Web with a real current-turn responsibility graph, session evidence timeline, structured event inspector, and routing controls for the four optional responsibilities. The controller remains host-managed and read-only. Routing writes use the same validated, locked, atomic routing action as the conversation tool and apply on the next user turn. Configured models alone are never displayed as execution evidence. A separate native-collaboration summary shows observed controller `subagent`/`subagent_fork` tool receipts from the loaded session evidence, including errors and unknown turn attribution. These receipts are not named-role model verification or child completion evidence; the summary shows the latest five calls and leaves the rest in the timeline.
56
56
 
57
57
  The main `install` prompt is the recommended entry. These lifecycle commands remain available for inspection, recovery, and automation:
58
58
 
@@ -79,7 +79,7 @@ The Agent ships no researcher, planner, reviewer, or frontend model mapping. It
79
79
 
80
80
  The controller calls `odai_routing_config` to persist that explicit choice. Researcher, planner, reviewer, and frontend each accept an explicit `same-turn` or `child` dispatch override; the controller owns integration, validation, and final delivery. Children remain read-only; explicitly delegated patch preparation returns unapplied proposals, while research, planning, and review keep their narrower contracts. The tool uses separate `set-dispatch`/`reset-dispatch` actions, so changing a dispatch override does not remove its model mapping. Researcher activation is task-gated but not price-aware: its mapping enables the narrow trigger and does not guarantee lower cost. The tool repeats that warning whenever a researcher mapping is shown; Odai must use authoritative provider prices and measured usage instead of inventing either. The user does not edit Agent files, YAML, or JSON and does not add trigger terms to later tasks. Mappings live in `$DSH_HOME/odai/routing.json`, outside the managed preset, so installer updates do not report them as drift. A legacy Executor mapping is ignored without invalidating current responsibilities and is removed on the next configuration write. Audit evidence likewise lives under `$DSH_HOME/odai/session-evidence/` instead of using private DSH session-event types, so changing or removing the preset cannot make a session unreadable. Changes apply from the next user turn. Whenever routing or explicit mapping management needs it, runtime resolves a fresh merged effective-mapping snapshot, with persisted mappings preferred over deployment mappings; the full snapshot enters the model prompt only for mapping-management intent and remains authoritative over stale compaction text. The tool also exposes the latest current-session actual route receipt; configured targets alone never prove that a responsibility ran. If reasoning effort is omitted, the target provider/model uses its own default rather than inheriting the source controller's setting. Plugin and Agent read the same stores when both are deliberately present.
81
81
 
82
- Researcher and frontend are optional evidence/production upgrades whose missing mappings keep the original route without claiming success. A researcher child is limited to a bounded multi-source repository question; technical facts available through controller tools are investigated directly instead of manufacturing a role call. Planner and reviewer are independent optional responsibilities; if a needed one has no mapping, high-impact work fails closed and remains read-only, while lower-impact work continues only where it does not depend on the missing responsibility. Same-turn routes and child outputs require actual request-header evidence. Same-turn researcher, planner, and reviewer are read-only and must return through `odai_responsibility_return` to the controller, which resumes any authorized implementation. Missing handback restores and continues the controller instead of treating the read-only text as final delivery. Deterministic invalid persisted mappings are backed up and exact-match removed; credentials, quota, rate-limit, server, timeout, and transport failures preserve configuration and fall back only for the current call. A generic subagent is not a responsibility route. A manual responsibility child must use an `odai-<responsibility>` label and cannot finish successfully without a matching actual-route receipt. Odai never chooses a model or price on the user's behalf.
82
+ Researcher and frontend are optional evidence/production upgrades whose missing mappings keep the original route without claiming success. A researcher child is limited to a bounded multi-source repository question; technical facts available through controller tools are investigated directly instead of manufacturing a role call. Planner and reviewer are independent optional responsibilities; if a needed one has no mapping, high-impact work fails closed and remains read-only, while lower-impact work continues only where it does not depend on the missing responsibility. Same-turn routes and child outputs require actual request-header evidence. Same-turn researcher, planner, and reviewer are read-only and must return through `odai_responsibility_return` to the controller, which resumes any authorized implementation. Missing handback restores and continues the controller instead of treating the read-only text as final delivery. Deterministic invalid persisted mappings are backed up and exact-match removed; credentials, quota, rate-limit, server, timeout, and transport failures preserve configuration and fall back only for the current call. Matching responsibilities use `odai_responsibility_gap` to honor configured models, dispatch, and evidence gates. A generic subagent is not a responsibility route. Exceptional manual planner/frontend children use the native tool's `description` prefix `odai-planner:` or `odai-frontend:` and require a matching actual-route receipt; researcher/reviewer require managed evidence validation. Local child routing receipts reach the parent's Control Center under the corresponding role, without claiming task completion. Odai never chooses a model or price on the user's behalf.
83
83
 
84
84
  ## Controller output policy
85
85
 
package/client/client.js CHANGED
@@ -60,7 +60,12 @@ window.__ModuleLoader__.load({
60
60
  return "handback";
61
61
  if (type.includes("interruption") || type === "odai/controller-output-interrupted")
62
62
  return "interrupted";
63
- if (type === "odai/responsibility-scope-started" || type === "odai/responsibility-scope-claimed" || type === "odai/route-upgrade" || type === "odai/route-applied")
63
+ if (type === "odai/route-applied") {
64
+ if (data?.status !== "applied")
65
+ return "blocked";
66
+ return data?.routeMode === "child" ? "child" : data?.routeMode === "inline" ? "direct" : "same-turn";
67
+ }
68
+ if (type === "odai/responsibility-scope-started" || type === "odai/responsibility-scope-claimed" || type === "odai/route-upgrade")
64
69
  return "same-turn";
65
70
  if (type === "odai/route-result") {
66
71
  if (data?.status === "fallback" || data?.status === "failed")
@@ -88,7 +93,7 @@ window.__ModuleLoader__.load({
88
93
  case "odai/responsibility-scope-stopped": return `${role}职责已停止`;
89
94
  case "odai/route-decided": return `${role}路由已决策 · ${text(data?.action, "完成")}`;
90
95
  case "odai/route-upgrade": return `${role}已切换同轮职责`;
91
- case "odai/route-applied": return `${role}路由已应用`;
96
+ case "odai/route-applied": return `${role}${data?.routeMode === "child" ? "子代理" : ""}路由${data?.status === "applied" ? "已核实" : data?.status === "mismatch" ? "不匹配" : "未核实"}`;
92
97
  case "odai/route-result": return `${role}执行结果 · ${text(data?.status, "完成")}`;
93
98
  case "odai/route-fallback": return `${role}路由已回退`;
94
99
  case "odai/route-config-missing": return `${role}路由不可用`;
@@ -178,18 +183,38 @@ window.__ModuleLoader__.load({
178
183
  }
179
184
  const groups = [...turns.values()].map((group) => Object.freeze({
180
185
  ...group,
181
- title: group.turn === undefined ? "轮次外事件" : `第 ${group.turn} 轮`,
186
+ title: group.turn === undefined ? "未标注轮次的会话事件" : `第 ${group.turn} 轮`,
182
187
  items: Object.freeze(group.items),
183
188
  })).sort((left, right) => {
184
189
  const byLatestEvidence = (right.items.at(-1)?.seq ?? -1) - (left.items.at(-1)?.seq ?? -1);
185
190
  return byLatestEvidence || (right.turn ?? -1) - (left.turn ?? -1);
186
191
  });
187
- const currentTurn = groups.find((group) => group.turn !== undefined) ?? groups.at(0);
192
+ const currentTurn = groups.filter((group) => group.turn !== undefined)
193
+ .sort((left, right) => (right.turn ?? 0) - (left.turn ?? 0))[0] ?? groups.at(0);
188
194
  const currentRoles = Object.fromEntries(ROLES.map((role) => {
189
195
  const roleItems = currentTurn?.items.filter((item) => item.role === role) ?? [];
190
- return [role, roleItems.at(-1)];
196
+ const childLatest = new Map();
197
+ for (const item of roleItems) {
198
+ const childId = record(item.raw)?.childSessionId;
199
+ if (typeof childId === "string")
200
+ childLatest.set(childId, item);
201
+ }
202
+ return [role, [...childLatest.values()].find((item) => item.state === "blocked") ?? roleItems.at(-1)];
191
203
  }));
192
- return Object.freeze({ items: Object.freeze(items), turns: Object.freeze(groups), currentTurn, currentRoles: Object.freeze(currentRoles) });
204
+ const seenCalls = new Set();
205
+ const nativeCalls = items.filter((item) => {
206
+ const data = record(item.raw);
207
+ if (item.type !== "odai/tool-observed" || data?.child !== false ||
208
+ !["subagent", "subagent_fork"].includes(data?.tool))
209
+ return false;
210
+ const id = typeof data.callId === "string" ? data.callId : item.key;
211
+ if (seenCalls.has(id))
212
+ return false;
213
+ seenCalls.add(id);
214
+ return true;
215
+ });
216
+ return Object.freeze({ items: Object.freeze(items), turns: Object.freeze(groups), currentTurn,
217
+ currentRoles: Object.freeze(currentRoles), nativeCalls: Object.freeze(nativeCalls) });
193
218
  }
194
219
  function defaultTraceItem(trace) {
195
220
  return trace.currentTurn?.items.at(-1) ?? trace.items.at(-1);
@@ -277,6 +302,7 @@ window.__ModuleLoader__.load({
277
302
  }
278
303
  function FlowBoard({ trace, onSelect }) {
279
304
  const turn = trace.currentTurn;
305
+ const calls = trace.nativeCalls;
280
306
  return h("section", { className: "odaiCC__flow" }, h("div", { className: "odaiCC__sectionHead" }, h("div", null, h("span", { className: "odaiCC__kicker" }, "当前轮次"), h("h3", null, turn?.title ?? "暂无轮次证据")), h("span", { className: "odaiCC__eventCount" }, `${turn?.items.length ?? 0} 个事件`)), h("div", { className: "odaiCC__flowGrid" }, h("div", { className: "odaiCC__controllerNode" }, h("span", { className: "odaiCC__nodeEyebrow" }, "总控"), h("strong", null, "Odai Controller"), h("small", null, turn ? "当前会话的交付责任方" : "等待职责证据")), h("div", { className: "odaiCC__roleStack" }, ROLES.map((role) => {
281
307
  const item = trace.currentRoles[role];
282
308
  const state = item?.state ?? "evidence";
@@ -287,7 +313,10 @@ window.__ModuleLoader__.load({
287
313
  onClick: () => item && onSelect(item.key),
288
314
  disabled: !item,
289
315
  }, h("span", { className: "odaiCC__edge", "data-state": state }, h("i"), h("em", null, item ? STATE_LABELS[state] ?? state : "未触发")), h("span", { className: "odaiCC__roleNode" }, h(RoleBadge, { role }), h("strong", null, item?.title ?? "暂无执行证据"), h("small", null, item?.route ? formatRoute(item.route) : item?.detail || "—")));
290
- }))));
316
+ }))), h("div", { className: "odaiCC__sectionHead" }, h("div", null, h("h3", null, "原生子代理调用 · 当前已载入会话证据"), h("p", { className: "odaiCC__nativeNote" }, "显示当前已载入会话的调用记录。收到工具回执不代表子任务完成或职责模型已核实。")), h("span", { className: "odaiCC__eventCount" }, `${calls.length} 次调用回执`)), calls.length ? h("div", { className: "odaiCC__nativeCalls" }, calls.slice(-5).map((item) => {
317
+ const data = record(item.raw);
318
+ return h("button", { key: item.key, type: "button", className: "odaiCC__flowRole odaiCC__nativeCall", onClick: () => onSelect(item.key) }, h("span", { className: "odaiCC__roleNode" }, h("strong", null, `${data?.tool} · ${data?.isError ? "调用报错" : "已收到工具回执"}`), h("small", null, `${formatTime(item.time)} · ${item.turn ? `第 ${item.turn} 轮` : "未记录轮次"} · #${item.seq}`)));
319
+ })) : h("p", null, "未观测到原生子代理调用回执;这不代表所有协作路径都未使用。"), calls.length > 5 ? h("p", { className: "odaiCC__nativeNote" }, `共 ${calls.length} 次,此处显示最近 5 次;其余可在事件时间线查看。`) : null);
291
320
  }
292
321
  function Timeline({ trace, selectedKey, onSelect }) {
293
322
  const [expandedKey, setExpandedKey] = useState(() => trace.currentTurn?.key);
@@ -531,6 +560,7 @@ window.__ModuleLoader__.load({
531
560
  .odaiCC__launcher{box-sizing:border-box;height:28px;border:1px solid var(--odai-cc-border);border-radius:6px;background:transparent;color:var(--odai-cc-text-2);display:inline-flex;align-items:center;gap:6px;padding:0 8px;cursor:pointer;font:600 11px/1 inherit;letter-spacing:0}.odaiCC__launcher:hover{background:var(--odai-cc-hover);color:var(--odai-cc-text)}
532
561
  .odaiCC__graphIcon{position:relative;width:17px;height:15px;display:inline-block;flex:none}.odaiCC__graphNode{position:absolute;width:5px;height:5px;border:1.5px solid currentColor;border-radius:50%;box-sizing:border-box}.odaiCC__graphNode--a{left:0;top:5px}.odaiCC__graphNode--b{right:0;top:0}.odaiCC__graphNode--c{right:0;bottom:0}.odaiCC__graphLine{position:absolute;left:5px;top:7px;width:7px;height:1px;background:currentColor}.odaiCC__graphLine:before,.odaiCC__graphLine:after{content:"";position:absolute;right:0;width:5px;height:1px;background:currentColor;transform-origin:right center}.odaiCC__graphLine:before{transform:rotate(-38deg)}.odaiCC__graphLine:after{transform:rotate(38deg)}
533
562
  .odaiCC{position:fixed;inset:0;z-index:120;color:var(--odai-cc-text);font-family:inherit;letter-spacing:0}.odaiCC *{box-sizing:border-box}.odaiCC__backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.28)}.odaiCC__drawer{position:absolute;inset:14px;max-width:1180px;margin-left:auto;border:1px solid var(--odai-cc-border-strong);border-radius:8px;background:var(--odai-cc-panel);box-shadow:0 24px 80px rgba(0,0,0,.42);display:flex;flex-direction:column;overflow:hidden}.odaiCC__header{min-height:62px;border-bottom:1px solid var(--odai-cc-border);display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(44px,1fr);align-items:center;gap:16px;padding:10px 14px}.odaiCC__brand{display:flex;align-items:center;gap:10px;min-width:0}.odaiCC__brand>.odaiCC__graphIcon{width:22px;height:19px;color:var(--odai-cc-accent)}.odaiCC__brand h2{font-size:16px;line-height:22px;margin:0}.odaiCC__brand span{display:block;color:var(--odai-cc-text-3);font-size:11px;line-height:16px}.odaiCC__tabs{display:flex;border:1px solid var(--odai-cc-border);border-radius:6px;padding:2px;background:var(--odai-cc-surface)}.odaiCC__tabs button{height:30px;min-width:72px;border:0;border-radius:4px;background:transparent;color:var(--odai-cc-text-3);cursor:pointer;font:600 12px/1 inherit}.odaiCC__tabs button.is-active{background:var(--odai-cc-panel);color:var(--odai-cc-text);box-shadow:0 1px 4px rgba(0,0,0,.2)}.odaiCC__close{justify-self:end;width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--odai-cc-text-2);font-size:22px;line-height:1;cursor:pointer}.odaiCC__close:hover{background:var(--odai-cc-hover)}.odaiCC__body{min-height:0;flex:1;overflow:auto}.odaiCC__live{padding:14px}.odaiCC__kicker{display:block;color:var(--odai-cc-text-3);font:700 9px/14px inherit;letter-spacing:.08em}.odaiCC__sectionHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.odaiCC__sectionHead h3{font-size:12px;line-height:18px;margin:0}.odaiCC__eventCount{color:var(--odai-cc-text-3);font-size:10px}.odaiCC__flow{border:1px solid var(--odai-cc-border);border-radius:8px;background:var(--odai-cc-surface);padding:12px}.odaiCC__flowGrid{display:grid;grid-template-columns:minmax(160px,220px) minmax(360px,1fr);gap:22px;align-items:center;min-height:265px}.odaiCC__controllerNode{border:1px solid rgba(119,167,255,.45);border-radius:8px;background:rgba(119,167,255,.08);padding:18px}.odaiCC__controllerNode strong,.odaiCC__roleNode strong{display:block;font-size:12px;line-height:18px}.odaiCC__controllerNode small,.odaiCC__roleNode small{display:block;color:var(--odai-cc-text-3);font-size:10px;line-height:15px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.odaiCC__nodeEyebrow{color:#2f6feb;font-size:9px;font-weight:700}.odaiCC__roleStack{display:flex;flex-direction:column;gap:8px}.odaiCC__flowRole{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;border:0;background:transparent;color:inherit;padding:0;text-align:left}.odaiCC__flowRole:not(:disabled){cursor:pointer}.odaiCC__flowRole:disabled{opacity:1}.odaiCC__edge{position:relative;height:1px;background:var(--odai-cc-border-strong);margin-right:12px}.odaiCC__edge i{position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.odaiCC__edge em{position:absolute;left:5px;top:-17px;color:var(--odai-cc-text-3);font:500 9px/12px inherit;font-style:normal}.odaiCC__edge[data-state=proposal],.odaiCC__edge[data-state=decision]{background:repeating-linear-gradient(90deg,#65c6b8 0 5px,transparent 5px 9px);color:#65c6b8}.odaiCC__edge[data-state=same-turn]{background:#b99cff;color:#b99cff}.odaiCC__edge[data-state=child]{background:var(--odai-cc-accent);color:var(--odai-cc-accent)}.odaiCC__edge[data-state=handback]{background:#f1bb61;color:#f1bb61}.odaiCC__edge[data-state=blocked],.odaiCC__edge[data-state=interrupted]{background:#ef7e78;color:#ef7e78}.odaiCC__roleNode{border:1px solid var(--odai-cc-border);border-radius:7px;background:var(--odai-cc-panel);padding:8px 10px;min-width:0}.odaiCC__flowRole:not(:disabled):hover .odaiCC__roleNode{border-color:var(--odai-cc-accent)}.odaiCC__role{display:inline-flex;align-items:center;gap:5px;color:var(--odai-cc-text-2);font-size:9px;line-height:14px}.odaiCC__role i{width:6px;height:6px;border-radius:50%;background:#8f969e}.odaiCC__role--controller i{background:var(--odai-cc-accent)}.odaiCC__role--researcher i{background:#65c6b8}.odaiCC__role--planner i{background:#b99cff}.odaiCC__role--reviewer i{background:#f1bb61}.odaiCC__role--frontend i{background:#ef8fbd}.odaiCC__evidenceGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:12px;margin-top:12px}.odaiCC__timeline,.odaiCC__inspector{min-width:0;border:1px solid var(--odai-cc-border);border-radius:8px;background:var(--odai-cc-surface);padding:10px}.odaiCC__turn{border-top:1px solid var(--odai-cc-border);padding:8px 0}.odaiCC__turn:first-child{border-top:0;padding-top:0}.odaiCC__turn summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;font-size:10px}.odaiCC__turn summary::-webkit-details-marker{display:none}.odaiCC__turn summary span{color:var(--odai-cc-text-3)}.odaiCC__events{display:flex;flex-direction:column;gap:6px;margin-top:8px}.odaiCC__event{width:100%;border:1px solid var(--odai-cc-border);border-radius:7px;background:var(--odai-cc-panel);color:inherit;padding:8px;text-align:left;cursor:pointer}.odaiCC__event:hover,.odaiCC__event.is-selected{border-color:var(--odai-cc-accent);background:var(--odai-cc-hover)}.odaiCC__eventTop{display:flex;align-items:center;gap:6px;color:var(--odai-cc-text-3);font-size:9px}.odaiCC__eventTop time{margin-left:auto}.odaiCC__eventTop code{font-size:9px}.odaiCC__event>strong{display:block;margin-top:5px;font-size:11px;line-height:16px}.odaiCC__eventDetail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--odai-cc-text-2);font-size:10px;line-height:15px;margin-top:2px}.odaiCC__eventBottom{display:flex;gap:8px;align-items:center;color:var(--odai-cc-text-3);font-size:9px;margin-top:6px}.odaiCC__state{display:inline-flex;border-radius:999px;background:var(--odai-cc-surface-2);color:var(--odai-cc-text-2);padding:1px 6px;font-size:9px;line-height:13px}.odaiCC__state--proposal{background:rgba(101,198,184,.15);color:#18756b}.odaiCC__state--same-turn{background:rgba(185,156,255,.15);color:#6f42c1}.odaiCC__state--child{background:rgba(119,167,255,.15);color:#245ec7}.odaiCC__state--handback{background:rgba(241,187,97,.15);color:#946000}.odaiCC__state--blocked,.odaiCC__state--interrupted{background:rgba(239,126,120,.15);color:#b42318}.odaiCC__facts{margin:0;display:flex;flex-direction:column;gap:7px}.odaiCC__facts>div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;font-size:10px}.odaiCC__facts dt{color:var(--odai-cc-text-3)}.odaiCC__facts dd{margin:0;overflow-wrap:anywhere}.odaiCC__facts code{font-size:9px}.odaiCC__raw{max-height:360px;overflow:auto;border:1px solid var(--odai-cc-border);border-radius:7px;background:var(--odai-cc-panel);color:var(--odai-cc-text-2);font:9px/14px ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px;margin:10px 0 0}.odaiCC__empty{border:1px dashed var(--odai-cc-border-strong);border-radius:7px;color:var(--odai-cc-text-3);font-size:10px;line-height:16px;padding:18px;text-align:center}
563
+ .odaiCC__nativeCalls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;min-width:0}.odaiCC__flowRole.odaiCC__nativeCall{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.odaiCC__nativeCall .odaiCC__roleNode{min-width:0;height:100%}.odaiCC__nativeNote{margin:6px 0 0;color:var(--odai-cc-text-3);font-size:12px;line-height:1.5}
534
564
  .odaiCC__routing{max-width:1000px;margin:0 auto;padding:16px 18px}.odaiCC__routingHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.odaiCC__routingHead h3{font-size:16px;line-height:22px;margin:0}.odaiCC__quietButton,.odaiCC__primaryButton,.odaiCC__dangerButton{height:30px;border-radius:6px;padding:0 11px;font:600 12px/1 inherit;cursor:pointer}.odaiCC__quietButton{border:1px solid var(--odai-cc-border);background:transparent;color:var(--odai-cc-text-2)}.odaiCC__primaryButton{border:1px solid var(--odai-cc-accent);background:var(--odai-cc-accent);color:#fff}.odaiCC__dangerButton{border:1px solid rgba(239,126,120,.45);background:transparent;color:#b42318}.odaiCC button:disabled:not(.odaiCC__flowRole){opacity:.45;cursor:default}.odaiCC__flowRole:disabled{opacity:1;cursor:default}.odaiCC__alert{border:1px solid var(--odai-cc-border);border-radius:7px;padding:8px 10px;font-size:12px;line-height:18px;margin-bottom:10px}.odaiCC__alert.is-error{border-color:rgba(239,126,120,.4);background:rgba(239,126,120,.08);color:#b42318}.odaiCC__alert.is-success{border-color:rgba(101,198,184,.4);background:rgba(101,198,184,.08);color:#18756b}.odaiCC__controllerLock,.odaiCC__routeRow{border-top:1px solid var(--odai-cc-border);padding:9px 0}.odaiCC__controllerLock{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:center}.odaiCC__controllerLock strong{display:block;font-size:13px;line-height:18px}.odaiCC__controllerLock span:not(.odaiCC__role):not(.odaiCC__lock){display:block;color:var(--odai-cc-text-3);font-size:11px;line-height:16px}.odaiCC__lock{border:1px solid var(--odai-cc-border);border-radius:999px;color:var(--odai-cc-text-3);font-size:10px;padding:3px 7px}.odaiCC__routeRow{display:grid;grid-template-columns:minmax(300px,1fr) minmax(410px,1.15fr);gap:8px 20px;align-items:center}.odaiCC__routeSummary{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:center}.odaiCC__routeValue strong{display:block;font-size:13px;line-height:18px;overflow-wrap:anywhere}.odaiCC__routeValue span{display:block;color:var(--odai-cc-text-3);font-size:11px;line-height:16px}.odaiCC__dispatch{display:grid;grid-template-columns:70px auto minmax(0,1fr);gap:10px;align-items:center}.odaiCC__dispatch>span,.odaiCC__dispatch small{color:var(--odai-cc-text-3);font-size:11px;line-height:16px}.odaiCC__segments{display:flex;border:1px solid var(--odai-cc-border);border-radius:6px;overflow:hidden}.odaiCC__segments button{height:28px;border:0;border-right:1px solid var(--odai-cc-border);background:transparent;color:var(--odai-cc-text-3);padding:0 9px;font:500 11px/1 inherit;cursor:pointer}.odaiCC__segments button:last-child{border-right:0}.odaiCC__segments button.is-active{background:var(--odai-cc-hover);color:var(--odai-cc-text)}.odaiCC__routeForm{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:10px;border:1px solid var(--odai-cc-border);border-radius:7px;background:var(--odai-cc-surface)}.odaiCC__routeForm label span{display:block;color:var(--odai-cc-text-3);font-size:11px;line-height:16px;margin-bottom:4px}.odaiCC__routeForm input{width:100%;min-width:0;height:32px;border:1px solid var(--odai-cc-border);border-radius:5px;background:var(--odai-cc-panel);color:var(--odai-cc-text);padding:0 8px;font:12px/1 inherit;outline:none}.odaiCC__routeForm input:focus{border-color:var(--odai-cc-accent)}.odaiCC__formActions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:2px}
535
565
  .odaiCC__body{overflow:hidden}.odaiCC__live{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:14px}.odaiCC__live>.odaiCC__alert{flex:none;margin-bottom:0}.odaiCC__flow{flex:none;max-height:38vh;overflow:auto;scrollbar-gutter:stable}.odaiCC__evidenceGrid{flex:1;min-height:0;overflow:hidden;margin-top:0}.odaiCC__timeline{display:flex;flex-direction:column;min-height:0;overflow:hidden}.odaiCC__timeline>.odaiCC__sectionHead{flex:none}.odaiCC__turns{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.odaiCC__inspector{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.odaiCC__inspector>.odaiCC__sectionHead{position:sticky;top:0;z-index:1;background:var(--odai-cc-panel);padding-bottom:8px}.odaiCC__sectionHead h3{font-size:13px;line-height:20px}.odaiCC__kicker{font:700 11px/16px inherit;letter-spacing:0}.odaiCC__role,.odaiCC__state,.odaiCC__nodeEyebrow{font-size:11px}.odaiCC__controllerNode strong,.odaiCC__roleNode strong{font-size:13px;line-height:18px}.odaiCC__controllerNode small,.odaiCC__roleNode small,.odaiCC__edge em{font-size:11px;line-height:16px}.odaiCC__eventCount{font-size:11px;line-height:16px}.odaiCC__turn summary{font-size:12px;line-height:18px}.odaiCC__eventTop code,.odaiCC__eventTop time{font-size:11px;line-height:16px}.odaiCC__event>strong{font-size:13px;line-height:18px}.odaiCC__eventDetail,.odaiCC__eventBottom{font-size:11px;line-height:16px}.odaiCC__eventTop .odaiCC__state,.odaiCC__eventBottom .odaiCC__role,.odaiCC__facts .odaiCC__state,.odaiCC__facts .odaiCC__role{font-size:10px}.odaiCC__facts dt{font-size:11px;line-height:18px}.odaiCC__facts dd{font-size:12px;line-height:18px}.odaiCC__facts code{font-size:11px;line-height:18px}.odaiCC__raw{font:12px/18px ui-monospace,SFMono-Regular,Consolas,monospace}.odaiCC__loadEarlier{width:100%;height:30px;border:0;border-bottom:1px solid var(--odai-cc-border);background:var(--odai-cc-surface);color:var(--odai-cc-text-2);font:600 10px/1 inherit;cursor:pointer}.odaiCC__loadEarlier:hover{background:var(--odai-cc-hover);color:var(--odai-cc-text)}.odaiCC__routing{height:100%;overflow-y:auto}
536
566
  @media(max-width:900px){.odaiCC__routeRow{display:block}.odaiCC__dispatch{margin-top:7px}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "odai-dsh-agent",
3
- "version": "0.2.30",
3
+ "version": "0.2.32",
4
4
  "description": "独立维护的 odai 治理模式 preset,按任务需要提供治理与协作,可作为默认总控。",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,5 +1,5 @@
1
1
  import type { UnknownRecord } from "./runtime-types.mjs";
2
- export declare const ODAI_CONTEXTUAL_TOOL_NAMES: readonly ["odai_routing_config", "odai_human_care", "odai_human_safety", "odai_responsibility_return", "odai_skill_source_config", "odai_skill_evolution", "odai_output_config", "odai_compaction_config", "odai_memory", "odai_human_safety_continuity"];
2
+ export declare const ODAI_CONTEXTUAL_TOOL_NAMES: readonly ["odai_routing_config", "odai_human_care", "odai_human_safety", "odai_responsibility_return", "odai_review_evidence", "odai_skill_source_config", "odai_skill_evolution", "odai_output_config", "odai_compaction_config", "odai_memory", "odai_human_safety_continuity"];
3
3
  export declare const ODAI_CORE_TOOL_NAMES: readonly ["odai_context_capability", "odai_responsibility_gap", "odai_reference"];
4
4
  export type OdaiToolName = (typeof ODAI_CONTEXTUAL_TOOL_NAMES)[number] | (typeof ODAI_CORE_TOOL_NAMES)[number];
5
5
  export interface ContextActivation {
@@ -16,6 +16,7 @@ export interface ContextActivation {
16
16
  export interface ActivationOptions {
17
17
  child?: boolean;
18
18
  responsibilityReturn?: boolean;
19
+ reviewEvidence?: boolean;
19
20
  }
20
21
  interface ToolSchemaSummary {
21
22
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context-activation.d.mts","sourceRoot":"","sources":["../src/context-activation.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAO,MAAM,0BAA0B,2PAW5B,CAAC;AAEZ,eAAO,MAAM,oBAAoB,mFAItB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/G,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAYD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAcpF;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,iBAAiB,EAC7B,OAAO,GAAE,iBAAsB,GAC9B,SAAS,YAAY,EAAE,CAezB;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,EAAE,CAG3H;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIvG"}
1
+ {"version":3,"file":"context-activation.d.mts","sourceRoot":"","sources":["../src/context-activation.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAO,MAAM,0BAA0B,mRAY5B,CAAC;AAEZ,eAAO,MAAM,oBAAoB,mFAItB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/G,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAYD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAcpF;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,iBAAiB,EAC7B,OAAO,GAAE,iBAAsB,GAC9B,SAAS,YAAY,EAAE,CAezB;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,EAAE,CAG3H;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIvG"}
@@ -3,6 +3,7 @@ export const ODAI_CONTEXTUAL_TOOL_NAMES = Object.freeze([
3
3
  "odai_human_care",
4
4
  "odai_human_safety",
5
5
  "odai_responsibility_return",
6
+ "odai_review_evidence",
6
7
  "odai_skill_source_config",
7
8
  "odai_skill_evolution",
8
9
  "odai_output_config",
@@ -41,7 +42,7 @@ export function classifyContextActivation(text) {
41
42
  }
42
43
  export function activeOdaiToolNames(activation, options = {}) {
43
44
  if (options.child)
44
- return Object.freeze([]);
45
+ return Object.freeze(options.reviewEvidence ? ["odai_review_evidence"] : []);
45
46
  const names = new Set(ODAI_CORE_TOOL_NAMES);
46
47
  if (options.responsibilityReturn)
47
48
  names.delete("odai_reference");
@@ -1 +1 @@
1
- {"version":3,"file":"context-activation.mjs","sourceRoot":"","sources":["../src/context-activation.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-activation.mjs","sourceRoot":"","sources":["../src/context-activation.mts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { DshAgent, DshEvent, ToolExecution, ToolResult } from "./runtime-types.mjs";
2
2
  export declare const DEFAULT_CHILD_DENIED_TOOLS: readonly ["write", "edit", "str_replace_editor", "bash", "pwsh", "ask_user_question", "subagent", "subagent_fork", "subagent_codex", "subagent_claude_code", "send_message", "interrupt_agent", "list_agents", "workflow", "ralph", "job_output", "job_list", "job_kill"];
3
3
  export declare const DEFAULT_PROTECTED_CONTROLLER_ALLOWED_TOOLS: readonly ["read", "read_image", "glob", "grep", "web_search", "web_fetch", "ask_user_question", "get_goal", "list_agents", "job_output", "job_list", "skill", "odai_responsibility_return"];
4
- export declare const DEFAULT_CHILD_ALLOWED_TOOLS: readonly ["read", "read_image", "glob", "grep", "web_search", "web_fetch", "odai_responsibility_return"];
4
+ export declare const DEFAULT_CHILD_ALLOWED_TOOLS: readonly ["odai_review_evidence", "read", "read_image", "glob", "grep", "web_search", "web_fetch", "odai_responsibility_return"];
5
5
  export interface ToolGuardOptions {
6
6
  additionalAllowedTools?: readonly string[];
7
7
  additionalDeniedTools?: readonly string[];
@@ -15,6 +15,7 @@ export interface RouteProtection {
15
15
  }
16
16
  export interface RouteProtectionGuardOptions extends ToolGuardOptions {
17
17
  protectionFor?(agent: DshAgent | undefined): RouteProtection | undefined;
18
+ isReadOnlyResponsibility?(agent: DshAgent | undefined): boolean;
18
19
  }
19
20
  export interface ToolResultSummary {
20
21
  callId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"governance.d.mts","sourceRoot":"","sources":["../src/governance.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIzF,eAAO,MAAM,0BAA0B,2QAmB5B,CAAC;AAEZ,eAAO,MAAM,0CAA0C,6LAc5C,CAAC;AAEZ,eAAO,MAAM,2BAA2B,0GAQ7B,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,aAAa,CAAC,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC;CAC1E;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAItE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,gBAAqB,GAAG,CAAC,SAAS,EAAE,aAAa,KAAK,MAAM,GAAG,SAAS,CAgBrH;AAaD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAClC,cAAc,GAAE,SAAS,QAAQ,EAAE,GAAG,SAAyC,GAC9E,eAAe,GAAG,SAAS,CA6B7B;AAED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,2BAAgC,GACxC,CAAC,SAAS,EAAE,aAAa,KAAK,MAAM,GAAG,SAAS,CAqBlD;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,GAAG,iBAAiB,CAcnG"}
1
+ {"version":3,"file":"governance.d.mts","sourceRoot":"","sources":["../src/governance.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIzF,eAAO,MAAM,0BAA0B,2QAmB5B,CAAC;AAEZ,eAAO,MAAM,0CAA0C,6LAc5C,CAAC;AAEZ,eAAO,MAAM,2BAA2B,kIAS7B,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,aAAa,CAAC,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC;IACzE,wBAAwB,CAAC,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;CACjE;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAItE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,gBAAqB,GAAG,CAAC,SAAS,EAAE,aAAa,KAAK,MAAM,GAAG,SAAS,CAgBrH;AAaD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAClC,cAAc,GAAE,SAAS,QAAQ,EAAE,GAAG,SAAyC,GAC9E,eAAe,GAAG,SAAS,CA6B7B;AAED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,2BAAgC,GACxC,CAAC,SAAS,EAAE,aAAa,KAAK,MAAM,GAAG,SAAS,CA4BlD;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,GAAG,iBAAiB,CAcnG"}
@@ -36,6 +36,7 @@ export const DEFAULT_PROTECTED_CONTROLLER_ALLOWED_TOOLS = Object.freeze([
36
36
  "odai_responsibility_return",
37
37
  ]);
38
38
  export const DEFAULT_CHILD_ALLOWED_TOOLS = Object.freeze([
39
+ "odai_review_evidence",
39
40
  "read",
40
41
  "read_image",
41
42
  "glob",
@@ -128,6 +129,13 @@ export function createRouteProtectionGuard(options = {}) {
128
129
  return undefined;
129
130
  if (allowed.has(execution?.name))
130
131
  return undefined;
132
+ if (options.isReadOnlyResponsibility?.(execution?.agent)) {
133
+ // Preserve the public denial code while enforcing responsibility permissions
134
+ // independently of risk classification, routing mode, or risk-release state.
135
+ const reason = `ODAI_HIGH_IMPACT_ROUTE_BLOCKED: active read-only responsibility may not execute ${execution.name}; return evidence to the controller instead.`;
136
+ onDenied(execution, reason);
137
+ return reason;
138
+ }
131
139
  const protection = protectionFor(execution?.agent);
132
140
  if (!protection)
133
141
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"governance.mjs","sourceRoot":"","sources":["../src/governance.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.mjs","sourceRoot":"","sources":["../src/governance.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAwBA,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAEV,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,IAAI,qBAAe,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAEtF,eAAO,MAAM,MAAM,UAA4D,CAAC;AA0BhF,wBAAgB,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAqOtE"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAeA,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAEV,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,IAAI,qBAAe,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAEtF,eAAO,MAAM,MAAM,UAA4D,CAAC;AA0BhF,wBAAgB,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAoOtE"}
@@ -4,11 +4,11 @@ import { installControlCenterRuntimeWhenAvailable } from "./control-center-runti
4
4
  import { installLifecycleRuntime } from "./lifecycle-runtime.mjs";
5
5
  import { classifyModelRouteFailure, probeModelRoute } from "./model-route.mjs";
6
6
  import { createPromptRuntime } from "./prompt-runtime.mjs";
7
- import { latestDanglingResponsibilityScope, responsibilityScopeStoppedEvent, } from "./responsibility-scope.mjs";
7
+ import { createResponsibilityScopeOwner } from "./responsibility-scope.mjs";
8
8
  import { classifyPendingReviewerText, extractLatestUserText, hasExplicitRequestRevision } from "./router.mjs";
9
9
  import { invalidatePersistedRoleRoute } from "./routing-config.mjs";
10
10
  import { inheritCompactionReasoning, resolveConfig, resolveSkillPath, } from "./runtime-config.mjs";
11
- import { RUNTIME_NAME, loggerFor, routeFromConfig, runRoutedRole, sameRequestModelRoute, } from "./runtime-support.mjs";
11
+ import { RUNTIME_NAME, loggerFor, routedRoleOf, routeFromConfig, runRoutedRole, sameRequestModelRoute, } from "./runtime-support.mjs";
12
12
  import { createSessionEvidence, resolveSessionEvidenceRoot } from "./session-evidence.mjs";
13
13
  import { currentAgentTurn } from "./skill-selection-state.mjs";
14
14
  import { hasUncommittedDirectInput, latestDirectUserMessage } from "./semantic-memory.mjs";
@@ -43,9 +43,48 @@ export function apply(ctx, rawConfig) {
43
43
  root: resolveSessionEvidenceRoot(config.routing.configPath),
44
44
  logger,
45
45
  });
46
+ const childReceiptParents = new WeakMap();
47
+ ctx.on("agent/created", ({ agent }) => {
48
+ const parentId = agent.session.header.parentSession;
49
+ if (typeof parentId !== "string" || !parentId || parentId === agent.session.header.id)
50
+ return;
51
+ try {
52
+ const parent = ctx.sessions?.get(parentId);
53
+ if (!parent || parent.header.id !== parentId)
54
+ return;
55
+ const events = parent.snapshotEvents();
56
+ const boundary = events.findLast((event) => event.type === "turn/start" || event.type === "turn/end");
57
+ const turn = boundary?.type === "turn/start" && Number.isSafeInteger(boundary.data.turn) ? Number(boundary.data.turn) : undefined;
58
+ const stepEvent = turn === undefined ? undefined : events.findLast((event) => event.type === "step/start" && event.data.turn === turn);
59
+ const step = Number.isSafeInteger(stepEvent?.data.step) ? Number(stepEvent?.data.step) : undefined;
60
+ childReceiptParents.set(agent.session, { parent: { session: parent }, parentId, turn, step });
61
+ }
62
+ catch (error) {
63
+ logger.warn(`failed to associate child route evidence: ${error instanceof Error ? error.message : String(error)}`);
64
+ }
65
+ });
46
66
  const appendEvent = (agent, type, data) => {
47
67
  try {
48
- evidence.append(agent, type, data);
68
+ const receipt = evidence.append(agent, type, data);
69
+ if (!receipt || !["odai/route-applied", "odai/route-fallback"].includes(type)
70
+ || receipt.data.routeMode !== "child" || !routedRoleOf(agent))
71
+ return;
72
+ const link = childReceiptParents.get(agent.session);
73
+ const childSessionId = agent.session.header.id;
74
+ if (!link || typeof childSessionId !== "string" || !childSessionId
75
+ || agent.session.header.parentSession !== link.parentId)
76
+ return;
77
+ const { turn: childTurn, step: childStep, ...details } = receipt.data;
78
+ // Later resident work has no authenticated parent-turn binding.
79
+ const firstNativeTurn = agent.session.snapshotEvents().find((event) => event.type === "turn/start");
80
+ const firstTurn = Number.isSafeInteger(firstNativeTurn?.data.turn) && childTurn === firstNativeTurn?.data.turn;
81
+ evidence.append(link.parent, type, {
82
+ ...details,
83
+ ...(firstTurn && link.turn !== undefined ? { turn: link.turn } : {}),
84
+ ...(firstTurn && link.step !== undefined ? { step: link.step } : {}),
85
+ childSessionId, childReceiptId: receipt.id, childTurn, childStep,
86
+ parentAssociation: firstTurn ? "child-activation" : "parent-session-only",
87
+ });
49
88
  }
50
89
  catch (error) {
51
90
  logger.warn(`failed to record ${type}: ${error instanceof Error ? error.message : String(error)}`);
@@ -78,44 +117,10 @@ export function apply(ctx, rawConfig) {
78
117
  });
79
118
  const { baseSelection, bundled, evolutionDisabled, explicitSkillPath, memorySettingsFor, routingSnapshotFor, selectOutputForAgent, skillPath, } = promptRuntime;
80
119
  const routeProtections = new WeakMap();
81
- const responsibilityScopes = new WeakMap();
82
- const responsibilityScopeOwners = new WeakMap();
83
- const pendingRouteReceipts = new WeakMap();
84
- const pendingScopeRestorations = new WeakMap();
85
- const outputUsageBySession = new WeakMap();
86
- const stopResponsibilityScope = (agent, reason, position = {}) => {
87
- const scope = responsibilityScopes.get(agent);
88
- if (!scope || (position.scopeId && position.scopeId !== scope.id))
89
- return undefined;
90
- responsibilityScopes.delete(agent);
91
- const protection = routeProtections.get(agent);
92
- if (protection?.scopeId === scope.id)
93
- routeProtections.delete(agent);
94
- appendEvent(agent, "odai/route-protection-released", {
95
- scopeId: scope.id,
96
- turn: scope.turn,
97
- reason,
98
- });
99
- appendEvent(agent, "odai/responsibility-scope-stopped", responsibilityScopeStoppedEvent(scope, reason, position));
100
- return scope;
101
- };
102
- const stopDanglingResponsibilityScope = (agent, reason) => {
103
- if (responsibilityScopes.has(agent))
104
- return undefined;
105
- const dangling = latestDanglingResponsibilityScope(evidence.events(agent));
106
- if (!dangling)
107
- return undefined;
108
- appendEvent(agent, "odai/route-protection-released", {
109
- scopeId: dangling.scopeId,
110
- turn: dangling.turn,
111
- reason,
112
- });
113
- appendEvent(agent, "odai/responsibility-scope-stopped", {
114
- ...dangling,
115
- reason,
116
- });
117
- return dangling;
118
- };
120
+ const responsibilityScopes = createResponsibilityScopeOwner({
121
+ appendEvent, events: (agent) => evidence.events(agent), routeProtections,
122
+ });
123
+ ctx.effect?.(() => responsibilityScopes.dispose, "odai: responsibility scope owner");
119
124
  const configuredRole = (agent, role, turn = currentAgentTurn(agent)) => {
120
125
  const state = routingSnapshotFor(agent, turn);
121
126
  if (state.error || !state.snapshot)
@@ -230,13 +235,12 @@ export function apply(ctx, rawConfig) {
230
235
  installToolRuntime({
231
236
  appendEvent, baseSelection, bundled, config, ctx, evidence, evolutionDisabled, explicitSkillPath,
232
237
  hasSessionEvent, humanSafetyContinuityStorePath, logger, pendingResponsibilityGap, promptRuntime,
233
- responsibilityScopes, routeProtections, selectOutputForAgent, stopResponsibilityScope,
238
+ responsibilityScopes, routeProtections, selectOutputForAgent,
234
239
  });
235
240
  installLifecycleRuntime({
236
241
  appendEvent, bundled, config, configuredRole, ctx, evidence, hasSessionEvent, invalidateFailedRoleRoute,
237
- logger, memorySettingsFor, outputUsageBySession, pendingResponsibilityGap, pendingRouteReceipts,
238
- pendingScopeRestorations, responsibilityScopeOwners, responsibilityScopes, routeProtections,
239
- selectOutputForAgent, stopDanglingResponsibilityScope, stopResponsibilityScope,
242
+ logger, memorySettingsFor, pendingResponsibilityGap, responsibilityScopes, routeProtections,
243
+ selectOutputForAgent,
240
244
  });
241
245
  logger.info(`loaded canonical governance ${bundled.manifest.skillVersion} from ${skillPath}; skillSource=${explicitSkillPath ? "path" : config.governance.skillSource}; routing=${config.routing.mode}`);
242
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { ResponsibilityGapProposal } from "./responsibility-gap.mjs";
2
2
  import type { SessionOutputSelection } from "./output-session.mjs";
3
- import type { ResponsibilityScope } from "./responsibility-scope.mjs";
3
+ import type { ResponsibilityScopeOwner } from "./responsibility-scope.mjs";
4
4
  export type { ResponsibilityScope } from "./responsibility-scope.mjs";
5
5
  import type { SkillBundle } from "./skill-bundle.mjs";
6
- import type { DshAgent, DshEvent, DshRuntimeContext, DshSession, ModelRoute, ResponsibilityDispatch, RuntimeConfig, RuntimeEventData, RuntimeLogger, UnknownRecord } from "./runtime-types.mjs";
6
+ import type { DshAgent, DshEvent, DshRuntimeContext, ModelRoute, ResponsibilityDispatch, RuntimeConfig, RuntimeEventData, RuntimeLogger, UnknownRecord } from "./runtime-types.mjs";
7
7
  interface RouteFailure {
8
8
  kind: string;
9
9
  code: string;
@@ -65,16 +65,10 @@ interface LifecycleDependencies {
65
65
  invalidateFailedRoleRoute(agent: DshAgent, role: string, route: ModelRoute, source: string | undefined, failure: RouteFailure, position?: RuntimeEventData): UnknownRecord;
66
66
  logger: RuntimeLogger;
67
67
  memorySettingsFor(agent: DshAgent, turn?: number): MemorySettings;
68
- outputUsageBySession: WeakMap<DshSession, OutputUsage>;
69
68
  pendingResponsibilityGap(agent: DshAgent, turn: number | undefined, step: number): ResponsibilityGapProposal | undefined;
70
- pendingRouteReceipts: WeakMap<DshSession, PendingRouteReceipt>;
71
- pendingScopeRestorations: WeakMap<DshSession, PendingRestoration>;
72
- responsibilityScopeOwners: WeakMap<DshSession, DshAgent>;
73
- responsibilityScopes: WeakMap<DshAgent, ResponsibilityScope>;
69
+ responsibilityScopes: ResponsibilityScopeOwner;
74
70
  routeProtections: WeakMap<DshAgent, RouteProtection>;
75
71
  selectOutputForAgent(agent?: DshAgent, turn?: number): SessionOutputSelection;
76
- stopDanglingResponsibilityScope(agent: DshAgent, reason: string): RuntimeEventData | undefined;
77
- stopResponsibilityScope(agent: DshAgent, reason: string, position?: RuntimeEventData): ResponsibilityScope | undefined;
78
72
  }
79
73
  export declare function installLifecycleRuntime(deps: LifecycleDependencies): void;
80
74
  //# sourceMappingURL=lifecycle-runtime.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-runtime.d.mts","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-runtime.d.mts","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}