kiokuko-dsh 0.2.4 → 0.2.6

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 (170) hide show
  1. package/dist/client.cjs +78 -8
  2. package/dist/dsh/agenticreplay-event-mapper.d.ts +7 -0
  3. package/dist/dsh/agenticreplay-event-mapper.d.ts.map +1 -1
  4. package/dist/dsh/agenticreplay-event-mapper.js +52 -13
  5. package/dist/dsh/agenticreplay-event-mapper.js.map +1 -1
  6. package/dist/dsh/agenticreplay-hooks.d.ts.map +1 -1
  7. package/dist/dsh/agenticreplay-hooks.js +10 -1
  8. package/dist/dsh/agenticreplay-hooks.js.map +1 -1
  9. package/dist/dsh/agenticreplay-recorder.d.ts +5 -0
  10. package/dist/dsh/agenticreplay-recorder.d.ts.map +1 -1
  11. package/dist/dsh/agenticreplay-recorder.js +193 -20
  12. package/dist/dsh/agenticreplay-recorder.js.map +1 -1
  13. package/dist/dsh/answer-context.d.ts +8 -6
  14. package/dist/dsh/answer-context.d.ts.map +1 -1
  15. package/dist/dsh/answer-context.js +85 -21
  16. package/dist/dsh/answer-context.js.map +1 -1
  17. package/dist/dsh/coding-workflow/contracts.d.ts +5 -0
  18. package/dist/dsh/coding-workflow/contracts.d.ts.map +1 -1
  19. package/dist/dsh/coding-workflow/contracts.js +20 -3
  20. package/dist/dsh/coding-workflow/contracts.js.map +1 -1
  21. package/dist/dsh/coding-workflow/host.d.ts +4 -1
  22. package/dist/dsh/coding-workflow/host.d.ts.map +1 -1
  23. package/dist/dsh/coding-workflow/host.js +72 -44
  24. package/dist/dsh/coding-workflow/host.js.map +1 -1
  25. package/dist/dsh/coding-workflow/intent.d.ts +8 -0
  26. package/dist/dsh/coding-workflow/intent.d.ts.map +1 -1
  27. package/dist/dsh/coding-workflow/intent.js +33 -2
  28. package/dist/dsh/coding-workflow/intent.js.map +1 -1
  29. package/dist/dsh/coding-workflow/service.d.ts +214 -0
  30. package/dist/dsh/coding-workflow/service.d.ts.map +1 -1
  31. package/dist/dsh/coding-workflow/service.js +86 -6
  32. package/dist/dsh/coding-workflow/service.js.map +1 -1
  33. package/dist/dsh/coding-workflow/store.d.ts.map +1 -1
  34. package/dist/dsh/coding-workflow/store.js +10 -1
  35. package/dist/dsh/coding-workflow/store.js.map +1 -1
  36. package/dist/dsh/core/host.d.ts.map +1 -1
  37. package/dist/dsh/core/host.js +288 -48
  38. package/dist/dsh/core/host.js.map +1 -1
  39. package/dist/dsh/core/tasks.d.ts +7 -0
  40. package/dist/dsh/core/tasks.d.ts.map +1 -1
  41. package/dist/dsh/core/tasks.js +59 -8
  42. package/dist/dsh/core/tasks.js.map +1 -1
  43. package/dist/dsh/decisions/contracts.d.ts +3 -2
  44. package/dist/dsh/decisions/contracts.d.ts.map +1 -1
  45. package/dist/dsh/decisions/contracts.js +1 -1
  46. package/dist/dsh/decisions/contracts.js.map +1 -1
  47. package/dist/dsh/decisions/request-intent.d.ts +121 -0
  48. package/dist/dsh/decisions/request-intent.d.ts.map +1 -0
  49. package/dist/dsh/decisions/request-intent.js +260 -0
  50. package/dist/dsh/decisions/request-intent.js.map +1 -0
  51. package/dist/dsh/decisions/service.d.ts +5 -1
  52. package/dist/dsh/decisions/service.d.ts.map +1 -1
  53. package/dist/dsh/decisions/service.js +2 -1
  54. package/dist/dsh/decisions/service.js.map +1 -1
  55. package/dist/dsh/execution-selection.d.ts +13 -0
  56. package/dist/dsh/execution-selection.d.ts.map +1 -1
  57. package/dist/dsh/execution-selection.js +11 -0
  58. package/dist/dsh/execution-selection.js.map +1 -1
  59. package/dist/dsh/execution-support.d.ts +2 -0
  60. package/dist/dsh/execution-support.d.ts.map +1 -1
  61. package/dist/dsh/execution-support.js +36 -8
  62. package/dist/dsh/execution-support.js.map +1 -1
  63. package/dist/dsh/head-worker-configuration.d.ts +27 -0
  64. package/dist/dsh/head-worker-configuration.d.ts.map +1 -0
  65. package/dist/dsh/head-worker-configuration.js +69 -0
  66. package/dist/dsh/head-worker-configuration.js.map +1 -0
  67. package/dist/dsh/host-adapter/admission.d.ts +4 -1
  68. package/dist/dsh/host-adapter/admission.d.ts.map +1 -1
  69. package/dist/dsh/host-adapter/admission.js +297 -12
  70. package/dist/dsh/host-adapter/admission.js.map +1 -1
  71. package/dist/dsh/host-adapter/routing.d.ts +4 -1
  72. package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
  73. package/dist/dsh/host-adapter/routing.js +42 -23
  74. package/dist/dsh/host-adapter/routing.js.map +1 -1
  75. package/dist/dsh/host-adapter/turn-state.d.ts +6 -0
  76. package/dist/dsh/host-adapter/turn-state.d.ts.map +1 -1
  77. package/dist/dsh/host-adapter/turn-state.js +19 -1
  78. package/dist/dsh/host-adapter/turn-state.js.map +1 -1
  79. package/dist/dsh/host-adapter.d.ts.map +1 -1
  80. package/dist/dsh/host-adapter.js +217 -9
  81. package/dist/dsh/host-adapter.js.map +1 -1
  82. package/dist/dsh/intake-clarification.d.ts +2 -2
  83. package/dist/dsh/intake-clarification.d.ts.map +1 -1
  84. package/dist/dsh/intake-clarification.js +13 -4
  85. package/dist/dsh/intake-clarification.js.map +1 -1
  86. package/dist/dsh/intake-gate.d.ts +5 -0
  87. package/dist/dsh/intake-gate.d.ts.map +1 -1
  88. package/dist/dsh/intake-gate.js +19 -5
  89. package/dist/dsh/intake-gate.js.map +1 -1
  90. package/dist/dsh/lisp/candidate.d.ts +1 -1
  91. package/dist/dsh/lisp/surface.d.ts +1 -1
  92. package/dist/dsh/memory-owner.d.ts +24 -0
  93. package/dist/dsh/memory-owner.d.ts.map +1 -0
  94. package/dist/dsh/memory-owner.js +35 -0
  95. package/dist/dsh/memory-owner.js.map +1 -0
  96. package/dist/dsh/memory-request-fence.d.ts +37 -0
  97. package/dist/dsh/memory-request-fence.d.ts.map +1 -0
  98. package/dist/dsh/memory-request-fence.js +48 -0
  99. package/dist/dsh/memory-request-fence.js.map +1 -0
  100. package/dist/dsh/message-sources.d.ts.map +1 -1
  101. package/dist/dsh/message-sources.js +2 -1
  102. package/dist/dsh/message-sources.js.map +1 -1
  103. package/dist/dsh/model-selection-ui.d.ts +2 -0
  104. package/dist/dsh/model-selection-ui.d.ts.map +1 -1
  105. package/dist/dsh/model-selection-ui.js +69 -5
  106. package/dist/dsh/model-selection-ui.js.map +1 -1
  107. package/dist/dsh/models/contracts.d.ts +30 -2
  108. package/dist/dsh/models/contracts.d.ts.map +1 -1
  109. package/dist/dsh/models/contracts.js +6 -0
  110. package/dist/dsh/models/contracts.js.map +1 -1
  111. package/dist/dsh/models/profiles.d.ts +25 -0
  112. package/dist/dsh/models/profiles.d.ts.map +1 -1
  113. package/dist/dsh/models/profiles.js +34 -1
  114. package/dist/dsh/models/profiles.js.map +1 -1
  115. package/dist/dsh/models/service.d.ts +67 -3
  116. package/dist/dsh/models/service.d.ts.map +1 -1
  117. package/dist/dsh/models/service.js +210 -30
  118. package/dist/dsh/models/service.js.map +1 -1
  119. package/dist/dsh/models/session-selection.d.ts +25 -0
  120. package/dist/dsh/models/session-selection.d.ts.map +1 -0
  121. package/dist/dsh/models/session-selection.js +16 -0
  122. package/dist/dsh/models/session-selection.js.map +1 -0
  123. package/dist/dsh/models/surface.d.ts +1 -0
  124. package/dist/dsh/models/surface.d.ts.map +1 -1
  125. package/dist/dsh/models/surface.js +24 -4
  126. package/dist/dsh/models/surface.js.map +1 -1
  127. package/dist/dsh/native-worker-routing.d.ts +69 -0
  128. package/dist/dsh/native-worker-routing.d.ts.map +1 -0
  129. package/dist/dsh/native-worker-routing.js +147 -0
  130. package/dist/dsh/native-worker-routing.js.map +1 -0
  131. package/dist/dsh/on-demand-intake.d.ts +71 -5
  132. package/dist/dsh/on-demand-intake.d.ts.map +1 -1
  133. package/dist/dsh/on-demand-intake.js +299 -70
  134. package/dist/dsh/on-demand-intake.js.map +1 -1
  135. package/dist/dsh/owned-execution.d.ts +3 -0
  136. package/dist/dsh/owned-execution.d.ts.map +1 -1
  137. package/dist/dsh/owned-execution.js +7 -0
  138. package/dist/dsh/owned-execution.js.map +1 -1
  139. package/dist/dsh/request-memory.d.ts +2 -0
  140. package/dist/dsh/request-memory.d.ts.map +1 -1
  141. package/dist/dsh/request-memory.js +33 -2
  142. package/dist/dsh/request-memory.js.map +1 -1
  143. package/dist/dsh/setup.d.ts +2 -2
  144. package/dist/dsh/setup.d.ts.map +1 -1
  145. package/dist/dsh/setup.js +37 -14
  146. package/dist/dsh/setup.js.map +1 -1
  147. package/dist/dsh/skill-prompts.json +1 -1
  148. package/dist/dsh/standard-skills.d.ts +2 -1
  149. package/dist/dsh/standard-skills.d.ts.map +1 -1
  150. package/dist/dsh/standard-skills.js +2 -1
  151. package/dist/dsh/standard-skills.js.map +1 -1
  152. package/dist/dsh/task-intake.d.ts +6 -0
  153. package/dist/dsh/task-intake.d.ts.map +1 -1
  154. package/dist/dsh/task-intake.js +7 -2
  155. package/dist/dsh/task-intake.js.map +1 -1
  156. package/dist/locale/en.json +1 -1
  157. package/dist/locale/ja.json +1 -1
  158. package/dist/locale/ko.json +1 -1
  159. package/dist/locale/zh-CN.json +1 -1
  160. package/dist/models-client.cjs +78 -8
  161. package/dist/models-client.d.ts.map +1 -1
  162. package/dist/models-client.js +76 -8
  163. package/dist/models-client.js.map +1 -1
  164. package/docs/coding-workflow.md +3 -1
  165. package/docs/dsh-plugin.md +28 -5
  166. package/docs/kiokuko-models.md +47 -0
  167. package/docs/on-demand-intake.md +13 -7
  168. package/migrations/037_native_worker_routing.sql +8 -0
  169. package/package.json +3 -2
  170. package/skills/japanese-translation-for-oss-models/SKILL.md +5 -3
package/dist/client.cjs CHANGED
@@ -84,6 +84,7 @@ window.__ModuleLoader__.load({
84
84
  function KiokukoModelsPanel(props) {
85
85
  const [state, setState] = useState({ revision: 0, connections: [] }), [connection, setConnection] = useState(null), [models, setModels] = useState([]), [filter, setFilter] = useState("");
86
86
  const [busy, setBusy] = useState(false), [error, setError] = useState(""), [notice, setNotice] = useState(""), [key, setKey] = useState(""), [auth, setAuth] = useState(null), [answer, setAnswer] = useState("");
87
+ const [headChoice, setHeadChoice] = useState(""), [workerChoice, setWorkerChoice] = useState("");
87
88
  const [manual, setManual] = useState({
88
89
  id: "",
89
90
  contextWindow: 262144,
@@ -92,12 +93,27 @@ window.__ModuleLoader__.load({
92
93
  image: false
93
94
  });
94
95
  const [advanced, setAdvanced] = useState(false), [manualOpen, setManualOpen] = useState(false);
95
- const operation = useRef(void 0), mounted = useRef(true), working = useRef(false);
96
+ const operation = useRef(void 0), mounted = useRef(true), working = useRef(false), loadSequence = useRef(0);
96
97
  const sessionId = props.sessionId;
98
+ const currentSession = useRef(sessionId);
99
+ currentSession.current = sessionId;
100
+ const bindingKey = (binding) => binding ? JSON.stringify({ provider: binding.provider, model: binding.model }) : "";
101
+ const restorePairDraft = (value) => {
102
+ const candidates = value.headWorker?.candidates, selected = value.headWorker?.current;
103
+ const choice = (role, list) => {
104
+ const saved = list.find((candidate) => bindingKey(candidate) === bindingKey(selected?.[role]));
105
+ return bindingKey(saved ?? (list.length === 1 ? list[0] : void 0));
106
+ };
107
+ setHeadChoice(choice("head", candidates?.heads ?? []));
108
+ setWorkerChoice(choice("worker", candidates?.workers ?? []));
109
+ };
97
110
  const load = async () => {
98
- const value = await modelsApi();
99
- if (mounted.current)
111
+ const sequence = ++loadSequence.current;
112
+ const value = await modelsApi(void 0, sessionId ? "?sessionId=" + encodeURIComponent(sessionId) : "");
113
+ if (mounted.current && currentSession.current === sessionId && loadSequence.current === sequence) {
100
114
  setState(value);
115
+ restorePairDraft(value);
116
+ }
101
117
  return value;
102
118
  };
103
119
  useEffect(() => {
@@ -108,7 +124,7 @@ window.__ModuleLoader__.load({
108
124
  if (operation.current)
109
125
  void modelsApi({ op: "cancel", id: operation.current }).catch(() => void 0);
110
126
  };
111
- }, []);
127
+ }, [sessionId]);
112
128
  const run = async (action) => {
113
129
  if (working.current)
114
130
  return;
@@ -259,6 +275,38 @@ window.__ModuleLoader__.load({
259
275
  onClick: action,
260
276
  children: label
261
277
  });
278
+ const pair = state.headWorker, headCandidates = pair?.candidates?.heads ?? [], workerCandidates = pair?.candidates?.workers ?? [];
279
+ const selectedHead = headCandidates.find((binding) => bindingKey(binding) === headChoice), selectedWorker = workerCandidates.find((binding) => bindingKey(binding) === workerChoice);
280
+ const pairReady = !!selectedHead && !!selectedWorker;
281
+ const pairSummary = (configuration) => configuration ? configuration.head.provider + " / " + configuration.head.model + " \u2192 " + configuration.worker.provider + " / " + configuration.worker.model : "Ordinary model selection";
282
+ const savePair = async (scope, enabled) => {
283
+ if (enabled && !pairReady)
284
+ throw new Error("Choose an available connection for both models");
285
+ const retainEffort = (role, binding) => {
286
+ const saved = [pair?.current?.[role], pair?.default?.[role]].find((candidate) => candidate && bindingKey(candidate) === bindingKey(binding));
287
+ return saved?.reasoningEffort ? { ...binding, reasoningEffort: saved.reasoningEffort } : binding;
288
+ };
289
+ await modelsApi({
290
+ op: "head-worker",
291
+ scope,
292
+ revision: state.revision,
293
+ ...scope === "current" ? { sessionId } : {},
294
+ configuration: enabled ? { preset: "gpt-6.1-sol-deepseek-v4.1-flash", head: retainEffort("head", selectedHead), worker: retainEffort("worker", selectedWorker) } : null
295
+ });
296
+ await load();
297
+ if (mounted.current && currentSession.current === sessionId)
298
+ setNotice(scope === "current" ? enabled ? "Head/worker pair selected for this chat" : "Ordinary model selection restored for this chat" : enabled ? "Head/worker pair saved for new chats" : "Ordinary model default restored for new chats");
299
+ };
300
+ const pairSelect = (label, value, candidates, change) => jsx("label", { children: jsxs(Fragment, { children: [label, jsxs("select", {
301
+ "aria-label": label,
302
+ value,
303
+ disabled: busy || !candidates.length,
304
+ onChange: (event) => change(event.target.value),
305
+ children: [
306
+ jsx("option", { value: "", children: candidates.length ? "Choose connection\u2026" : "Unavailable" }),
307
+ ...candidates.map((binding) => jsx("option", { value: bindingKey(binding), children: binding.provider + " / " + binding.model }, bindingKey(binding)))
308
+ ]
309
+ })] }) });
262
310
  return jsxs("section", {
263
311
  className: "kiokuko-models-panel",
264
312
  "aria-label": "Kiokuko Models",
@@ -272,6 +320,24 @@ window.__ModuleLoader__.load({
272
320
  ...notice ? [jsx("p", { role: "status", children: notice }, "notice")] : [],
273
321
  ...busy ? [jsx("p", { role: "status", children: "Working\u2026" }, "busy")] : [],
274
322
  button("Reload", () => void run(load)),
323
+ jsxs("fieldset", {
324
+ "aria-label": "Head/worker pair",
325
+ children: [
326
+ jsx("legend", { children: "Head/worker pair (optional)" }),
327
+ jsx("p", { children: "GPT-6.1-Sol head + DeepSeek V4.1 Flash subagents for normal chat, Lisp and Enno. Both exact models must be available; there is no automatic replacement. An approved Enno task keeps its selected models until the next task." }),
328
+ jsx("p", { children: "Current chat: " + (sessionId ? pairSummary(pair?.current) : "Open a chat to select its pair") }),
329
+ jsx("p", { children: "Default for new chats: " + pairSummary(pair?.default) }),
330
+ ...pair?.currentAvailable === false ? [jsx("p", { role: "status", children: "The saved head/worker pair is unavailable. Reconnect its exact models or choose another available pair." })] : [],
331
+ ...(pair?.candidates?.problems ?? []).map((problem) => jsx("p", { role: "status", children: problem }, problem)),
332
+ pairSelect("Head connection \xB7 GPT-6.1-Sol", headChoice, headCandidates, setHeadChoice),
333
+ pairSelect("Worker connection \xB7 DeepSeek V4.1 Flash", workerChoice, workerCandidates, setWorkerChoice),
334
+ button("Use pair in current chat", () => void run(() => savePair("current", true)), !sessionId || !pairReady),
335
+ button("Pair default for new chats", () => void run(() => savePair("default", true)), !pairReady),
336
+ button("Disable pair in current chat", () => void run(() => savePair("current", false)), !sessionId || !pair?.current),
337
+ button("Clear pair default", () => void run(() => savePair("default", false)), !pair?.default),
338
+ button("Cancel pair changes", () => restorePairDraft(state))
339
+ ]
340
+ }),
275
341
  jsx("label", {
276
342
  children: jsxs(Fragment, {
277
343
  children: [
@@ -580,7 +646,9 @@ window.__ModuleLoader__.load({
580
646
  scope: "current",
581
647
  sessionId
582
648
  });
583
- setNotice("Model selected for this chat");
649
+ await load();
650
+ if (mounted.current && currentSession.current === sessionId)
651
+ setNotice("Model selected for this chat");
584
652
  }), !sessionId),
585
653
  button("Default for new chats", () => void run(async () => {
586
654
  await modelsApi({
@@ -589,7 +657,9 @@ window.__ModuleLoader__.load({
589
657
  model: m.id,
590
658
  scope: "default"
591
659
  });
592
- setNotice("Default model saved for new chats");
660
+ await load();
661
+ if (mounted.current && currentSession.current === sessionId)
662
+ setNotice("Default model saved for new chats");
593
663
  }))
594
664
  ]
595
665
  })
@@ -610,7 +680,7 @@ window.__ModuleLoader__.load({
610
680
  title: "Kiokuko Models",
611
681
  closeLabel: "Close",
612
682
  onClose: close,
613
- children: state.open ? jsx(KiokukoModelsPanel, { sessionId: state.sessionId }) : null
683
+ children: state.open ? jsx(KiokukoModelsPanel, { sessionId: state.sessionId }, state.sessionId ?? "no-session") : null
614
684
  });
615
685
  }
616
686
  function KiokukoModelsAnchor(props) {
@@ -664,7 +734,7 @@ window.__ModuleLoader__.load({
664
734
  order: 1e3,
665
735
  label: "Kiokuko Models",
666
736
  locale: MODELS_NS
667
- }, () => jsx(KiokukoModelsPanel, { sessionId: active.current })));
737
+ }, () => jsx(KiokukoModelsPanel, { sessionId: active.current }, active.current ?? "no-session")));
668
738
  ctx.slots.inject("conversation.input.left", () => ctx.slots.register({
669
739
  name: "conversation.input.left",
670
740
  id: "kiokuko-models-dialog",
@@ -14,6 +14,11 @@ export declare const AGENTICREPLAY_CAPTURE: Readonly<{
14
14
  export declare const record: (value: unknown) => Record<string, any>;
15
15
  export declare function label(value: unknown): string;
16
16
  export declare function projectBlocks(value: unknown, config: AgenticReplayConfig): unknown[];
17
+ export declare function boundedAgenticReplayPayload(value: unknown, maxBytes: number, format: string): {
18
+ payload: Record<string, unknown>;
19
+ omitted: boolean;
20
+ omissionReason?: string;
21
+ };
17
22
  /** Hash only host-attributed sections still present at the final request seam. */
18
23
  export declare function requestSourceManifest(messages: unknown, config: AgenticReplayConfig): {
19
24
  coverage: 'observed' | 'partial' | 'unknown';
@@ -28,4 +33,6 @@ export declare function requestSourceManifest(messages: unknown, config: Agentic
28
33
  export declare function modelRequest(options: Record<string, any>, id: string, config: AgenticReplayConfig): EventInit;
29
34
  /** DSH uses a replacement usage snapshot, with disjoint cache counters. */
30
35
  export declare function usageAttrs(value: unknown): Record<string, unknown>;
36
+ /** Classify only the native result envelope; JSON/text returned as domain data is not an error signal. */
37
+ export declare function toolResultOutcome(value: Record<string, any>): Record<string, unknown>;
31
38
  //# sourceMappingURL=agenticreplay-event-mapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agenticreplay-event-mapper.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-event-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAMtD,eAAO,MAAM,qBAAqB;;;;;;;;;;EACsE,CAAA;AACxG,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAoF,CAAA;AAC9I,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI5C;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,EAAE,CAcpF;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG;IACrF,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IACnE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACrE,CA4BA;AACD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAa7G;AACD,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQlE"}
1
+ {"version":3,"file":"agenticreplay-event-mapper.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-event-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAMtD,eAAO,MAAM,qBAAqB;;;;;;;;;;EACsE,CAAA;AACxG,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAoF,CAAA;AAC9I,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI5C;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,EAAE,CAcpF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAC7F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC7E,CASA;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG;IACrF,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IACnE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACrE,CA6BA;AACD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAmB7G;AACD,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQlE;AAGD,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWrF"}
@@ -33,6 +33,19 @@ export function projectBlocks(value, config) {
33
33
  return { type: label(block.type), omitted: true };
34
34
  });
35
35
  }
36
+ export function boundedAgenticReplayPayload(value, maxBytes, format) {
37
+ try {
38
+ const projected = projectAgenticReplayJson(value, maxBytes);
39
+ if (typeof projected !== 'object' || projected === null || Array.isArray(projected))
40
+ throw new AgenticReplayError('unsupported_payload');
41
+ return { payload: projected, omitted: false };
42
+ }
43
+ catch (error) {
44
+ if (!(error instanceof AgenticReplayError) || error.code !== 'queue_limit')
45
+ throw error;
46
+ return { payload: { format, content_omitted: true, omission_reason: 'payload_limit' }, omitted: true, omissionReason: 'payload_limit' };
47
+ }
48
+ }
36
49
  /** Hash only host-attributed sections still present at the final request seam. */
37
50
  export function requestSourceManifest(messages, config) {
38
51
  if (!Array.isArray(messages))
@@ -52,8 +65,13 @@ export function requestSourceManifest(messages, config) {
52
65
  continue;
53
66
  for (const candidate of source.sections) {
54
67
  const section = record(candidate);
55
- if (typeof section.name !== 'string' || typeof section.text !== 'string'
56
- || section.name.length > 256 || !body.includes(section.text))
68
+ if (typeof section.name !== 'string' || typeof section.text !== 'string' || section.name.length > 256)
69
+ continue;
70
+ if (Buffer.byteLength(section.text) > limit) {
71
+ omittedCount++;
72
+ continue;
73
+ }
74
+ if (!body.includes(section.text))
57
75
  continue;
58
76
  if (source.kind === 'runtime-context' && section.name !== 'kiokuko:execution')
59
77
  continue;
@@ -74,18 +92,26 @@ export function requestSourceManifest(messages, config) {
74
92
  }
75
93
  export function modelRequest(options, id, config) {
76
94
  const messages = Array.isArray(options.messages) ? options.messages : [];
77
- if (messages.length * 64 > config.maxQueuedBytesPerTrace)
78
- throw new AgenticReplayError('queue_limit');
79
95
  const sources = requestSourceManifest(options.messages, config);
80
- const payload = config.capture.content === 'metadata' ? { format: 'dsh.llm.request.v1', sources } : {
81
- format: 'dsh.llm.request.v1', system: options.system,
82
- sources,
83
- messages: messages.map(item => ({ role: label(record(item).role), content: projectBlocks(record(item).content, config) })),
84
- tools: Array.isArray(options.tools) ? options.tools.map(item => ({ name: label(record(item).name) })) : [],
85
- };
86
- return { type: 'model.request', actor: 'harness', attrs: { modelCallId: id, provider: label(options.provider), model: label(options.model),
87
- messages: messages.length, purpose: options.purpose === undefined ? 'conversation' : label(options.purpose) },
88
- payload: projectAgenticReplayJson(payload, config.maxQueuedBytesPerTrace) };
96
+ const attrs = { modelCallId: id, provider: label(options.provider), model: label(options.model),
97
+ messages: messages.length, purpose: options.purpose === undefined ? 'conversation' : label(options.purpose) };
98
+ try {
99
+ if (messages.length * 64 > config.maxQueuedBytesPerTrace)
100
+ throw new AgenticReplayError('queue_limit');
101
+ const payload = config.capture.content === 'metadata' ? { format: 'dsh.llm.request.v1', sources } : {
102
+ format: 'dsh.llm.request.v1', system: options.system, sources,
103
+ messages: messages.map(item => ({ role: label(record(item).role), content: projectBlocks(record(item).content, config) })),
104
+ tools: Array.isArray(options.tools) ? options.tools.map(item => ({ name: label(record(item).name) })) : [],
105
+ };
106
+ return { type: 'model.request', actor: 'harness', attrs,
107
+ payload: projectAgenticReplayJson(payload, config.maxQueuedBytesPerTrace) };
108
+ }
109
+ catch (error) {
110
+ if (!(error instanceof AgenticReplayError) || error.code !== 'queue_limit')
111
+ throw error;
112
+ return { type: 'model.request', actor: 'harness', attrs: { ...attrs, content_omitted: true, omission_reason: 'payload_limit' },
113
+ payload: { format: 'dsh.llm.request.v1', sources, content_omitted: true, omission_reason: 'payload_limit' } };
114
+ }
89
115
  }
90
116
  /** DSH uses a replacement usage snapshot, with disjoint cache counters. */
91
117
  export function usageAttrs(value) {
@@ -97,4 +123,17 @@ export function usageAttrs(value) {
97
123
  ...(output === undefined ? {} : { output_tokens: output }),
98
124
  ...(read === undefined ? {} : { cache_read_tokens: read }), ...(write === undefined ? {} : { cache_write_tokens: write }) };
99
125
  }
126
+ /** Classify only the native result envelope; JSON/text returned as domain data is not an error signal. */
127
+ export function toolResultOutcome(value) {
128
+ const error = record(value.error);
129
+ const structured = Object.keys(error).length > 0;
130
+ const process = record(value.value);
131
+ const processFailed = process.timedOut === true || process.aborted === true
132
+ || typeof process.signal === 'string' && process.signal.length > 0
133
+ || Number.isSafeInteger(process.exitCode) && process.exitCode !== 0;
134
+ const failed = value.isError === true || structured || processFailed;
135
+ return { is_error: failed, native_is_error: value.isError,
136
+ ...(structured ? { error_source: 'native_error_envelope' } : processFailed ? { error_source: 'native_process_result' } : {}),
137
+ ...(failed && value.isError === false ? { error_flag_conflict: true } : {}) };
138
+ }
100
139
  //# sourceMappingURL=agenticreplay-event-mapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agenticreplay-event-mapper.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-event-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agenticreplay-event-mapper.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-event-mapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK;IAClJ,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;AACxG,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAuB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAA4B,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9I,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IACtE,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAChE,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,MAA2B;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,sBAAsB;QAAE,MAAM,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAClG,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACxG,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU;gBACnG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBACrF,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACtG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAA;QACpF,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACpG,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc,EAAE,QAAgB,EAAE,MAAc;IAG1F,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC3D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;QACxI,OAAO,EAAE,OAAO,EAAE,SAAoC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;YAAE,MAAM,KAAK,CAAA;QACvF,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA;IACzI,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB,CAAC,QAAiB,EAAE,MAA2B;IAIlF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IACxF,MAAM,KAAK,GAAkE,EAAE,CAAA;IAC/E,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7E,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;eAC7D,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAA;QACtE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAQ;QACzF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;QACxF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QAClC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAQ;QACtC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;YACjC,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG;gBAAE,SAAQ;YAC/G,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;gBAAC,YAAY,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB;gBAAE,SAAQ;YACvF,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,qFAAqF,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC5J,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA;YAC7F,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtF,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;YAC1C,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,CAAC;gBAC9G,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;gBAAC,YAAY,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;AAC5G,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,OAA4B,EAAE,EAAU,EAAE,MAA2B;IAChG,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IACxE,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7F,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;IAC/G,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,sBAAsB;YAAE,MAAM,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACrG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAClG,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO;YAC7D,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1H,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SAC3G,CAAA;QACD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK;YACrD,OAAO,EAAE,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAA4B,EAAE,CAAA;IAC1G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;YAAE,MAAM,KAAK,CAAA;QACvF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE;YAC5H,OAAO,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,CAAA;IACjH,CAAC;AACH,CAAC;AACD,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IACxJ,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC9I,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAC/D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;QAClH,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAC/H,CAAC;AAGD,0GAA0G;AAC1G,MAAM,UAAU,iBAAiB,CAAC,KAA0B;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;WACtE,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;WAC/D,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,IAAI,aAAa,CAAA;IACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO;QACvD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5H,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AACjF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agenticreplay-hooks.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,4BAA4B,EAA8B,MAAM,0BAA0B,CAAA;AAExG,qGAAqG;AACrG,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI,CAiC3G"}
1
+ {"version":3,"file":"agenticreplay-hooks.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,4BAA4B,EAA8B,MAAM,0BAA0B,CAAA;AAExG,qGAAqG;AACrG,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI,CAwC3G"}
@@ -1,7 +1,7 @@
1
1
  /** Global Cordis observation with exact host bindings; result observer survives ingress shutdown. */
2
2
  export function mountDshAgenticReplayHooks(ctx, services) {
3
3
  const disposers = [];
4
- const on = (name, listener) => disposers.push(ctx.on(name, listener, { global: true }));
4
+ const on = (name, listener, prepend = false) => disposers.push(ctx.on(name, listener, { global: true, prepend }));
5
5
  const binding = (exec) => {
6
6
  try {
7
7
  const resolved = exec.agent?.session ? services.resolveSessionBinding(exec.agent, exec.agent.session) : undefined;
@@ -22,6 +22,15 @@ export function mountDshAgenticReplayHooks(ctx, services) {
22
22
  if (resolved && !services.canRecord(resolved))
23
23
  return next();
24
24
  return services.recorder.stream(resolved, options, next);
25
+ }, true);
26
+ on('agent/error', (event) => {
27
+ try {
28
+ const agent = event.agent;
29
+ const resolved = agent?.session ? services.resolveSessionBinding(agent, agent.session) : undefined;
30
+ if (resolved && services.canRecord(resolved))
31
+ services.recorder.nativeFailure(resolved);
32
+ }
33
+ catch { /* an observer never replaces the native error */ }
25
34
  });
26
35
  on('tools/pre-execute', async (exec, next) => {
27
36
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"agenticreplay-hooks.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agenticreplay-hooks.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-hooks.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare class DshAgenticReplayRecorder {
19
19
  auxiliary: number;
20
20
  lateResults: number;
21
21
  unsupportedChunks: number;
22
+ omittedBodies: number;
22
23
  };
23
24
  constructor(config: AgenticReplayConfig, withIndex: WithAgenticReplayIndex, deps?: AgenticReplayRecorderDependencies);
24
25
  status(sessionId: string): {
@@ -48,6 +49,7 @@ export declare class DshAgenticReplayRecorder {
48
49
  auxiliary: number;
49
50
  lateResults: number;
50
51
  unsupportedChunks: number;
52
+ omittedBodies: number;
51
53
  };
52
54
  unavailableReason: string | undefined;
53
55
  capture: Readonly<{
@@ -62,6 +64,8 @@ export declare class DshAgenticReplayRecorder {
62
64
  attachments: false;
63
65
  }>;
64
66
  };
67
+ /** Diagnostic flush is separate from capture, including traces stopped by limits. */
68
+ flushDiagnostics(sessionId: string): Promise<void>;
65
69
  start(binding: DshAgenticReplayBinding): void;
66
70
  markUnavailable(reason: string): void;
67
71
  stream<T>(binding: DshAgenticReplayBinding | undefined, options: Record<string, any>, next: () => AsyncIterable<T>): AsyncIterable<T>;
@@ -71,6 +75,7 @@ export declare class DshAgenticReplayRecorder {
71
75
  toolDispatched(exec: AgenticReplayToolExecution): void;
72
76
  toolResult(binding: DshAgenticReplayBinding | undefined, exec: AgenticReplayToolExecution, result: unknown): void;
73
77
  stopAccepting(): void;
78
+ nativeFailure(binding: DshAgenticReplayBinding | undefined): void;
74
79
  closeSessionRecording(sessionId: string, reason: string): Promise<void>;
75
80
  forgetSession(sessionId: string): void;
76
81
  shutdown(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"agenticreplay-recorder.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-recorder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiG,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC1M,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAItD,OAAO,EAA8C,KAAK,uBAAuB,EAAE,KAAK,0BAA0B,EAA2B,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAkB1M,MAAM,WAAW,iCAAiC;IAChD,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CACxC;AACD,+EAA+E;AAC/E,qBAAa,wBAAwB;;IAYvB,QAAQ,CAAC,MAAM,EAAE,mBAAmB;IAAE,QAAQ,CAAC,SAAS,EAAE,sBAAsB;IAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXnH,QAAQ,CAAC,UAAU,SAA0D;IAC7E,QAAQ,CAAC,WAAW;;;;;MAA0E;gBAUzE,MAAM,EAAE,mBAAmB,EAAW,SAAS,EAAE,sBAAsB,EAAmB,IAAI,GAAE,iCAAsC;IAC3J,MAAM,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiGxB,KAAK,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAC7C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAyFrI,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,aAAa,UAAO,GAAG,IAAI;IAqBnH,YAAY,CAAC,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAQvE,YAAY,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI;IAIpD,cAAc,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI;IAOtD,UAAU,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAoBjH,aAAa,IAAI,IAAI;IACrB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCvE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAGtC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAM1B"}
1
+ {"version":3,"file":"agenticreplay-recorder.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-recorder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiG,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC1M,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAItD,OAAO,EAA8C,KAAK,uBAAuB,EAAE,KAAK,0BAA0B,EAA2B,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAmB1M,MAAM,WAAW,iCAAiC;IAChD,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CACxC;AACD,+EAA+E;AAC/E,qBAAa,wBAAwB;;IAYvB,QAAQ,CAAC,MAAM,EAAE,mBAAmB;IAAE,QAAQ,CAAC,SAAS,EAAE,sBAAsB;IAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXnH,QAAQ,CAAC,UAAU,SAA0D;IAC7E,QAAQ,CAAC,WAAW;;;;;;MAA4F;gBAU3F,MAAM,EAAE,mBAAmB,EAAW,SAAS,EAAE,sBAAsB,EAAmB,IAAI,GAAE,iCAAsC;IAC3J,MAAM,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqCxB,qFAAqF;IAC/E,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqGxD,KAAK,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAC7C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAoJrI,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,aAAa,UAAO,GAAG,IAAI;IAyBnH,YAAY,CAAC,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAQvE,YAAY,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI;IAIpD,cAAc,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI;IAOtD,UAAU,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IA+BjH,aAAa,IAAI,IAAI;IACrB,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI;IASjE,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CvE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAGtC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAM1B"}