odai-dsh-agent 0.2.56 → 0.3.1
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 +11 -9
- package/client/client.js +83 -6
- package/package.json +1 -1
- package/preset/odai/package.json +2 -1
- package/preset/odai/runtime/context-activation.mjs +1 -1
- package/preset/odai/runtime/context-activation.mjs.map +1 -1
- package/preset/odai/runtime/control-center-runtime.d.mts +3 -0
- package/preset/odai/runtime/control-center-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/control-center-runtime.mjs +8 -3
- package/preset/odai/runtime/control-center-runtime.mjs.map +1 -1
- package/preset/odai/runtime/index.d.mts.map +1 -1
- package/preset/odai/runtime/index.mjs +52 -2
- package/preset/odai/runtime/index.mjs.map +1 -1
- package/preset/odai/runtime/lead-mode.d.mts +23 -0
- package/preset/odai/runtime/lead-mode.d.mts.map +1 -0
- package/preset/odai/runtime/lead-mode.mjs +17 -0
- package/preset/odai/runtime/lead-mode.mjs.map +1 -0
- package/preset/odai/runtime/lifecycle-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/lifecycle-runtime.mjs +199 -13
- package/preset/odai/runtime/lifecycle-runtime.mjs.map +1 -1
- package/preset/odai/runtime/responsibility-gap.d.mts +4 -1
- package/preset/odai/runtime/responsibility-gap.d.mts.map +1 -1
- package/preset/odai/runtime/responsibility-gap.mjs +1 -0
- package/preset/odai/runtime/responsibility-gap.mjs.map +1 -1
- package/preset/odai/runtime/role-overlays.d.mts +1 -1
- package/preset/odai/runtime/role-overlays.d.mts.map +1 -1
- package/preset/odai/runtime/role-overlays.mjs +4 -1
- package/preset/odai/runtime/role-overlays.mjs.map +1 -1
- package/preset/odai/runtime/route-session.d.mts +20 -0
- package/preset/odai/runtime/route-session.d.mts.map +1 -0
- package/preset/odai/runtime/route-session.mjs +44 -0
- package/preset/odai/runtime/route-session.mjs.map +1 -0
- package/preset/odai/runtime/router.d.mts +2 -1
- package/preset/odai/runtime/router.d.mts.map +1 -1
- package/preset/odai/runtime/router.mjs +52 -1
- package/preset/odai/runtime/router.mjs.map +1 -1
- package/preset/odai/runtime/routing-config.d.mts +5 -2
- package/preset/odai/runtime/routing-config.d.mts.map +1 -1
- package/preset/odai/runtime/routing-config.mjs +25 -14
- package/preset/odai/runtime/routing-config.mjs.map +1 -1
- package/preset/odai/runtime/runtime-config.d.mts +1 -1
- package/preset/odai/runtime/runtime-config.d.mts.map +1 -1
- package/preset/odai/runtime/runtime-support.d.mts +6 -1
- package/preset/odai/runtime/runtime-support.d.mts.map +1 -1
- package/preset/odai/runtime/runtime-support.mjs +15 -7
- package/preset/odai/runtime/runtime-support.mjs.map +1 -1
- package/preset/odai/runtime/runtime-types.d.mts +2 -0
- package/preset/odai/runtime/runtime-types.d.mts.map +1 -1
- package/preset/odai/runtime/runtime-types.mjs.map +1 -1
- package/preset/odai/runtime/session-controls.d.mts +33 -0
- package/preset/odai/runtime/session-controls.d.mts.map +1 -0
- package/preset/odai/runtime/session-controls.mjs +64 -0
- package/preset/odai/runtime/session-controls.mjs.map +1 -0
- package/preset/odai/runtime/session-evidence.d.mts.map +1 -1
- package/preset/odai/runtime/session-evidence.mjs +11 -4
- package/preset/odai/runtime/session-evidence.mjs.map +1 -1
- package/preset/odai/runtime/skill-bundle.d.mts +1 -1
- package/preset/odai/runtime/skill-bundle.d.mts.map +1 -1
- package/preset/odai/runtime/tool-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/tool-runtime.mjs +28 -0
- package/preset/odai/runtime/tool-runtime.mjs.map +1 -1
- package/preset/odai/skills/odai-orchestration/SKILL.md +1 -1
- package/preset/odai/skills/odai-orchestration/assets/routing-roles/controller.md +1 -1
- package/preset/odai/skills/odai-orchestration/assets/routing-roles/writer.md +9 -0
- package/preset/odai/skills/odai-orchestration/manifest.json +10 -4
- package/preset/odai/skills/odai-orchestration/references/install.md +66 -4
- package/preset/odai/skills/odai-orchestration/references/orchestration.md +2 -1
- package/preset/odai/skills/odai-orchestration/scripts/build-routing.mjs +78 -24
- package/preset/odai/skills/odai-orchestration/scripts/compose-contracts.d.mts +1 -1
- package/preset/odai/skills/odai-orchestration/scripts/compose-contracts.mjs +6 -5
- package/preset/odai/skills/odai-orchestration/scripts/install-routing.mjs +66 -15
- package/preset/odai/skills/odai-orchestration/scripts/local-cli.d.mts +8 -0
- package/preset/odai/skills/odai-orchestration/scripts/local-cli.mjs +25 -9
- package/preset/odai/skills/odai-orchestration/scripts/recognize-routing.d.mts +6 -0
- package/preset/odai/skills/odai-orchestration/scripts/recognize-routing.mjs +93 -0
- package/preset/odai/skills/odai-orchestration/scripts/route-hook.mjs +243 -0
- package/preset/odai/skills/odai-orchestration/scripts/run-role.mjs +71 -16
- package/preset/odai/skills/odai-orchestration/scripts/verify-routing.mjs +2 -2
|
@@ -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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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DshEvent } from "./runtime-types.mjs";
|
|
2
|
+
export { recognizeLeadSwitch } from "#odai-recognize-routing";
|
|
3
|
+
export declare const leadState: (events: readonly DshEvent[]) => import("./runtime-types.mjs").RuntimeEventData | undefined;
|
|
4
|
+
export declare function leadTaskId(events: readonly DshEvent[], messageId: string | undefined, continuing: boolean): string | undefined;
|
|
5
|
+
export declare function isLeadWriteTool(name: string): boolean;
|
|
6
|
+
export declare function leadGap(role: "planner" | "reviewer", taskMessageId: string, turn: number | undefined, step: number, round?: number): {
|
|
7
|
+
responsibility: import("./responsibility-gap.mjs").Responsibility;
|
|
8
|
+
gap: string;
|
|
9
|
+
evidenceRefs: readonly string[];
|
|
10
|
+
expectedChange: string;
|
|
11
|
+
requirements?: readonly import("./responsibility-gap.mjs").RequirementDecision[];
|
|
12
|
+
question?: string;
|
|
13
|
+
stateDigest: string;
|
|
14
|
+
source: string;
|
|
15
|
+
userNamed: boolean;
|
|
16
|
+
timing: string;
|
|
17
|
+
taskMessageId: string;
|
|
18
|
+
turn: number | undefined;
|
|
19
|
+
step: number;
|
|
20
|
+
round: number;
|
|
21
|
+
};
|
|
22
|
+
export { parseLeadVerdict } from "#odai-recognize-routing";
|
|
23
|
+
//# sourceMappingURL=lead-mode.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lead-mode.d.mts","sourceRoot":"","sources":["../src/lead-mode.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,eAAO,MAAM,SAAS,WAAY,SAAS,QAAQ,EAAE,+DAAoE,CAAC;AAC1H,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9H;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AACD,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI;;;;;;;;;;;;;;;EAG7H;AACD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { resolveResponsibilityGap } from "./responsibility-gap.mjs";
|
|
2
|
+
export { recognizeLeadSwitch } from "#odai-recognize-routing";
|
|
3
|
+
export const leadState = (events) => events.findLast(event => event.type === "odai/lead-mode")?.data;
|
|
4
|
+
export function leadTaskId(events, messageId, continuing) {
|
|
5
|
+
return continuing ? events.findLast(event => event.type === "odai/lead-task")?.data.taskMessageId ?? messageId : messageId;
|
|
6
|
+
}
|
|
7
|
+
// DSH's public tool contract exposes no reliable per-call mutation classification.
|
|
8
|
+
// Known inspection tools are read-only; arbitrary commands and unknown tools are conservative writes.
|
|
9
|
+
export function isLeadWriteTool(name) {
|
|
10
|
+
return !new Set(["read", "glob", "grep", "web_search", "web_fetch", "read_image", "job_output", "job_list", "list_agents", "working_directory", "odai_responsibility_gap", "odai_responsibility_return", "odai_review_evidence", "odai_reference"]).has(name);
|
|
11
|
+
}
|
|
12
|
+
export function leadGap(role, taskMessageId, turn, step, round = 0) {
|
|
13
|
+
const proposal = resolveResponsibilityGap({ responsibility: role, gap: role === "planner" ? "主导模式:第一次写入前规划" : "主导模式:验收本任务的写入", evidenceRefs: [`user-message:${taskMessageId}`], expectedChange: "回交判断;失败时如实说明,不重试或替换模型" });
|
|
14
|
+
return { ...proposal, stateDigest: `user-named:lead-mode:${taskMessageId}:${role}:${round}`, source: "lead-mode", userNamed: true, timing: role === "planner" ? "start" : "completion", taskMessageId, turn, step: step - 1, round };
|
|
15
|
+
}
|
|
16
|
+
export { parseLeadVerdict } from "#odai-recognize-routing";
|
|
17
|
+
//# sourceMappingURL=lead-mode.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lead-mode.mjs","sourceRoot":"","sources":["../src/lead-mode.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAA2B,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,IAAI,CAAC;AAC1H,MAAM,UAAU,UAAU,CAAC,MAA2B,EAAE,SAA6B,EAAE,UAAmB;IACxG,OAAO,UAAU,CAAC,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,IAAI,CAAC,aAAoC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACrJ,CAAC;AACD,mFAAmF;AACnF,sGAAsG;AACtG,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChQ,CAAC;AACD,MAAM,UAAU,OAAO,CAAC,IAA4B,EAAE,aAAqB,EAAE,IAAwB,EAAE,IAAY,EAAE,KAAK,GAAG,CAAC;IAC5H,MAAM,QAAQ,GAAG,wBAAwB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,gBAAgB,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3N,OAAO,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,wBAAwB,aAAa,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;AACvO,CAAC;AACD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-runtime.d.mts","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifecycle-runtime.d.mts","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,yBAAyB,EAAkB,MAAM,0BAA0B,CAAC;AAM1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAcnE,OAAO,KAAK,EAAyB,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAClG,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAStE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AActD,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EAER,iBAAiB,EAEjB,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACd,MAAM,qBAAqB,CAAC;AAgB7B,UAAU,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACtE,UAAU,SAAS;IAAG,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,UAAU,CAAA;CAAE;AAC7L,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAAG,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AAa3E,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IAAG,KAAK,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,UAAU,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE;AAC5R,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IAAG,KAAK,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,UAAU,CAAA;CAAE;AACnK,MAAM,WAAW,WAAY,SAAQ,aAAa;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AACvG,UAAU,cAAc;IAAG,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAgBjE,UAAU,qBAAqB;IAC7B,uBAAuB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxE,GAAG,EAAE,iBAAiB,CAAC;IACvB,QAAQ,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;KAAE,CAAC;IAClD,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC;IACxG,yBAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC;IAC3K,MAAM,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAClE,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAAC;IACzH,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACrD,oBAAoB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;CAC/E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CA48CzE"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { recognizeLeadSwitch, leadState, leadTaskId, leadGap, parseLeadVerdict } from "./lead-mode.mjs";
|
|
1
2
|
import { classifyResponsibilityInterruptionText, decideResearchPrefetch, decideRoute, extractLatestUserText, extractRoutingText, renderMissingRouteConfigNotice, renderRouteFailureNotice, renderRouteNotice, } from "./router.mjs";
|
|
3
|
+
import { recognizeNamedRequests, resolveResponsibilityGap } from "./responsibility-gap.mjs";
|
|
4
|
+
import { CONFIGURABLE_ROLES } from "./routing-config.mjs";
|
|
5
|
+
import { classifyPendingReviewerText } from "./router.mjs";
|
|
2
6
|
import { classifyModelRouteFailure, probeModelRoute } from "./model-route.mjs";
|
|
3
7
|
import { selectSharedOutputPolicyForTurn } from "./output-policy-state.mjs";
|
|
4
8
|
import { prepareSessionOutputControl, previewSessionOutputControl } from "./output-session.mjs";
|
|
@@ -12,7 +16,7 @@ import { captureAutomaticMemories, claimSemanticMemoryTurn, currentDirectInput,
|
|
|
12
16
|
import { sessionEvents } from "./runtime-types.mjs";
|
|
13
17
|
const DIRECT_USER_TASK_HEADING = "\n# Direct user task";
|
|
14
18
|
function effectiveRoleDispatch(role, configured, routingMode) {
|
|
15
|
-
if (role === "creative")
|
|
19
|
+
if (role === "creative" || role === "writer")
|
|
16
20
|
return "child";
|
|
17
21
|
if (configured)
|
|
18
22
|
return configured;
|
|
@@ -40,6 +44,100 @@ export function installLifecycleRuntime(deps) {
|
|
|
40
44
|
const outputUsageBySession = new WeakMap();
|
|
41
45
|
const inputRequests = new WeakMap();
|
|
42
46
|
const inputGuards = new WeakSet();
|
|
47
|
+
const namedGaps = (agent) => evidence.events(agent).filter(event => event.type === "odai/responsibility-gap" && event.data.userNamed === true);
|
|
48
|
+
const gapConsumed = (agent, digest) => evidence.events(agent).some(event => event.type === "odai/responsibility-gap-consumed" && event.data.stateDigest === digest);
|
|
49
|
+
const promptNamedRequests = ({ agent, turn, signal }) => {
|
|
50
|
+
if (signal.aborted || isSubagentSession(agent) || config.routing.mode === "off" || namedGaps(agent).length === 0)
|
|
51
|
+
return;
|
|
52
|
+
pendingResponsibilityGap(agent, turn, Number.MAX_SAFE_INTEGER);
|
|
53
|
+
const events = evidence.events(agent);
|
|
54
|
+
const prompts = [];
|
|
55
|
+
for (const { data } of namedGaps(agent).sort((left, right) => Number(left.data.timing === "completion") - Number(right.data.timing === "completion"))) {
|
|
56
|
+
if (gapConsumed(agent, data.stateDigest))
|
|
57
|
+
continue;
|
|
58
|
+
const message = latestDirectUserMessage(agent);
|
|
59
|
+
if (!message || (message.id !== data.taskMessageId && classifyPendingReviewerText(extractLatestUserText([message])) !== "continue")) {
|
|
60
|
+
appendEvent(agent, "odai/responsibility-gap-consumed", { turn, stateDigest: data.stateDigest, responsibility: data.responsibility, reason: "SUPERSEDED_BY_DIRECT_USER_TASK" });
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const step = agent.phase?.step ?? sessionEvents(agent.session).findLast(event => event.type === "step/start")?.data.step ?? 0;
|
|
64
|
+
const prompted = events.find(event => event.type === "odai/named-request-prompted" && event.data.stateDigest === data.stateDigest);
|
|
65
|
+
if (prompted) {
|
|
66
|
+
// Coexisting Plugin/Agent listeners can observe the same stop. Only a
|
|
67
|
+
// later native step may conclude that the one reminder was ineffective.
|
|
68
|
+
if (prompted.data.turn === turn && prompted.data.step === step)
|
|
69
|
+
return;
|
|
70
|
+
appendEvent(agent, "odai/responsibility-gap-consumed", { turn, step, stateDigest: data.stateDigest, responsibility: data.responsibility, reason: "NAMED_REQUEST_INCOMPLETE_AFTER_PROMPT" });
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
appendEvent(agent, "odai/named-request-prompted", { turn, step, stateDigest: data.stateDigest, responsibility: data.responsibility });
|
|
74
|
+
prompts.push(String(data.responsibility));
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
if (prompts.length && !signal.aborted)
|
|
78
|
+
agent.steer?.(pluginMessage(`用户点名尚待运行:${prompts.join("、")}。运行时将在下一步按顺序派发;不要重复提交同项。最终答复逐项说明实际模型与结果,未完成时说明原因,不替换模型或配置。`, "odai named responsibility request"));
|
|
79
|
+
};
|
|
80
|
+
const checkedNamedInputs = new WeakMap();
|
|
81
|
+
const recognizeDirectNames = (agent, turn, step, message) => {
|
|
82
|
+
if (!message?.id || isSubagentSession(agent) || config.routing.mode === "off" || checkedNamedInputs.get(agent)?.has(message.id) || hasSessionEvent(agent, "odai/named-input-checked", data => data.taskMessageId === message.id))
|
|
83
|
+
return;
|
|
84
|
+
let checked = checkedNamedInputs.get(agent);
|
|
85
|
+
if (!checked) {
|
|
86
|
+
checked = new Set();
|
|
87
|
+
checkedNamedInputs.set(agent, checked);
|
|
88
|
+
}
|
|
89
|
+
checked.add(message.id);
|
|
90
|
+
const text = extractLatestUserText([message]);
|
|
91
|
+
const routes = {};
|
|
92
|
+
for (const role of CONFIGURABLE_ROLES) {
|
|
93
|
+
const route = configuredRole(agent, role, turn).route;
|
|
94
|
+
if (route)
|
|
95
|
+
routes[role] = route;
|
|
96
|
+
}
|
|
97
|
+
const change = recognizeLeadSwitch(text, {
|
|
98
|
+
...(routes.planner ? { planner: routes.planner } : {}),
|
|
99
|
+
...(routes.reviewer ? { reviewer: routes.reviewer } : {}),
|
|
100
|
+
});
|
|
101
|
+
if (change && !hasSessionEvent(agent, "odai/lead-switch-checked", data => data.taskMessageId === message.id)) {
|
|
102
|
+
appendEvent(agent, "odai/lead-switch-checked", { taskMessageId: message.id });
|
|
103
|
+
if (!change.issue) {
|
|
104
|
+
appendEvent(agent, "odai/lead-mode", { taskMessageId: message.id, ...change });
|
|
105
|
+
if (!change.enabled)
|
|
106
|
+
for (const event of namedGaps(agent))
|
|
107
|
+
if (event.data.source === "lead-mode" && !gapConsumed(agent, event.data.stateDigest))
|
|
108
|
+
appendEvent(agent, "odai/responsibility-gap-consumed", { stateDigest: event.data.stateDigest, reason: "LEAD_MODE_DISABLED" });
|
|
109
|
+
}
|
|
110
|
+
agent.inject?.(pluginMessage(`主导模式:${change.issue ?? (change.enabled ? "已开启" : "已关闭")}。规划与审查插槽:${JSON.stringify(Object.fromEntries(change.roles.map(role => [role, routes[role]])))}。未启用的插槽不调用;关闭说“关闭主导模式”。请向用户说明。`, "odai lead mode"));
|
|
111
|
+
}
|
|
112
|
+
const taskMessageId = leadTaskId(evidence.events(agent), message.id, classifyPendingReviewerText(text) === "continue");
|
|
113
|
+
if (leadState(evidence.events(agent))?.enabled && !hasSessionEvent(agent, "odai/lead-task", data => data.taskMessageId === taskMessageId))
|
|
114
|
+
appendEvent(agent, "odai/lead-task", { taskMessageId });
|
|
115
|
+
const requests = recognizeNamedRequests(text, routes);
|
|
116
|
+
if (requests.length)
|
|
117
|
+
appendEvent(agent, "odai/named-input-checked", { turn, step, taskMessageId: message.id });
|
|
118
|
+
const notices = [];
|
|
119
|
+
for (const request of requests) {
|
|
120
|
+
if (request.canceled) {
|
|
121
|
+
for (const { data } of namedGaps(agent))
|
|
122
|
+
if (data.responsibility === request.responsibility && !gapConsumed(agent, data.stateDigest))
|
|
123
|
+
appendEvent(agent, "odai/responsibility-gap-consumed", { turn, step, responsibility: data.responsibility, stateDigest: data.stateDigest, reason: "CANCELED_BY_USER" });
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (request.issue) {
|
|
127
|
+
appendEvent(agent, "odai/named-request-unfulfilled", { turn, step, taskMessageId: message.id, ...request, configuredRoute: routes[request.responsibility] });
|
|
128
|
+
notices.push(`${request.responsibility}(${request.name}):${request.issue};当前映射 ${JSON.stringify(routes[request.responsibility] ?? null)}`);
|
|
129
|
+
if (request.issue === "unconfigured") {
|
|
130
|
+
const proposal = resolveResponsibilityGap({ responsibility: request.responsibility, gap: request.excerpt, evidenceRefs: [`user-message:${message.id}`], expectedChange: "完成用户点名职责" });
|
|
131
|
+
notices.push(renderMissingRouteConfigNotice(decideRoute({ text, proposal, writerConfigured: true, creativeConfigured: true }), config.routing.mode));
|
|
132
|
+
}
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const proposal = resolveResponsibilityGap({ responsibility: request.responsibility, gap: `用户明确点名:${request.excerpt}`, evidenceRefs: [`user-message:${message.id}`], expectedChange: `按用户指定的${request.timing}时机完成该职责并回交` });
|
|
136
|
+
appendEvent(agent, "odai/responsibility-gap", { ...proposal, stateDigest: `user-named:${proposal.stateDigest}:${message.id}:${request.timing}`, taskMessageId: message.id, turn, step: step - 1, userNamed: true, timing: request.timing, sourceExcerpt: request.excerpt, requestedName: request.name, requestedRoute: routes[request.responsibility] });
|
|
137
|
+
notices.push(`${request.responsibility}:${request.timing === "start" ? "开始时" : "完成时"}`);
|
|
138
|
+
}
|
|
139
|
+
return notices.length ? pluginMessage(`用户点名:${notices.join(";")}。由运行时负责按顺序派发;总控不要自己再派同一项。最终答复必须逐项说明哪个实际模型做了什么,以及未完成的原因;不得替换职责、模型或修改配置。`, "odai user named responsibilities") : undefined;
|
|
140
|
+
};
|
|
43
141
|
ctx.on("agent/inbox/claimed", ({ agent, turn, message }) => {
|
|
44
142
|
if (isSubagentSession(agent) || typeof agent.ctx?.on !== "function" || !agent.session.id)
|
|
45
143
|
return;
|
|
@@ -355,6 +453,9 @@ export function installLifecycleRuntime(deps) {
|
|
|
355
453
|
const turn = position?.turn;
|
|
356
454
|
const step = position?.step;
|
|
357
455
|
if (message && message.id === event.data.id && typeof turn === "number" && typeof step === "number") {
|
|
456
|
+
const notice = recognizeDirectNames(owner, turn, step, message);
|
|
457
|
+
if (notice)
|
|
458
|
+
session.append("user/message", notice, { surfaceOp: "append" });
|
|
358
459
|
prepareSessionOutputControl({
|
|
359
460
|
events: evidence.events(owner), text: extractLatestUserText([message]), turn, step,
|
|
360
461
|
userMessageId: typeof message.id === "string" ? message.id : undefined,
|
|
@@ -396,13 +497,8 @@ export function installLifecycleRuntime(deps) {
|
|
|
396
497
|
step: event.data?.step ?? activeScope.startStep,
|
|
397
498
|
responsibility: activeScope.role,
|
|
398
499
|
target: "controller",
|
|
399
|
-
status:
|
|
500
|
+
status: "recovery-pending",
|
|
400
501
|
});
|
|
401
|
-
owner.inject?.(pluginMessage([
|
|
402
|
-
`The same-turn ${activeScope.role} responsibility emitted a terminal response without odai_responsibility_return.`,
|
|
403
|
-
"Its text is an unverified read-only draft, not final delivery or independent acceptance.",
|
|
404
|
-
"The runtime restored the controller route. Verify the decisive claims, continue the authorized task, and keep controller ownership of final delivery.",
|
|
405
|
-
].join("\n"), `${activeScope.role} handback recovery`));
|
|
406
502
|
}
|
|
407
503
|
}
|
|
408
504
|
if (event?.type === "assistant/chunk" && event.data?.chunk?.type === "usage") {
|
|
@@ -590,8 +686,57 @@ export function installLifecycleRuntime(deps) {
|
|
|
590
686
|
}
|
|
591
687
|
pendingRouteReceipts.delete(session);
|
|
592
688
|
});
|
|
593
|
-
ctx.on("agent/turn-stopping", ({ agent, turn }) => {
|
|
689
|
+
ctx.on("agent/turn-stopping", ({ agent, turn, signal }) => {
|
|
594
690
|
stopResponsibilityScope(agent, "turn-stopping");
|
|
691
|
+
const missing = evidence.events(agent).findLast(event => event.type === "odai/responsibility-return-missing" && event.data.turn === turn);
|
|
692
|
+
const recovered = missing && evidence.events(agent).some(event => event.type === "odai/responsibility-recovery" && event.data.scopeId === missing.data.scopeId);
|
|
693
|
+
if (missing && !recovered && !signal?.aborted && typeof agent.steer === "function") {
|
|
694
|
+
agent.steer(pluginMessage([
|
|
695
|
+
`The same-turn ${missing.data.responsibility} responsibility emitted a terminal response without odai_responsibility_return.`,
|
|
696
|
+
"Its text is an unverified read-only draft, not final delivery or independent acceptance.",
|
|
697
|
+
"The runtime restored the controller route. Verify the decisive claims, continue the authorized task, and keep controller ownership of final delivery.",
|
|
698
|
+
].join("\n"), "responsibility handback recovery"));
|
|
699
|
+
appendEvent(agent, "odai/responsibility-recovery", { turn, scopeId: missing.data.scopeId, status: "recovery-steered" });
|
|
700
|
+
// Recovery already wakes the controller; defer completion prompting to its next stop.
|
|
701
|
+
}
|
|
702
|
+
else if (signal) {
|
|
703
|
+
if (!signal.aborted && !isSubagentSession(agent) && config.routing.mode !== "off" && leadState(evidence.events(agent))?.enabled) {
|
|
704
|
+
const message = latestDirectUserMessage(agent);
|
|
705
|
+
const events = evidence.events(agent);
|
|
706
|
+
const taskId = message && leadTaskId(events, message.id, classifyPendingReviewerText(extractLatestUserText([message])) === "continue");
|
|
707
|
+
const state = leadState(events);
|
|
708
|
+
if (taskId && Array.isArray(state?.roles) && state.roles.includes("reviewer") && events.some(event => event.type === "odai/lead-write" && event.data.taskMessageId === taskId)) {
|
|
709
|
+
const gaps = namedGaps(agent).filter(event => event.data.taskMessageId === taskId && event.data.responsibility === "reviewer" && event.data.timing === "completion");
|
|
710
|
+
const last = gaps.at(-1);
|
|
711
|
+
const prior = events.filter(event => event.type === "odai/lead-review" && event.data.taskMessageId === taskId);
|
|
712
|
+
const step = agent.phase?.step ?? sessionEvents(agent.session).findLast(event => event.type === "step/start")?.data.step ?? 0;
|
|
713
|
+
if (!last && configuredRole(agent, "reviewer", turn).route)
|
|
714
|
+
appendEvent(agent, "odai/responsibility-gap", leadGap("reviewer", taskId, turn, step));
|
|
715
|
+
else if (last && gapConsumed(agent, last.data.stateDigest)) {
|
|
716
|
+
const result = events.findLast(event => event.type === "odai/route-result" && event.data.stateDigest === last.data.stateDigest);
|
|
717
|
+
const decision = events.findLast(event => event.type === "odai/route-decided" && event.data.stateDigest === last.data.stateDigest);
|
|
718
|
+
const scope = decision && events.find(event => event.type === "odai/responsibility-scope-started" && event.data.startStep === decision.data.step && event.data.turn === decision.data.turn);
|
|
719
|
+
const returned = scope && events.find(event => event.type === "odai/responsibility-returned" && event.data.scopeId === scope.data.scopeId);
|
|
720
|
+
if ((result || returned) && !prior.some(event => event.data.stateDigest === last.data.stateDigest)) {
|
|
721
|
+
const text = String(result?.data.outputText ?? returned?.data.summary ?? "");
|
|
722
|
+
const success = (returned && events.some(event => event.type === "odai/route-applied" && event.data.responsibilityScopeId === scope?.data.scopeId && event.data.status === "applied")) || (result?.data.status === "completed" && result.data.routeReceiptStatus === "applied");
|
|
723
|
+
const verdict = success ? parseLeadVerdict(text) : "failed";
|
|
724
|
+
appendEvent(agent, "odai/lead-review", { taskMessageId: taskId, stateDigest: last.data.stateDigest, turn, step, verdict, round: prior.length });
|
|
725
|
+
if (verdict === "changes-requested" && prior.length < 2) {
|
|
726
|
+
agent.steer?.(pluginMessage(`主导模式审查要求修正(最多再审2轮):\n${text}\n请完成修正,下一次结束时再审。`, "odai lead correction"));
|
|
727
|
+
return;
|
|
728
|
+
}
|
|
729
|
+
if (verdict !== "pass")
|
|
730
|
+
agent.steer?.(pluginMessage(`主导模式审查未通过或未完成(${verdict});不再重试。最终答复说明未解决问题及原因。\n${text}`, "odai lead review incomplete"));
|
|
731
|
+
}
|
|
732
|
+
else if (prior.at(-1)?.data.verdict === "changes-requested" && prior.length <= 2 && prior.at(-1)?.data.stateDigest === last.data.stateDigest && (prior.at(-1)?.data.turn !== turn || prior.at(-1)?.data.step !== step)) {
|
|
733
|
+
appendEvent(agent, "odai/responsibility-gap", leadGap("reviewer", taskId, turn, step, prior.length));
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
promptNamedRequests({ agent, turn, signal });
|
|
739
|
+
}
|
|
595
740
|
const role = routedRoleOf(agent);
|
|
596
741
|
if (!role)
|
|
597
742
|
return;
|
|
@@ -637,6 +782,21 @@ export function installLifecycleRuntime(deps) {
|
|
|
637
782
|
return { ...downstream, kind: "reject", reason: "ODAI_INPUT_CHANGED_BEFORE_ADMISSION" };
|
|
638
783
|
}
|
|
639
784
|
const directMessage = latestDirectUserMessage(agent, suppliedDirectMessages, { turn });
|
|
785
|
+
const namedNotice = recognizeDirectNames(agent, turn, step, directMessage);
|
|
786
|
+
if (namedNotice)
|
|
787
|
+
downstream = { ...downstream, messages: [...downstream.messages, namedNotice] };
|
|
788
|
+
// A candidate must first pass native admission. The committed user/message
|
|
789
|
+
// observer records it before the model can execute controller tools.
|
|
790
|
+
if (!directMessage && previewInput?.message && !subagentSession && config.routing.mode !== "off") {
|
|
791
|
+
const routes = {};
|
|
792
|
+
for (const role of CONFIGURABLE_ROLES) {
|
|
793
|
+
const route = configuredRole(agent, role, turn).route;
|
|
794
|
+
if (route)
|
|
795
|
+
routes[role] = route;
|
|
796
|
+
}
|
|
797
|
+
if (recognizeNamedRequests(extractLatestUserText([previewInput.message]), routes).length)
|
|
798
|
+
return downstream;
|
|
799
|
+
}
|
|
640
800
|
const responsibilityGap = subagentSession ? undefined : pendingResponsibilityGap(agent, turn, step);
|
|
641
801
|
// Inbox messages are committed after pre-step. Do not dispatch a task-bound
|
|
642
802
|
// proposal while a new or changed human batch still lacks native admission.
|
|
@@ -748,6 +908,8 @@ export function installLifecycleRuntime(deps) {
|
|
|
748
908
|
}
|
|
749
909
|
if (config.routing.mode === "off")
|
|
750
910
|
return downstream;
|
|
911
|
+
if (!responsibilityGap && hasSessionEvent(agent, "odai/named-input-checked", data => data.taskMessageId === (directMessage ?? previewInput?.message)?.id))
|
|
912
|
+
return downstream;
|
|
751
913
|
if (hasSessionEvent(agent, "odai/route-decided", (data) => data?.turn === turn && data?.step === step)) {
|
|
752
914
|
return downstream;
|
|
753
915
|
}
|
|
@@ -769,6 +931,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
769
931
|
gap: responsibilityGap.gap,
|
|
770
932
|
expectedChange: responsibilityGap.expectedChange,
|
|
771
933
|
evidenceRefs: responsibilityGap.evidenceRefs,
|
|
934
|
+
...(responsibilityGap.userNamed ? { priorHandbacks: evidence.events(agent).filter(event => ["odai/route-result", "odai/research-result"].includes(event.type) && event.data.taskMessageId === responsibilityGap.taskMessageId && event.data.status === "completed" && event.data.routeReceiptStatus === "applied").map(event => ({ responsibility: event.data.role, actualRoute: event.data.actualRoute, output: event.data.outputText })) } : {}),
|
|
772
935
|
}, undefined, 2),
|
|
773
936
|
"",
|
|
774
937
|
DIRECT_USER_TASK_HEADING.trimStart(),
|
|
@@ -789,11 +952,12 @@ export function installLifecycleRuntime(deps) {
|
|
|
789
952
|
step,
|
|
790
953
|
role: "researcher",
|
|
791
954
|
action: "delegate",
|
|
955
|
+
...(responsibilityGap?.userNamed ? { stateDigest: responsibilityGap.stateDigest, taskMessageId: responsibilityGap.taskMessageId } : {}),
|
|
792
956
|
mode: config.routing.mode,
|
|
793
957
|
reasonCode: researchDecision.reasonCode,
|
|
794
958
|
signals: researchDecision.signals,
|
|
795
959
|
});
|
|
796
|
-
if (config.routing.mode === "observe") {
|
|
960
|
+
if (config.routing.mode === "observe" && !responsibilityGap?.userNamed) {
|
|
797
961
|
appendEvent(agent, "odai/research-result", {
|
|
798
962
|
turn,
|
|
799
963
|
step,
|
|
@@ -830,6 +994,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
830
994
|
const subagents = isSubagentsService(ctx.subagents) ? ctx.subagents : undefined;
|
|
831
995
|
const result = subagents || researchRoute.backend === "local-cli"
|
|
832
996
|
? await runRoutedRole({
|
|
997
|
+
sessionEvidence: { events: evidence.events, append: (owner, type, data) => appendEvent(owner, type, data) },
|
|
833
998
|
subagents,
|
|
834
999
|
provider: config.routing.provider,
|
|
835
1000
|
decision: researchDecision,
|
|
@@ -861,6 +1026,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
861
1026
|
turn,
|
|
862
1027
|
step,
|
|
863
1028
|
role: "researcher",
|
|
1029
|
+
...(responsibilityGap?.userNamed ? { stateDigest: responsibilityGap.stateDigest, taskMessageId: responsibilityGap.taskMessageId, userNamed: true, outputText: completed ? outputText(result.output) : undefined } : {}),
|
|
864
1030
|
status: completed ? "completed" : "fallback",
|
|
865
1031
|
stopReason: completed ? result.stopReason : (packetError ? "packet-invalid" : result.stopReason),
|
|
866
1032
|
routeSource: researchState.source,
|
|
@@ -869,9 +1035,12 @@ export function installLifecycleRuntime(deps) {
|
|
|
869
1035
|
requestedRoute: researchRoute,
|
|
870
1036
|
...(result.routeReceiptError ? { routeReceiptError: result.routeReceiptError } : {}),
|
|
871
1037
|
...(result.actualRoute ? { actualRoute: result.actualRoute } : {}),
|
|
1038
|
+
...(result.boundaryStatus ? { boundaryStatus: result.boundaryStatus, boundaryTools: result.boundaryTools } : {}),
|
|
872
1039
|
...(packet ? { packetDigest: packet.digest, sourceCount: packet.sourceCount } : {}),
|
|
873
1040
|
...(packetError ? { error: packetError } : result.taskError ? { error: result.taskError } : {}),
|
|
874
1041
|
});
|
|
1042
|
+
if (result.sessionNotice)
|
|
1043
|
+
routedDownstream = { ...routedDownstream, messages: [...routedDownstream.messages, pluginMessage(result.sessionNotice, "responsibility session recovery")] };
|
|
875
1044
|
if (completed && packet) {
|
|
876
1045
|
researchPacketText = renderResearchPacket(packet);
|
|
877
1046
|
routedDownstream = {
|
|
@@ -885,8 +1054,15 @@ export function installLifecycleRuntime(deps) {
|
|
|
885
1054
|
}
|
|
886
1055
|
}
|
|
887
1056
|
}
|
|
1057
|
+
if (responsibilityGap?.userNamed && responsibilityGap.responsibility === "researcher" && !sameTurnResearchDecision) {
|
|
1058
|
+
appendEvent(agent, "odai/responsibility-gap-consumed", { turn, step, responsibility: "researcher", stateDigest: responsibilityGap.stateDigest, reason: "NAMED_RESEARCH_ATTEMPTED" });
|
|
1059
|
+
if (!researchPacketText)
|
|
1060
|
+
routedDownstream = { ...routedDownstream, messages: [...routedDownstream.messages, pluginMessage("用户点名 researcher 未完成:未取得通过核实的研究证据包。最终答复说明实际回执及原因,不重试、不替换模型或修改配置。", "odai named research incomplete")] };
|
|
1061
|
+
return routedDownstream;
|
|
1062
|
+
}
|
|
888
1063
|
let decision = sameTurnResearchDecision ?? decideRoute({
|
|
889
1064
|
text: taskText,
|
|
1065
|
+
writerConfigured: Boolean(configuredRole(agent, "writer", turn).route),
|
|
890
1066
|
creativeConfigured: Boolean(configuredRole(agent, "creative", turn).route),
|
|
891
1067
|
creativeText: (extractLatestUserText(downstream.messages) || authenticatedDirectText).slice(0, config.routing.maxInputChars),
|
|
892
1068
|
proposal: responsibilityGap,
|
|
@@ -1023,7 +1199,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
1023
1199
|
],
|
|
1024
1200
|
};
|
|
1025
1201
|
}
|
|
1026
|
-
if (config.routing.mode === "observe") {
|
|
1202
|
+
if (config.routing.mode === "observe" && !responsibilityGap?.userNamed) {
|
|
1027
1203
|
return {
|
|
1028
1204
|
kind: "enter",
|
|
1029
1205
|
messages: [
|
|
@@ -1057,11 +1233,16 @@ export function installLifecycleRuntime(deps) {
|
|
|
1057
1233
|
}
|
|
1058
1234
|
const roleBundle = sharedSkillSelection(agent, turn)?.bundle ?? bundled;
|
|
1059
1235
|
const canonicalRoleContract = roleBundle.roleContracts[routeRole];
|
|
1060
|
-
const
|
|
1236
|
+
const leadReview = routeRole === "reviewer" && leadState(evidence.events(agent))?.enabled === true && evidence.events(agent).some(event => event.type === "odai/lead-write" && event.data.taskMessageId === responsibilityGap?.taskMessageId);
|
|
1237
|
+
const roleContract = dshRoleContract(routeRole, canonicalRoleContract) + (leadReview ? "\n主导模式验收:回交末尾必须独占一行 VERDICT: pass 或 VERDICT: changes-requested。same-turn 时写在 odai_responsibility_return 的 summary 末尾。" : "");
|
|
1061
1238
|
let rolePreflightVerified = false;
|
|
1062
1239
|
if (roleRoute.backend !== "local-cli" && routeRole === "frontend" && decision.action === "upgrade") {
|
|
1063
1240
|
const health = await probeModelRoute((candidate, candidateSignal) => ctx.llm.resolveCallConfig(candidate, candidateSignal), roleRoute, signal);
|
|
1064
1241
|
if (health.status === "rejected") {
|
|
1242
|
+
if (responsibilityGap?.userNamed) {
|
|
1243
|
+
appendEvent(agent, "odai/route-result", { turn, step, role: routeRole, stateDigest: responsibilityGap.stateDigest, taskMessageId: responsibilityGap.taskMessageId, status: "fallback", stopReason: "route-preflight-failed", error: health.failure.message });
|
|
1244
|
+
return { kind: "enter", messages: [...routedDownstream.messages, pluginMessage(`用户点名的 ${routeRole} 未完成:${health.failure.message}。不重试,不替换模型,不修改配置;最终答复必须说明该项未完成及原因。`, "odai named responsibility failed")] };
|
|
1245
|
+
}
|
|
1065
1246
|
const invalidation = invalidateFailedRoleRoute(agent, routeRole, roleRoute, roleState.source, health.failure, { turn, step, position: "pre-step" });
|
|
1066
1247
|
appendEvent(agent, "odai/route-result", {
|
|
1067
1248
|
turn,
|
|
@@ -1221,6 +1402,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
1221
1402
|
const subagents = isSubagentsService(ctx.subagents) ? ctx.subagents : undefined;
|
|
1222
1403
|
const result = subagents || roleRoute.backend === "local-cli"
|
|
1223
1404
|
? await runRoutedRole({
|
|
1405
|
+
sessionEvidence: { events: evidence.events, append: (owner, type, data) => appendEvent(owner, type, data) },
|
|
1224
1406
|
subagents,
|
|
1225
1407
|
provider: config.routing.provider,
|
|
1226
1408
|
decision: delegationDecision,
|
|
@@ -1245,6 +1427,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
1245
1427
|
action: "delegate",
|
|
1246
1428
|
status: result.status,
|
|
1247
1429
|
stopReason: result.stopReason,
|
|
1430
|
+
...(responsibilityGap?.userNamed ? { stateDigest: responsibilityGap.stateDigest, taskMessageId: responsibilityGap.taskMessageId, userNamed: true, outputText: result.status === "completed" ? outputText(result.output) : undefined } : {}),
|
|
1248
1431
|
routeSource: roleState.source,
|
|
1249
1432
|
fallbackUsed: result.status !== "completed",
|
|
1250
1433
|
routeReceiptStatus: result.routeReceiptStatus,
|
|
@@ -1253,6 +1436,8 @@ export function installLifecycleRuntime(deps) {
|
|
|
1253
1436
|
...(result.routeReceiptError ? { routeReceiptError: result.routeReceiptError } : {}),
|
|
1254
1437
|
...(result.actualRoute ? { actualRoute: result.actualRoute } : {}),
|
|
1255
1438
|
...(result.taskError ? { error: result.taskError } : {}),
|
|
1439
|
+
...(result.sessionAction ? { sessionAction: result.sessionAction, routeSessionId: result.routeSessionId, sessionNotice: result.sessionNotice } : {}),
|
|
1440
|
+
...(result.boundaryStatus ? { boundaryStatus: result.boundaryStatus, boundaryTools: result.boundaryTools } : {}),
|
|
1256
1441
|
...(result.durationMs === undefined ? {} : { durationMs: result.durationMs }),
|
|
1257
1442
|
...(result.usage ? { usage: result.usage } : {}),
|
|
1258
1443
|
...(result.cliReportedCostUsd === undefined ? {} : { cliReportedCostUsd: result.cliReportedCostUsd }),
|
|
@@ -1262,6 +1447,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
1262
1447
|
if (result.status === "completed") {
|
|
1263
1448
|
const childText = outputText(result.output);
|
|
1264
1449
|
const heading = [
|
|
1450
|
+
...(result.sessionNotice ? [result.sessionNotice] : []),
|
|
1265
1451
|
renderRouteNotice(delegationDecision, config.routing.mode, result.actualRoute, "child"),
|
|
1266
1452
|
...(result.reasoningEffortVerification === "verified"
|
|
1267
1453
|
? [`Reasoning effort: ${result.actualRoute?.reasoningEffort ?? "unspecified"} (verified from CLI session evidence).`]
|
|
@@ -1276,12 +1462,12 @@ export function installLifecycleRuntime(deps) {
|
|
|
1276
1462
|
],
|
|
1277
1463
|
};
|
|
1278
1464
|
}
|
|
1279
|
-
const failure = result.error ?? result.stopReason;
|
|
1465
|
+
const failure = [result.sessionNotice, result.error ?? result.stopReason].filter(Boolean).join("; ");
|
|
1280
1466
|
return {
|
|
1281
1467
|
kind: "enter",
|
|
1282
1468
|
messages: [
|
|
1283
1469
|
...routedDownstream.messages,
|
|
1284
|
-
pluginMessage(renderRouteFailureNotice(delegationDecision, failure), `odai ${routeRole} route unavailable; controller retains ownership`),
|
|
1470
|
+
pluginMessage(renderRouteFailureNotice(delegationDecision, failure) + (responsibilityGap?.stateDigest.startsWith("user-named:lead-mode:") ? "\n主导模式该职责未完成:继续授权任务,不重试、不替换模型;最终答复必须说明未完成的步骤及上述原因。" : ""), `odai ${routeRole} route unavailable; controller retains ownership`),
|
|
1285
1471
|
],
|
|
1286
1472
|
};
|
|
1287
1473
|
};
|