odai-dsh-agent 0.2.26 → 0.2.28
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 +8 -5
- package/build/src/installer.d.mts +2 -2
- package/build/src/installer.d.mts.map +1 -1
- package/build/src/installer.mjs +4 -3
- package/build/src/installer.mjs.map +1 -1
- package/client/client.js +2 -2
- package/package.json +3 -3
- package/preset/odai/agent.cordis.yml +5 -4
- package/preset/odai/odai-governance.mjs +1 -0
- package/preset/odai/preset.yml +2 -2
- package/preset/odai/runtime/compaction-config.d.mts +1 -1
- package/preset/odai/runtime/compaction-config.d.mts.map +1 -1
- package/preset/odai/runtime/compaction-config.mjs +4 -2
- package/preset/odai/runtime/compaction-config.mjs.map +1 -1
- package/preset/odai/runtime/compaction-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/compaction-runtime.mjs +7 -1
- package/preset/odai/runtime/compaction-runtime.mjs.map +1 -1
- package/preset/odai/runtime/control-center-host.d.mts.map +1 -1
- package/preset/odai/runtime/control-center-host.mjs +3 -3
- package/preset/odai/runtime/control-center-host.mjs.map +1 -1
- package/preset/odai/runtime/control-center-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/control-center-runtime.mjs +52 -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 +23 -1
- package/preset/odai/runtime/index.mjs.map +1 -1
- package/preset/odai/runtime/lifecycle-runtime.d.mts +2 -5
- package/preset/odai/runtime/lifecycle-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/lifecycle-runtime.mjs +93 -15
- package/preset/odai/runtime/lifecycle-runtime.mjs.map +1 -1
- package/preset/odai/runtime/output-config.d.mts.map +1 -1
- package/preset/odai/runtime/output-config.mjs +4 -3
- package/preset/odai/runtime/output-config.mjs.map +1 -1
- package/preset/odai/runtime/output-session.d.mts +2 -0
- package/preset/odai/runtime/output-session.d.mts.map +1 -1
- package/preset/odai/runtime/output-session.mjs +8 -0
- package/preset/odai/runtime/output-session.mjs.map +1 -1
- package/preset/odai/runtime/prompt-runtime.d.mts +1 -1
- package/preset/odai/runtime/prompt-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/prompt-runtime.mjs +30 -24
- package/preset/odai/runtime/prompt-runtime.mjs.map +1 -1
- package/preset/odai/runtime/responsibility-gap.d.mts +1 -1
- package/preset/odai/runtime/responsibility-gap.d.mts.map +1 -1
- package/preset/odai/runtime/responsibility-gap.mjs +10 -12
- package/preset/odai/runtime/responsibility-gap.mjs.map +1 -1
- package/preset/odai/runtime/router.d.mts.map +1 -1
- package/preset/odai/runtime/router.mjs +2 -5
- package/preset/odai/runtime/router.mjs.map +1 -1
- package/preset/odai/runtime/routing-context.d.mts +11 -2
- package/preset/odai/runtime/routing-context.d.mts.map +1 -1
- package/preset/odai/runtime/routing-context.mjs +95 -18
- package/preset/odai/runtime/routing-context.mjs.map +1 -1
- package/preset/odai/runtime/runtime-support.d.mts +2 -2
- package/preset/odai/runtime/runtime-support.d.mts.map +1 -1
- package/preset/odai/runtime/runtime-support.mjs +38 -8
- package/preset/odai/runtime/runtime-support.mjs.map +1 -1
- package/preset/odai/runtime/runtime-types.d.mts +5 -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/semantic-memory.d.mts +16 -1
- package/preset/odai/runtime/semantic-memory.d.mts.map +1 -1
- package/preset/odai/runtime/semantic-memory.mjs +134 -8
- package/preset/odai/runtime/semantic-memory.mjs.map +1 -1
- package/preset/odai/runtime/session-evidence.d.mts.map +1 -1
- package/preset/odai/runtime/session-evidence.mjs +12 -2
- package/preset/odai/runtime/session-evidence.mjs.map +1 -1
- package/preset/odai/runtime/skill-bundle.d.mts +1 -0
- package/preset/odai/runtime/skill-bundle.d.mts.map +1 -1
- package/preset/odai/runtime/skill-bundle.mjs +7 -2
- package/preset/odai/runtime/skill-bundle.mjs.map +1 -1
- package/preset/odai/runtime/tool-runtime.d.mts.map +1 -1
- package/preset/odai/runtime/tool-runtime.mjs +15 -4
- package/preset/odai/runtime/tool-runtime.mjs.map +1 -1
- package/preset/odai/skills/odai/SKILL.md +18 -18
- package/preset/odai/skills/odai/assets/routing-roles/controller.md +1 -1
- package/preset/odai/skills/odai/assets/task-state.md +14 -11
- package/preset/odai/skills/odai/manifest.json +1 -1
- package/preset/odai/skills/odai/references/craft.md +2 -3
- package/preset/odai/skills/odai/references/planning.md +1 -1
- package/preset/odai/skills/odai/references/verification.md +3 -1
|
@@ -5,6 +5,32 @@ const CONTROL_CENTER_CHANNEL = "/odai-control-center";
|
|
|
5
5
|
const CONTROL_CENTER_ENDPOINT = "routing";
|
|
6
6
|
const CONTROL_CENTER_EVIDENCE_ENDPOINT = "evidence";
|
|
7
7
|
const MAX_EVIDENCE_EVENTS = 2_000;
|
|
8
|
+
function registerControlCenter(connection, handler) {
|
|
9
|
+
if (!connection.fetch)
|
|
10
|
+
return connection.rpc.handle(CONTROL_CENTER_CHANNEL, handler, { authority: "loopback" });
|
|
11
|
+
const disposers = [CONTROL_CENTER_ENDPOINT, CONTROL_CENTER_EVIDENCE_ENDPOINT].map((endpoint) => {
|
|
12
|
+
const method = `${CONTROL_CENTER_CHANNEL.slice(1)}/${endpoint}`;
|
|
13
|
+
return connection.fetch.register({
|
|
14
|
+
path: `/api/${method}`, methods: ["POST"], requestBody: "buffered",
|
|
15
|
+
async fetch(request) {
|
|
16
|
+
let body;
|
|
17
|
+
try {
|
|
18
|
+
body = await request.json();
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return new Response("body is not JSON", { status: 400 });
|
|
22
|
+
}
|
|
23
|
+
if (!isUnknownRecord(body) || body.type !== "client-request" || typeof body.rpcId !== "string"
|
|
24
|
+
|| body.rpcId.length === 0 || body.method !== method)
|
|
25
|
+
return new Response("invalid RPC envelope", { status: 400 });
|
|
26
|
+
return Response.json({ type: "server-response", rpcId: body.rpcId,
|
|
27
|
+
result: await handler(endpoint, body.payload, request.signal) });
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
return async () => { for (const dispose of disposers)
|
|
32
|
+
await dispose(); };
|
|
33
|
+
}
|
|
8
34
|
function effectiveOptions(owners) {
|
|
9
35
|
let selected;
|
|
10
36
|
let selectedWeight = -1;
|
|
@@ -21,7 +47,10 @@ function effectiveOptions(owners) {
|
|
|
21
47
|
return selected;
|
|
22
48
|
}
|
|
23
49
|
function connectionFrom(ctx) {
|
|
24
|
-
|
|
50
|
+
// Property access retains Cordis's injected caller; reflect.get may bind the service's owner instead.
|
|
51
|
+
const candidate = ctx.inject
|
|
52
|
+
? ctx.connection
|
|
53
|
+
: ctx.get?.("connection");
|
|
25
54
|
if (!isUnknownRecord(candidate) || !isUnknownRecord(candidate.rpc)
|
|
26
55
|
|| typeof candidate.rpc.handle !== "function")
|
|
27
56
|
return undefined;
|
|
@@ -59,6 +88,26 @@ function failureFor(error) {
|
|
|
59
88
|
export function installControlCenterRuntimeWhenAvailable(ctx, options) {
|
|
60
89
|
let release;
|
|
61
90
|
let stopped = false;
|
|
91
|
+
if (ctx.inject) {
|
|
92
|
+
const binding = ctx.inject(["connection", "webServer"], (available) => {
|
|
93
|
+
if (stopped)
|
|
94
|
+
return;
|
|
95
|
+
const mounted = installControlCenterRuntime(available, options);
|
|
96
|
+
release = mounted;
|
|
97
|
+
available.effect?.(() => async () => {
|
|
98
|
+
if (release === mounted)
|
|
99
|
+
release = undefined;
|
|
100
|
+
await mounted?.();
|
|
101
|
+
}, "odai: Control Center transport ownership");
|
|
102
|
+
});
|
|
103
|
+
return async () => {
|
|
104
|
+
stopped = true;
|
|
105
|
+
await binding.dispose();
|
|
106
|
+
const current = release;
|
|
107
|
+
release = undefined;
|
|
108
|
+
await current?.();
|
|
109
|
+
};
|
|
110
|
+
}
|
|
62
111
|
const mount = () => {
|
|
63
112
|
if (stopped || release)
|
|
64
113
|
return;
|
|
@@ -104,7 +153,7 @@ export function installControlCenterRuntime(ctx, options) {
|
|
|
104
153
|
};
|
|
105
154
|
}
|
|
106
155
|
const owners = new Map([[owner, options]]);
|
|
107
|
-
const dispose = connection
|
|
156
|
+
const dispose = registerControlCenter(connection, async (endpoint, payload, signal) => {
|
|
108
157
|
if (endpoint !== CONTROL_CENTER_ENDPOINT && endpoint !== CONTROL_CENTER_EVIDENCE_ENDPOINT) {
|
|
109
158
|
return { ok: true, value: { ok: false, error: { code: "unavailable", message: "unknown Odai Control Center endpoint" } } };
|
|
110
159
|
}
|
|
@@ -132,7 +181,7 @@ export function installControlCenterRuntime(ctx, options) {
|
|
|
132
181
|
active.logger?.warn(`Control Center routing request failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
133
182
|
return { ok: true, value: { ok: false, error: failureFor(error) } };
|
|
134
183
|
}
|
|
135
|
-
}
|
|
184
|
+
});
|
|
136
185
|
const registration = { owners, dispose };
|
|
137
186
|
shared.registration = registration;
|
|
138
187
|
let released = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-center-runtime.mjs","sourceRoot":"","sources":["../src/control-center-runtime.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAIzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AACtD,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAC1C,MAAM,gCAAgC,GAAG,UAAU,CAAC;AACpD,MAAM,mBAAmB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"control-center-runtime.mjs","sourceRoot":"","sources":["../src/control-center-runtime.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,
|
|
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"}
|
|
@@ -11,7 +11,7 @@ import { inheritCompactionReasoning, resolveConfig, resolveSkillPath, } from "./
|
|
|
11
11
|
import { RUNTIME_NAME, loggerFor, 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
|
-
import { latestDirectUserMessage } from "./semantic-memory.mjs";
|
|
14
|
+
import { hasUncommittedDirectInput, latestDirectUserMessage } from "./semantic-memory.mjs";
|
|
15
15
|
import { isBoundRequirementLedger } from "./responsibility-gap.mjs";
|
|
16
16
|
import { installToolRuntime } from "./tool-runtime.mjs";
|
|
17
17
|
import { resolveHumanSafetyContinuityStorePath } from "./human-safety-continuity-store.mjs";
|
|
@@ -128,6 +128,8 @@ export function apply(ctx, rawConfig) {
|
|
|
128
128
|
};
|
|
129
129
|
};
|
|
130
130
|
const pendingResponsibilityGap = (agent, turn, step) => {
|
|
131
|
+
if (hasUncommittedDirectInput(agent))
|
|
132
|
+
return undefined;
|
|
131
133
|
const events = evidence.events(agent);
|
|
132
134
|
const consumed = new Set(events.flatMap((event) => (event.type === "odai/responsibility-gap-consumed" ? [event.data?.stateDigest] : [])));
|
|
133
135
|
for (let index = events.length - 1; index >= 0; index -= 1) {
|
|
@@ -140,6 +142,26 @@ export function apply(ctx, rawConfig) {
|
|
|
140
142
|
|| consumed.has(event.data.stateDigest)
|
|
141
143
|
|| !isResponsibilityGapProposal(event.data))
|
|
142
144
|
continue;
|
|
145
|
+
const message = latestDirectUserMessage(agent);
|
|
146
|
+
if (event.data.taskMessageId && !message)
|
|
147
|
+
return undefined;
|
|
148
|
+
if (message && event.data.taskMessageId && event.data.taskMessageId !== message.id) {
|
|
149
|
+
const text = extractLatestUserText([message]);
|
|
150
|
+
const continuation = event.data.responsibility === "reviewer"
|
|
151
|
+
&& Boolean(event.data.taskMessageId)
|
|
152
|
+
&& classifyPendingReviewerText(text) === "continue"
|
|
153
|
+
&& !(event.data.requirements && hasExplicitRequestRevision(text));
|
|
154
|
+
if (continuation)
|
|
155
|
+
return event.data;
|
|
156
|
+
appendEvent(agent, "odai/responsibility-gap-consumed", {
|
|
157
|
+
turn,
|
|
158
|
+
step,
|
|
159
|
+
responsibility: event.data.responsibility,
|
|
160
|
+
stateDigest: event.data.stateDigest,
|
|
161
|
+
reason: "SUPERSEDED_BY_DIRECT_USER_TASK",
|
|
162
|
+
});
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
143
165
|
return event.data;
|
|
144
166
|
}
|
|
145
167
|
if (turn === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,yBAAyB,EACzB,mCAAmC,GACpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,wCAAwC,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAQlE,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,SAAS,EACT,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ResponsibilityGapProposal } from "./responsibility-gap.mjs";
|
|
2
|
+
import type { SessionOutputSelection } from "./output-session.mjs";
|
|
2
3
|
import type { ResponsibilityScope } from "./responsibility-scope.mjs";
|
|
3
4
|
export type { ResponsibilityScope } from "./responsibility-scope.mjs";
|
|
4
5
|
import type { SkillBundle } from "./skill-bundle.mjs";
|
|
@@ -71,11 +72,7 @@ interface LifecycleDependencies {
|
|
|
71
72
|
responsibilityScopeOwners: WeakMap<DshSession, DshAgent>;
|
|
72
73
|
responsibilityScopes: WeakMap<DshAgent, ResponsibilityScope>;
|
|
73
74
|
routeProtections: WeakMap<DshAgent, RouteProtection>;
|
|
74
|
-
selectOutputForAgent(agent?: DshAgent, turn?: number):
|
|
75
|
-
policy: {
|
|
76
|
-
maxTokens?: number;
|
|
77
|
-
};
|
|
78
|
-
};
|
|
75
|
+
selectOutputForAgent(agent?: DshAgent, turn?: number): SessionOutputSelection;
|
|
79
76
|
stopDanglingResponsibilityScope(agent: DshAgent, reason: string): RuntimeEventData | undefined;
|
|
80
77
|
stopResponsibilityScope(agent: DshAgent, reason: string, position?: RuntimeEventData): ResponsibilityScope | undefined;
|
|
81
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-runtime.d.mts","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle-runtime.d.mts","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { classifyResponsibilityInterruptionText, decideResearchPrefetch, decideRoute, extractLatestUserText, extractRoutingText, renderMissingRouteConfigNotice, renderRouteFailureNotice, renderRouteNotice, requiresFailClosedProtection, } from "./router.mjs";
|
|
2
2
|
import { classifyModelRouteFailure, probeModelRoute } from "./model-route.mjs";
|
|
3
3
|
import { selectSharedOutputPolicyForTurn } from "./output-policy-state.mjs";
|
|
4
|
-
import { prepareSessionOutputControl } from "./output-session.mjs";
|
|
4
|
+
import { prepareSessionOutputControl, previewSessionOutputControl } from "./output-session.mjs";
|
|
5
5
|
import { isSubagentSession, outputText, pluginMessage, renderOutputLimitInterruptionNotice, renderResearchTaskContract, routeFromConfig, routeMismatchFor, routedRoleOf, runRoutedRole, sameRequestModelRoute, } from "./runtime-support.mjs";
|
|
6
6
|
import { claimResponsibilityScope, createResponsibilityScope, latestStoppedResponsibilityScope, pendingResponsibilityInterruption, pendingResponsibilityScopeRestoration, responsibilityScopeClaimedEvent, responsibilityScopeOwnsRequest, responsibilityScopeStartedEvent, responsibilityScopeStopReason, } from "./responsibility-scope.mjs";
|
|
7
7
|
import { buildRoleContextPacket, renderRoleContextPacket } from "./routing-context.mjs";
|
|
8
8
|
import { parseResearchPacket, renderResearchPacket, verifyResearchPacketSources, } from "./research-packet.mjs";
|
|
9
9
|
import { dshRoleContract } from "./role-overlays.mjs";
|
|
10
10
|
import { sharedSkillSelection } from "./skill-selection-state.mjs";
|
|
11
|
-
import { captureAutomaticMemories, claimSemanticMemoryTurn, latestDirectUserMessage, memoryPacketMessage, renderSemanticMemoryPacket, retrieveSemanticMemories, } from "./semantic-memory.mjs";
|
|
11
|
+
import { captureAutomaticMemories, claimSemanticMemoryTurn, currentDirectInput, invalidateNativeDirectInput, observeNativeDirectInput, latestDirectUserMessage, memoryPacketMessage, renderSemanticMemoryPacket, retrieveSemanticMemories, } from "./semantic-memory.mjs";
|
|
12
12
|
import { sessionEvents } from "./runtime-types.mjs";
|
|
13
13
|
function effectiveRoleDispatch(role, configured, routingMode) {
|
|
14
14
|
if (configured)
|
|
@@ -31,7 +31,38 @@ function hasReviewerDeferral(events, stateDigest) {
|
|
|
31
31
|
}
|
|
32
32
|
export function installLifecycleRuntime(deps) {
|
|
33
33
|
const { appendEvent, bundled, config, configuredRole, ctx, evidence, hasSessionEvent, invalidateFailedRoleRoute, logger, memorySettingsFor, outputUsageBySession, pendingResponsibilityGap, pendingRouteReceipts, pendingScopeRestorations, responsibilityScopeOwners, responsibilityScopes, routeProtections, selectOutputForAgent, stopDanglingResponsibilityScope, stopResponsibilityScope } = deps;
|
|
34
|
+
const inputRequests = new WeakMap();
|
|
35
|
+
const inputGuards = new WeakSet();
|
|
36
|
+
ctx.on("agent/inbox/claimed", ({ agent, turn, message }) => {
|
|
37
|
+
if (isSubagentSession(agent) || typeof agent.ctx?.on !== "function" || !agent.session.id)
|
|
38
|
+
return;
|
|
39
|
+
if (!inputGuards.has(agent)) {
|
|
40
|
+
agent.ctx.on("llm/stream", (options, next) => {
|
|
41
|
+
const expected = inputRequests.get(agent);
|
|
42
|
+
if (!expected || options.sessionId !== agent.session.id || options.purpose === "compaction")
|
|
43
|
+
return next();
|
|
44
|
+
const committed = currentDirectInput(agent, { turn: expected.turn, signal: expected.signal });
|
|
45
|
+
if (!committed || committed.token !== expected.token) {
|
|
46
|
+
invalidateNativeDirectInput(agent);
|
|
47
|
+
throw new DOMException("ODAI_INPUT_NOT_COMMITTED: claimed input changed or was canceled before model dispatch", "AbortError");
|
|
48
|
+
}
|
|
49
|
+
return next();
|
|
50
|
+
});
|
|
51
|
+
inputGuards.add(agent);
|
|
52
|
+
}
|
|
53
|
+
responsibilityScopeOwners.set(agent.session, agent);
|
|
54
|
+
observeNativeDirectInput(agent, turn, message);
|
|
55
|
+
});
|
|
56
|
+
ctx.on("agent/disposed", ({ agent }) => {
|
|
57
|
+
invalidateNativeDirectInput(agent, true);
|
|
58
|
+
inputRequests.delete(agent);
|
|
59
|
+
});
|
|
34
60
|
ctx.on("agent/request", async ({ agent, turn, step, signal }, next) => {
|
|
61
|
+
const input = currentDirectInput(agent, { turn, signal, minimum: "claimed" });
|
|
62
|
+
if (input?.phase === "claimed" && input.token)
|
|
63
|
+
inputRequests.set(agent, { token: input.token, turn, signal });
|
|
64
|
+
else
|
|
65
|
+
inputRequests.delete(agent);
|
|
35
66
|
let proposed = await next();
|
|
36
67
|
const childRole = routedRoleOf(agent);
|
|
37
68
|
if (!childRole && !isSubagentSession(agent)) {
|
|
@@ -195,7 +226,9 @@ export function installLifecycleRuntime(deps) {
|
|
|
195
226
|
}
|
|
196
227
|
if (childRole || isSubagentSession(agent))
|
|
197
228
|
return finalize(request);
|
|
198
|
-
const
|
|
229
|
+
const requestInput = currentDirectInput(agent, { turn, signal, minimum: "claimed" });
|
|
230
|
+
const outputSelection = previewSessionOutputControl(await selectSharedOutputPolicyForTurn(agent, turn, () => selectOutputForAgent(agent, turn)), { events: evidence.events(agent), text: requestInput ? extractLatestUserText([requestInput.message]) : "", turn, step,
|
|
231
|
+
userMessageId: typeof requestInput?.message.id === "string" ? requestInput.message.id : undefined });
|
|
199
232
|
const configuredMaxTokens = outputSelection.policy.maxTokens;
|
|
200
233
|
if (scopedResponsibilityMaxTokens !== undefined) {
|
|
201
234
|
if (!hasSessionEvent(agent, "odai/output-budget-overridden", (data) => data?.turn === turn && data?.step === step)) {
|
|
@@ -307,6 +340,36 @@ export function installLifecycleRuntime(deps) {
|
|
|
307
340
|
};
|
|
308
341
|
ctx.on("session/event", (session, event) => {
|
|
309
342
|
const owner = responsibilityScopeOwners.get(session);
|
|
343
|
+
if (owner && event.type === "turn/end")
|
|
344
|
+
invalidateNativeDirectInput(owner);
|
|
345
|
+
if (owner && event.type === "user/message" && !isSubagentSession(owner)) {
|
|
346
|
+
const message = latestDirectUserMessage(owner);
|
|
347
|
+
const position = sessionEvents(session).findLast((entry) => entry.type === "step/start")?.data;
|
|
348
|
+
const turn = position?.turn;
|
|
349
|
+
const step = position?.step;
|
|
350
|
+
if (message && message.id === event.data.id && typeof turn === "number" && typeof step === "number") {
|
|
351
|
+
prepareSessionOutputControl({
|
|
352
|
+
events: evidence.events(owner), text: extractLatestUserText([message]), turn, step,
|
|
353
|
+
userMessageId: typeof message.id === "string" ? message.id : undefined,
|
|
354
|
+
append(type, data) { appendEvent(owner, type, data); },
|
|
355
|
+
});
|
|
356
|
+
const settings = memorySettingsFor(owner, turn);
|
|
357
|
+
if (step === 1 && settings.mode === "auto" && claimSemanticMemoryTurn(owner, turn, step, `capture:${message.id}`)) {
|
|
358
|
+
try {
|
|
359
|
+
const captured = captureAutomaticMemories({ storePath: config.memory.storePath, mode: settings.mode,
|
|
360
|
+
agent: owner, message, turn, cwd: session.header.cwd }).filter((entry) => entry.changed);
|
|
361
|
+
if (captured.length)
|
|
362
|
+
appendEvent(owner, "odai/memory-processed", {
|
|
363
|
+
turn, step, mode: settings.mode, source: settings.source, retrievedIds: [],
|
|
364
|
+
captures: captured, status: "completed",
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
catch (error) {
|
|
368
|
+
logger.warn(`Odai committed memory capture failed closed: ${error instanceof Error ? error.message : String(error)}`);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
310
373
|
const activeScope = owner ? responsibilityScopes.get(owner) : undefined;
|
|
311
374
|
const eventMatchesRequestPosition = (position) => Number.isSafeInteger(event.data.turn)
|
|
312
375
|
&& Number.isSafeInteger(event?.data?.step)
|
|
@@ -555,14 +618,25 @@ export function installLifecycleRuntime(deps) {
|
|
|
555
618
|
stopDanglingResponsibilityScope(agent, "runtime-resume");
|
|
556
619
|
}
|
|
557
620
|
let downstream = await next();
|
|
558
|
-
if (downstream.kind === "reject" || signal.aborted)
|
|
621
|
+
if (downstream.kind === "reject" || signal.aborted) {
|
|
622
|
+
invalidateNativeDirectInput(agent);
|
|
559
623
|
return downstream;
|
|
560
|
-
|
|
624
|
+
}
|
|
561
625
|
const authenticatedDirectMessage = latestDirectUserMessage(agent, undefined, { turn });
|
|
562
626
|
const suppliedDirectMessages = Array.isArray(downstream.messages)
|
|
563
|
-
? downstream.messages.filter((message) => message?.
|
|
627
|
+
? downstream.messages.filter((message) => message?.source?.kind === "user")
|
|
564
628
|
: [];
|
|
629
|
+
const previewInput = currentDirectInput(agent, { turn, signal, minimum: "claimed", messages: suppliedDirectMessages });
|
|
630
|
+
if (!previewInput && currentDirectInput(agent, { turn, signal, minimum: "claimed" })?.phase === "claimed") {
|
|
631
|
+
invalidateNativeDirectInput(agent);
|
|
632
|
+
return { ...downstream, kind: "reject", reason: "ODAI_INPUT_CHANGED_BEFORE_ADMISSION" };
|
|
633
|
+
}
|
|
565
634
|
const directMessage = latestDirectUserMessage(agent, suppliedDirectMessages, { turn });
|
|
635
|
+
const responsibilityGap = subagentSession ? undefined : pendingResponsibilityGap(agent, turn, step);
|
|
636
|
+
// Inbox messages are committed after pre-step. Do not dispatch a task-bound
|
|
637
|
+
// proposal while a new or changed human batch still lacks native admission.
|
|
638
|
+
if (responsibilityGap?.taskMessageId && suppliedDirectMessages.length > 0 && !directMessage)
|
|
639
|
+
return downstream;
|
|
566
640
|
const authenticatedDirectText = authenticatedDirectMessage
|
|
567
641
|
? extractLatestUserText([authenticatedDirectMessage])
|
|
568
642
|
: "";
|
|
@@ -614,7 +688,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
614
688
|
return downstream;
|
|
615
689
|
if (step === 1 && claimSemanticMemoryTurn(agent, turn, step)) {
|
|
616
690
|
const settings = memorySettingsFor(agent, turn);
|
|
617
|
-
const message =
|
|
691
|
+
const message = previewInput?.message;
|
|
618
692
|
const query = extractRoutingText(downstream.messages, sessionEvents(agent?.session)).slice(0, config.routing.maxInputChars);
|
|
619
693
|
let retrieved = [];
|
|
620
694
|
let captured = [];
|
|
@@ -627,14 +701,12 @@ export function installLifecycleRuntime(deps) {
|
|
|
627
701
|
cwd: agent?.session?.header?.cwd,
|
|
628
702
|
limit: config.memory.maxRetrieved,
|
|
629
703
|
});
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
cwd: agent?.session?.header?.cwd,
|
|
637
|
-
});
|
|
704
|
+
if (directMessage && claimSemanticMemoryTurn(agent, turn, step, `capture:${message.id}`)) {
|
|
705
|
+
captured = captureAutomaticMemories({
|
|
706
|
+
storePath: config.memory.storePath, mode: settings.mode, agent, message, turn,
|
|
707
|
+
cwd: agent?.session?.header?.cwd,
|
|
708
|
+
});
|
|
709
|
+
}
|
|
638
710
|
}
|
|
639
711
|
catch (memoryError) {
|
|
640
712
|
error = memoryError instanceof Error ? memoryError.message : String(memoryError);
|
|
@@ -814,6 +886,8 @@ export function installLifecycleRuntime(deps) {
|
|
|
814
886
|
? undefined
|
|
815
887
|
: buildRoleContextPacket(agent, routeRole, roleTaskText, {
|
|
816
888
|
...(responsibilityGap?.requirements ? { requirements: responsibilityGap.requirements } : {}),
|
|
889
|
+
...(responsibilityGap?.taskMessageId ? { taskMessageId: responsibilityGap.taskMessageId } : {}),
|
|
890
|
+
evidenceEvents: evidence.events(agent),
|
|
817
891
|
});
|
|
818
892
|
const reviewerAlreadyDeferred = responsibilityGap?.responsibility === "reviewer"
|
|
819
893
|
&& hasReviewerDeferral(evidence.events(agent), responsibilityGap.stateDigest);
|
|
@@ -882,6 +956,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
882
956
|
mode: "controller-local",
|
|
883
957
|
digest: roleContext.digest,
|
|
884
958
|
evidenceDigest: roleContext.evidenceDigest,
|
|
959
|
+
taskBoundary: roleContext.task,
|
|
885
960
|
evidenceCount: roleContext.evidenceCount,
|
|
886
961
|
toolEvidenceCount: roleContext.toolEvidenceCount,
|
|
887
962
|
acceptanceCount: localReviewerCoverage.acceptanceCount,
|
|
@@ -1005,6 +1080,8 @@ export function installLifecycleRuntime(deps) {
|
|
|
1005
1080
|
}
|
|
1006
1081
|
roleContext ??= buildRoleContextPacket(agent, routeRole, roleTaskText, {
|
|
1007
1082
|
...(responsibilityGap?.requirements ? { requirements: responsibilityGap.requirements } : {}),
|
|
1083
|
+
...(responsibilityGap?.taskMessageId ? { taskMessageId: responsibilityGap.taskMessageId } : {}),
|
|
1084
|
+
evidenceEvents: evidence.events(agent),
|
|
1008
1085
|
});
|
|
1009
1086
|
const roleDispatch = effectiveRoleDispatch(routeRole, roleState.dispatch, config.routing.mode);
|
|
1010
1087
|
const inPlaceUpgrade = roleDispatch === "same-turn";
|
|
@@ -1016,6 +1093,7 @@ export function installLifecycleRuntime(deps) {
|
|
|
1016
1093
|
mode: contextMode,
|
|
1017
1094
|
digest: roleContext.digest,
|
|
1018
1095
|
evidenceDigest: roleContext.evidenceDigest,
|
|
1096
|
+
taskBoundary: roleContext.task,
|
|
1019
1097
|
evidenceCount: roleContext.evidenceCount,
|
|
1020
1098
|
toolEvidenceCount: roleContext.toolEvidenceCount,
|
|
1021
1099
|
requirementDecisionCount: roleContext.coverage.requirementDecisionCount,
|