odai-dsh-agent 0.2.27 → 0.2.29

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 +6 -4
  2. package/build/src/installer.d.mts +2 -2
  3. package/build/src/installer.d.mts.map +1 -1
  4. package/build/src/installer.mjs +3 -3
  5. package/build/src/installer.mjs.map +1 -1
  6. package/client/client.js +2 -2
  7. package/package.json +3 -3
  8. package/preset/odai/agent.cordis.yml +4 -3
  9. package/preset/odai/preset.yml +1 -1
  10. package/preset/odai/runtime/control-center-host.d.mts.map +1 -1
  11. package/preset/odai/runtime/control-center-host.mjs +3 -3
  12. package/preset/odai/runtime/control-center-host.mjs.map +1 -1
  13. package/preset/odai/runtime/control-center-runtime.d.mts.map +1 -1
  14. package/preset/odai/runtime/control-center-runtime.mjs +52 -3
  15. package/preset/odai/runtime/control-center-runtime.mjs.map +1 -1
  16. package/preset/odai/runtime/index.d.mts.map +1 -1
  17. package/preset/odai/runtime/index.mjs +23 -1
  18. package/preset/odai/runtime/index.mjs.map +1 -1
  19. package/preset/odai/runtime/lifecycle-runtime.d.mts +2 -5
  20. package/preset/odai/runtime/lifecycle-runtime.d.mts.map +1 -1
  21. package/preset/odai/runtime/lifecycle-runtime.mjs +87 -15
  22. package/preset/odai/runtime/lifecycle-runtime.mjs.map +1 -1
  23. package/preset/odai/runtime/output-session.d.mts +2 -0
  24. package/preset/odai/runtime/output-session.d.mts.map +1 -1
  25. package/preset/odai/runtime/output-session.mjs +8 -0
  26. package/preset/odai/runtime/output-session.mjs.map +1 -1
  27. package/preset/odai/runtime/prompt-runtime.d.mts +1 -1
  28. package/preset/odai/runtime/prompt-runtime.d.mts.map +1 -1
  29. package/preset/odai/runtime/prompt-runtime.mjs +26 -17
  30. package/preset/odai/runtime/prompt-runtime.mjs.map +1 -1
  31. package/preset/odai/runtime/repeated-failure.d.mts +12 -0
  32. package/preset/odai/runtime/repeated-failure.d.mts.map +1 -0
  33. package/preset/odai/runtime/repeated-failure.mjs +106 -0
  34. package/preset/odai/runtime/repeated-failure.mjs.map +1 -0
  35. package/preset/odai/runtime/responsibility-gap.d.mts +1 -1
  36. package/preset/odai/runtime/responsibility-gap.d.mts.map +1 -1
  37. package/preset/odai/runtime/responsibility-gap.mjs +10 -12
  38. package/preset/odai/runtime/responsibility-gap.mjs.map +1 -1
  39. package/preset/odai/runtime/runtime-support.d.mts +2 -2
  40. package/preset/odai/runtime/runtime-support.d.mts.map +1 -1
  41. package/preset/odai/runtime/runtime-support.mjs +25 -5
  42. package/preset/odai/runtime/runtime-support.mjs.map +1 -1
  43. package/preset/odai/runtime/runtime-types.d.mts +5 -0
  44. package/preset/odai/runtime/runtime-types.d.mts.map +1 -1
  45. package/preset/odai/runtime/runtime-types.mjs.map +1 -1
  46. package/preset/odai/runtime/semantic-memory.d.mts +16 -1
  47. package/preset/odai/runtime/semantic-memory.d.mts.map +1 -1
  48. package/preset/odai/runtime/semantic-memory.mjs +134 -8
  49. package/preset/odai/runtime/semantic-memory.mjs.map +1 -1
  50. package/preset/odai/runtime/tool-runtime.d.mts.map +1 -1
  51. package/preset/odai/runtime/tool-runtime.mjs +28 -6
  52. package/preset/odai/runtime/tool-runtime.mjs.map +1 -1
  53. package/preset/odai/skills/odai/SKILL.md +3 -3
  54. package/preset/odai/skills/odai/manifest.json +1 -1
  55. package/preset/odai/skills/odai/references/support.md +1 -1
@@ -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 outputSelection = await selectSharedOutputPolicyForTurn(agent, turn, () => selectOutputForAgent(agent, turn));
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
- const responsibilityGap = subagentSession ? undefined : pendingResponsibilityGap(agent, turn, step);
624
+ }
561
625
  const authenticatedDirectMessage = latestDirectUserMessage(agent, undefined, { turn });
562
626
  const suppliedDirectMessages = Array.isArray(downstream.messages)
563
- ? downstream.messages.filter((message) => message?.role === "user" && message?.source?.kind === "user")
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 = directMessage;
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
- captured = captureAutomaticMemories({
631
- storePath: config.memory.storePath,
632
- mode: settings.mode,
633
- agent,
634
- message,
635
- turn,
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);
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-runtime.mjs","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-runtime.mjs","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ interface PrepareSessionOutputOptions {
16
16
  append(type: string, data: object): void;
17
17
  }
18
18
  export declare function prepareSessionOutputControl(options: PrepareSessionOutputOptions): void;
19
+ /** Calculate this request's override without creating durable authorization. */
20
+ export declare function previewSessionOutputControl(selection: SessionOutputSelection, options: Omit<PrepareSessionOutputOptions, "append">): Readonly<SessionOutputSelection>;
19
21
  export declare function applySessionOutputControl(selection: SessionOutputSelection, events: readonly DshEvent[], turn: number | undefined): Readonly<SessionOutputSelection>;
20
22
  export declare function renderSessionOutputControlPrompt(selection: SessionOutputSelection): string;
21
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"output-session.d.mts","sourceRoot":"","sources":["../src/output-session.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,qBAAqB,CAAC;AAMtE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACnD;AAED,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAuED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CA2CtF;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,sBAAsB,EACjC,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,QAAQ,CAAC,sBAAsB,CAAC,CAelC;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,sBAAsB,GAAG,MAAM,CAc1F"}
1
+ {"version":3,"file":"output-session.d.mts","sourceRoot":"","sources":["../src/output-session.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,qBAAqB,CAAC;AAMtE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACnD;AAED,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAuED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CA2CtF;AAED,gFAAgF;AAChF,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,GACnD,QAAQ,CAAC,sBAAsB,CAAC,CAMlC;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,sBAAsB,EACjC,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,QAAQ,CAAC,sBAAsB,CAAC,CAelC;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,sBAAsB,GAAG,MAAM,CAc1F"}
@@ -103,6 +103,14 @@ export function prepareSessionOutputControl(options) {
103
103
  scope: "turn",
104
104
  });
105
105
  }
106
+ /** Calculate this request's override without creating durable authorization. */
107
+ export function previewSessionOutputControl(selection, options) {
108
+ const events = [...options.events];
109
+ prepareSessionOutputControl({ ...options, events, append(type, data) {
110
+ events.push({ type, data: data });
111
+ } });
112
+ return applySessionOutputControl(selection, events, options.turn);
113
+ }
106
114
  export function applySessionOutputControl(selection, events, turn) {
107
115
  const directive = latestSessionDirective(events);
108
116
  const sessionCeiling = directive?.action === "uncap"
@@ -1 +1 @@
1
- {"version":3,"file":"output-session.mjs","sourceRoot":"","sources":["../src/output-session.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-session.mjs","sourceRoot":"","sources":["../src/output-session.mts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export declare function createPromptRuntime(deps: PromptDependencies): {
48
48
  memorySettingsFor: (agent: DshAgent, turn?: number | undefined) => MemorySettings;
49
49
  routingSnapshotFor: (agent: DshAgent, turn?: number | undefined) => RoutingSnapshotState;
50
50
  selectForAgent: (agent: DshAgent, context: PromptContext) => Promise<SkillSelection>;
51
- selectOutputForAgent: (agent?: DshAgent, turn?: number | undefined) => OutputSelection;
51
+ selectOutputForAgent: (_agent?: DshAgent, _turn?: number) => OutputSelection;
52
52
  selectUpstreamForAgent: (agent: DshAgent, context: PromptContext) => Promise<SkillSelection>;
53
53
  skillPath: string;
54
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-runtime.d.mts","sourceRoot":"","sources":["../src/prompt-runtime.mts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAuBlE,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EAEjB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAE7B,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAC1C;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,iBAAiB,CAAC;IACvB,QAAQ,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;KAAE,CAAC;IAClD,eAAe,CACb,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAC7C,OAAO,CAAC;IACX,8BAA8B,EAAE,MAAM,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC;CACvB;AAMD,UAAU,yBAAyB;IACjC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAAC;IACzH,gBAAgB,CACd,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,OAAO,CAAA;KAAE,GACtE,SAAS,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB;;;kCA8IrB,QAAQ,QAAQ,MAAM,gCAAmC,iBAAiB;;;8DAsB9C,yBAAyB,KAAG,IAAI;+BAnC/D,QAAQ,gCAAmC,cAAc;gCAkBxD,QAAQ,gCAAmC,oBAAoB;4BAtC7D,QAAQ,WAAW,aAAa,KAAG,OAAO,CAAC,cAAc,CAAC;mCAIzD,QAAQ,gCAAuD,eAAe;oCA3BvE,QAAQ,WAAW,aAAa,KAAG,OAAO,CAAC,cAAc,CAAC;;EA8NxG"}
1
+ {"version":3,"file":"prompt-runtime.d.mts","sourceRoot":"","sources":["../src/prompt-runtime.mts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAuBlE,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EAEjB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAE7B,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAC1C;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,iBAAiB,CAAC;IACvB,QAAQ,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;KAAE,CAAC;IAClD,eAAe,CACb,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAC7C,OAAO,CAAC;IACX,8BAA8B,EAAE,MAAM,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC;CACvB;AAMD,UAAU,yBAAyB;IACjC,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAAC;IACzH,gBAAgB,CACd,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,OAAO,CAAA;KAAE,GACtE,SAAS,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB;;;kCA8IrB,QAAQ,QAAQ,MAAM,gCAAmC,iBAAiB;;;8DAsB9C,yBAAyB,KAAG,IAAI;+BAnC/D,QAAQ,gCAAmC,cAAc;gCAkBxD,QAAQ,gCAAmC,oBAAoB;4BAtC7D,QAAQ,WAAW,aAAa,KAAG,OAAO,CAAC,cAAc,CAAC;oCAIxD,QAAQ,UAAU,MAAM,KAAG,eAAe;oCA3BpC,QAAQ,WAAW,aAAa,KAAG,OAAO,CAAC,cAAc,CAAC;;EAyOxG"}
@@ -1,8 +1,9 @@
1
1
  import { decideRoute, extractLatestUserText } from "./router.mjs";
2
+ import { DEFAULT_CHILD_ALLOWED_TOOLS } from "./governance.mjs";
2
3
  import { ROUTING_CONFIG_PROMPT, effectiveRoutingSnapshot } from "./routing-config.mjs";
3
4
  import { DEFAULT_OUTPUT_POLICY, classifySessionOutputCeilingDirective, effectiveOutputPolicy, renderOutputPolicyPrompt, } from "./output-config.mjs";
4
5
  import { selectSharedOutputPolicyForTurn } from "./output-policy-state.mjs";
5
- import { applySessionOutputControl, prepareSessionOutputControl, renderSessionOutputControlPrompt, } from "./output-session.mjs";
6
+ import { previewSessionOutputControl, prepareSessionOutputControl, renderSessionOutputControlPrompt, } from "./output-session.mjs";
6
7
  import { COMPACTION_CONFIG_PROMPT } from "./compaction-config.mjs";
7
8
  import { RESPONSIBILITY_GAP_PROMPT } from "./responsibility-gap.mjs";
8
9
  import { classifyContextActivation } from "./context-activation.mjs";
@@ -15,7 +16,7 @@ import { ODAI_RUNTIME_CONTRACT, loadSkillBundle } from "./skill-bundle.mjs";
15
16
  import { resolveSkillSelection } from "./skill-selector.mjs";
16
17
  import { currentAgentTurn, selectSharedSkillForTurn } from "./skill-selection-state.mjs";
17
18
  import { applySkillEvolutionSelection, skillEvolutionDisabled } from "./skill-evolution.mjs";
18
- import { MEMORY_PROMPT, latestDirectUserMessage } from "./semantic-memory.mjs";
19
+ import { MEMORY_PROMPT, currentDirectInput } from "./semantic-memory.mjs";
19
20
  import { effectiveMemorySettings } from "./semantic-memory-store.mjs";
20
21
  import { resolveSkillPath } from "./runtime-config.mjs";
21
22
  import { canonicalPrompt, currentAgentStep, isSubagentSession, reconcileAdaptiveToolSchemas, renderEffectiveRoutingContext, } from "./runtime-support.mjs";
@@ -130,7 +131,7 @@ export function createPromptRuntime(deps) {
130
131
  const upstream = await selectUpstreamForAgent(agent, context);
131
132
  return applySkillEvolutionSelection(upstream, config.governance.evolutionRoot, { disabled: evolutionDisabled });
132
133
  };
133
- const selectOutputForAgent = (agent, turn = agent ? currentAgentTurn(agent) : undefined) => {
134
+ const selectOutputForAgent = (_agent, _turn) => {
134
135
  let selection;
135
136
  try {
136
137
  selection = effectiveOutputPolicy(config.output.configPath);
@@ -144,7 +145,7 @@ export function createPromptRuntime(deps) {
144
145
  reasonCode: "output-config-invalid",
145
146
  });
146
147
  }
147
- return agent ? applySessionOutputControl(selection, evidence.events(agent), turn) : selection;
148
+ return selection;
148
149
  };
149
150
  const memorySettingsSnapshots = new WeakMap();
150
151
  const memorySettingsFor = (agent, turn = currentAgentTurn(agent)) => {
@@ -190,7 +191,8 @@ export function createPromptRuntime(deps) {
190
191
  return next();
191
192
  const turn = currentAgentTurn(agent);
192
193
  const childSession = isSubagentSession(agent);
193
- const directMessage = latestDirectUserMessage(agent);
194
+ const directInput = currentDirectInput(agent, { turn, signal: context.signal, minimum: "claimed" });
195
+ const directMessage = directInput?.message;
194
196
  const directText = directMessage ? extractLatestUserText([directMessage]) : "";
195
197
  const classifiedActivation = contextActivationFor(agent, directText, turn);
196
198
  const sessionOutputDirective = classifySessionOutputCeilingDirective(directText);
@@ -198,14 +200,15 @@ export function createPromptRuntime(deps) {
198
200
  ? Object.freeze({ ...classifiedActivation, outputConfig: false })
199
201
  : classifiedActivation;
200
202
  const proposedStep = (currentAgentStep(agent) ?? 0) + 1;
201
- prepareSessionOutputControl({
202
- events: evidence.events(agent),
203
- text: directText,
204
- turn,
205
- step: proposedStep,
206
- userMessageId: typeof directMessage?.id === "string" ? directMessage.id : undefined,
207
- append(type, data) { appendEvent(agent, type, data); },
208
- });
203
+ if (directInput?.phase === "committed")
204
+ prepareSessionOutputControl({
205
+ events: evidence.events(agent),
206
+ text: directText,
207
+ turn,
208
+ step: proposedStep,
209
+ userMessageId: typeof directMessage?.id === "string" ? directMessage.id : undefined,
210
+ append(type, data) { appendEvent(agent, type, data); },
211
+ });
209
212
  const exposureEvents = evidence.events(agent);
210
213
  const pendingGap = pendingResponsibilityGap(agent, turn, proposedStep);
211
214
  const routeCandidate = decideRoute({ text: directText, proposal: pendingGap });
@@ -220,17 +223,23 @@ export function createPromptRuntime(deps) {
220
223
  step: proposedStep,
221
224
  responsibilityReturn: responsibilityReturnNeeded,
222
225
  });
226
+ const childRestriction = childSession
227
+ ? { allow: DEFAULT_CHILD_ALLOWED_TOOLS, deny: config.governance.additionalDeniedTools }
228
+ : {};
223
229
  const executableSchemas = typeof ctx.tools.schemas === "function" ? ctx.tools.schemas(agent) : [];
224
- const visibleAssembly = reconcileAdaptiveToolSchemas(assembly, activeToolNames, executableSchemas);
225
- if (visibleAssembly !== assembly)
230
+ const visibleAssembly = reconcileAdaptiveToolSchemas(assembly, activeToolNames, executableSchemas, childRestriction);
231
+ if (visibleAssembly !== assembly) {
226
232
  assembly.tools = visibleAssembly.tools;
233
+ assembly.sections = visibleAssembly.sections;
234
+ }
227
235
  const downstream = await next();
228
236
  const finalExecutableSchemas = typeof ctx.tools.schemas === "function" ? ctx.tools.schemas(agent) : [];
229
- const reconciledDownstream = reconcileAdaptiveToolSchemas(downstream, activeToolNames, finalExecutableSchemas);
237
+ const reconciledDownstream = reconcileAdaptiveToolSchemas(downstream, activeToolNames, finalExecutableSchemas, childRestriction);
230
238
  const selection = await selectSharedSkillForTurn(agent, () => selectForAgent(agent, context));
231
239
  const outputSelection = childSession
232
240
  ? Object.freeze({ policy: DEFAULT_OUTPUT_POLICY, source: "default" })
233
- : await selectSharedOutputPolicyForTurn(agent, turn, () => selectOutputForAgent(agent, turn));
241
+ : previewSessionOutputControl(await selectSharedOutputPolicyForTurn(agent, turn, () => selectOutputForAgent(agent, turn)), { events: evidence.events(agent), text: directText, turn, step: proposedStep,
242
+ userMessageId: typeof directMessage?.id === "string" ? directMessage.id : undefined });
234
243
  const selectionEvidence = {
235
244
  ...(turn === undefined ? {} : { turn }),
236
245
  requestedMode: selection.mode,