@inhuman.tools/turn 0.2.0 → 0.3.0

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 (284) hide show
  1. package/README.md +38 -0
  2. package/dist/agent-calls/acceptance.d.ts +1 -1
  3. package/dist/agent-calls/acceptance.d.ts.map +1 -1
  4. package/dist/agent-calls/acceptance.js +1 -1
  5. package/dist/agent-calls/acceptance.js.map +1 -1
  6. package/dist/agent-calls/callbacks.d.ts +1 -1
  7. package/dist/agent-calls/callbacks.d.ts.map +1 -1
  8. package/dist/agent-calls/callbacks.js +1 -1
  9. package/dist/agent-calls/callbacks.js.map +1 -1
  10. package/dist/agent-calls/delivery.d.ts +1 -1
  11. package/dist/agent-calls/delivery.d.ts.map +1 -1
  12. package/dist/agent-calls/delivery.js +1 -1
  13. package/dist/agent-calls/delivery.js.map +1 -1
  14. package/dist/agent-calls/operator.d.ts +1 -1
  15. package/dist/agent-calls/operator.d.ts.map +1 -1
  16. package/dist/agent-calls/operator.js +1 -1
  17. package/dist/agent-calls/operator.js.map +1 -1
  18. package/dist/agent-calls/runtime.d.ts +4 -2
  19. package/dist/agent-calls/runtime.d.ts.map +1 -1
  20. package/dist/agent-calls/runtime.js +17 -11
  21. package/dist/agent-calls/runtime.js.map +1 -1
  22. package/dist/agent-calls/types.d.ts +1 -1
  23. package/dist/agent-calls/types.d.ts.map +1 -1
  24. package/dist/context/compact-floors.d.ts +1 -1
  25. package/dist/context/compact-floors.d.ts.map +1 -1
  26. package/dist/context/compact.d.ts +1 -1
  27. package/dist/context/compact.d.ts.map +1 -1
  28. package/dist/context/compact.js +5 -4
  29. package/dist/context/compact.js.map +1 -1
  30. package/dist/context/history.d.ts +1 -1
  31. package/dist/context/history.d.ts.map +1 -1
  32. package/dist/context/history.js +35 -3
  33. package/dist/context/history.js.map +1 -1
  34. package/dist/context/retention/defaults.js +1 -1
  35. package/dist/context/retention/defaults.js.map +1 -1
  36. package/dist/context/retention/resolve.js +1 -1
  37. package/dist/context/retention/resolve.js.map +1 -1
  38. package/dist/context/retention/schema.js +1 -1
  39. package/dist/context/retention/schema.js.map +1 -1
  40. package/dist/context/retention/stamp.d.ts +1 -1
  41. package/dist/context/retention/stamp.d.ts.map +1 -1
  42. package/dist/context/retention/stamp.js +5 -2
  43. package/dist/context/retention/stamp.js.map +1 -1
  44. package/dist/context/retention/step.d.ts +1 -1
  45. package/dist/context/retention/step.d.ts.map +1 -1
  46. package/dist/context/retention/step.js +7 -4
  47. package/dist/context/retention/step.js.map +1 -1
  48. package/dist/context/retention/view.d.ts +1 -1
  49. package/dist/context/retention/view.d.ts.map +1 -1
  50. package/dist/context/retention/view.js +1 -1
  51. package/dist/context/retention/view.js.map +1 -1
  52. package/dist/context/spawn-history.d.ts +13 -0
  53. package/dist/context/spawn-history.d.ts.map +1 -0
  54. package/dist/context/spawn-history.js +82 -0
  55. package/dist/context/spawn-history.js.map +1 -0
  56. package/dist/context/squeeze.d.ts +1 -1
  57. package/dist/context/squeeze.d.ts.map +1 -1
  58. package/dist/context/squeeze.js +1 -1
  59. package/dist/context/squeeze.js.map +1 -1
  60. package/dist/context/tools.d.ts +2 -2
  61. package/dist/context/tools.d.ts.map +1 -1
  62. package/dist/context/tools.js +2 -2
  63. package/dist/context/tools.js.map +1 -1
  64. package/dist/context/transcript.d.ts +3 -1
  65. package/dist/context/transcript.d.ts.map +1 -1
  66. package/dist/context/transcript.js +17 -4
  67. package/dist/context/transcript.js.map +1 -1
  68. package/dist/policy-processor/classifier.d.ts.map +1 -1
  69. package/dist/policy-processor/classifier.js +3 -1
  70. package/dist/policy-processor/classifier.js.map +1 -1
  71. package/dist/policy-processor/scope.d.ts +1 -0
  72. package/dist/policy-processor/scope.d.ts.map +1 -1
  73. package/dist/policy-processor/scope.js +9 -2
  74. package/dist/policy-processor/scope.js.map +1 -1
  75. package/dist/policy-processor/unattended-guard.js +8 -2
  76. package/dist/policy-processor/unattended-guard.js.map +1 -1
  77. package/dist/resources/compact-assets.d.ts +5 -0
  78. package/dist/resources/compact-assets.d.ts.map +1 -0
  79. package/dist/resources/compact-assets.js +6 -0
  80. package/dist/resources/compact-assets.js.map +1 -0
  81. package/dist/resources/compact-snapshot.d.ts +21 -0
  82. package/dist/resources/compact-snapshot.d.ts.map +1 -0
  83. package/dist/resources/compact-snapshot.js +44 -0
  84. package/dist/resources/compact-snapshot.js.map +1 -0
  85. package/dist/resources/index.d.ts +6 -0
  86. package/dist/resources/index.d.ts.map +1 -0
  87. package/dist/resources/index.js +19 -0
  88. package/dist/resources/index.js.map +1 -0
  89. package/dist/resources/module-bundle.d.ts +16 -0
  90. package/dist/resources/module-bundle.d.ts.map +1 -0
  91. package/dist/resources/module-bundle.js +78 -0
  92. package/dist/resources/module-bundle.js.map +1 -0
  93. package/dist/runtime/ambient-compact.d.ts +38 -0
  94. package/dist/runtime/ambient-compact.d.ts.map +1 -0
  95. package/dist/runtime/ambient-compact.js +123 -0
  96. package/dist/runtime/ambient-compact.js.map +1 -0
  97. package/dist/runtime/index.d.ts +9 -0
  98. package/dist/runtime/index.d.ts.map +1 -0
  99. package/dist/runtime/index.js +8 -0
  100. package/dist/runtime/index.js.map +1 -0
  101. package/dist/runtime/ports.d.ts +33 -0
  102. package/dist/runtime/ports.d.ts.map +1 -0
  103. package/dist/runtime/ports.js +2 -0
  104. package/dist/runtime/ports.js.map +1 -0
  105. package/dist/runtime/prompt-message-of.d.ts +4 -0
  106. package/dist/runtime/prompt-message-of.d.ts.map +1 -0
  107. package/dist/runtime/prompt-message-of.js +8 -0
  108. package/dist/runtime/prompt-message-of.js.map +1 -0
  109. package/dist/runtime/re-act-loop-intent-detected-trigger.d.ts +32 -0
  110. package/dist/runtime/re-act-loop-intent-detected-trigger.d.ts.map +1 -0
  111. package/dist/runtime/re-act-loop-intent-detected-trigger.js +132 -0
  112. package/dist/runtime/re-act-loop-intent-detected-trigger.js.map +1 -0
  113. package/dist/runtime/round-boundary.d.ts +13 -0
  114. package/dist/runtime/round-boundary.d.ts.map +1 -0
  115. package/dist/runtime/round-boundary.js +210 -0
  116. package/dist/runtime/round-boundary.js.map +1 -0
  117. package/dist/runtime/round-stop.d.ts +9 -0
  118. package/dist/runtime/round-stop.d.ts.map +1 -0
  119. package/dist/runtime/round-stop.js +19 -0
  120. package/dist/runtime/round-stop.js.map +1 -0
  121. package/dist/runtime/tool-call.d.ts +4 -0
  122. package/dist/runtime/tool-call.d.ts.map +1 -0
  123. package/dist/runtime/tool-call.js +8 -0
  124. package/dist/runtime/tool-call.js.map +1 -0
  125. package/dist/runtime/turn-iterator.d.ts +32 -0
  126. package/dist/runtime/turn-iterator.d.ts.map +1 -0
  127. package/dist/runtime/turn-iterator.js +251 -0
  128. package/dist/runtime/turn-iterator.js.map +1 -0
  129. package/dist/runtime/turn-resolvers.d.ts +17 -0
  130. package/dist/runtime/turn-resolvers.d.ts.map +1 -0
  131. package/dist/runtime/turn-resolvers.js +29 -0
  132. package/dist/runtime/turn-resolvers.js.map +1 -0
  133. package/dist/session/cancel.d.ts +4 -1
  134. package/dist/session/cancel.d.ts.map +1 -1
  135. package/dist/session/cancel.js +10 -2
  136. package/dist/session/cancel.js.map +1 -1
  137. package/dist/session/commands.d.ts +1 -1
  138. package/dist/session/commands.d.ts.map +1 -1
  139. package/dist/session/commands.js +4 -2
  140. package/dist/session/commands.js.map +1 -1
  141. package/dist/session/compact-actor.d.ts +12 -5
  142. package/dist/session/compact-actor.d.ts.map +1 -1
  143. package/dist/session/compact-actor.js +64 -12
  144. package/dist/session/compact-actor.js.map +1 -1
  145. package/dist/session/compact-env.d.ts +31 -5
  146. package/dist/session/compact-env.d.ts.map +1 -1
  147. package/dist/session/compact-env.js +23 -13
  148. package/dist/session/compact-env.js.map +1 -1
  149. package/dist/session/compact.d.ts +6 -3
  150. package/dist/session/compact.d.ts.map +1 -1
  151. package/dist/session/compact.js.map +1 -1
  152. package/dist/session/index.d.ts +2 -2
  153. package/dist/session/index.d.ts.map +1 -1
  154. package/dist/session/index.js +2 -2
  155. package/dist/session/index.js.map +1 -1
  156. package/dist/session/park.d.ts +1 -1
  157. package/dist/session/park.d.ts.map +1 -1
  158. package/dist/session/park.js +1 -1
  159. package/dist/session/park.js.map +1 -1
  160. package/dist/session/side-channel-reminder.d.ts +1 -1
  161. package/dist/session/side-channel-reminder.d.ts.map +1 -1
  162. package/dist/session/side-channel-reminder.js +1 -1
  163. package/dist/session/side-channel-reminder.js.map +1 -1
  164. package/dist/session/types.d.ts +1 -1
  165. package/dist/session/types.d.ts.map +1 -1
  166. package/dist/session-runtime/ask-line.d.ts +7 -0
  167. package/dist/session-runtime/ask-line.d.ts.map +1 -0
  168. package/dist/session-runtime/ask-line.js +36 -0
  169. package/dist/session-runtime/ask-line.js.map +1 -0
  170. package/dist/session-runtime/durability.d.ts +25 -0
  171. package/dist/session-runtime/durability.d.ts.map +1 -0
  172. package/dist/session-runtime/durability.js +18 -0
  173. package/dist/session-runtime/durability.js.map +1 -0
  174. package/dist/session-runtime/effects.d.ts +53 -0
  175. package/dist/session-runtime/effects.d.ts.map +1 -0
  176. package/dist/session-runtime/effects.js +18 -0
  177. package/dist/session-runtime/effects.js.map +1 -0
  178. package/dist/session-runtime/index.d.ts +8 -0
  179. package/dist/session-runtime/index.d.ts.map +1 -0
  180. package/dist/session-runtime/index.js +8 -0
  181. package/dist/session-runtime/index.js.map +1 -0
  182. package/dist/session-runtime/interrupt.d.ts +3 -0
  183. package/dist/session-runtime/interrupt.d.ts.map +1 -0
  184. package/dist/session-runtime/interrupt.js +33 -0
  185. package/dist/session-runtime/interrupt.js.map +1 -0
  186. package/dist/session-runtime/recovery.d.ts +17 -0
  187. package/dist/session-runtime/recovery.d.ts.map +1 -0
  188. package/dist/session-runtime/recovery.js +119 -0
  189. package/dist/session-runtime/recovery.js.map +1 -0
  190. package/dist/session-runtime/runtime.d.ts +50 -0
  191. package/dist/session-runtime/runtime.d.ts.map +1 -0
  192. package/dist/session-runtime/runtime.js +533 -0
  193. package/dist/session-runtime/runtime.js.map +1 -0
  194. package/dist/session-runtime/summary.d.ts +26 -0
  195. package/dist/session-runtime/summary.d.ts.map +1 -0
  196. package/dist/session-runtime/summary.js +33 -0
  197. package/dist/session-runtime/summary.js.map +1 -0
  198. package/dist/tool-catalog/bindings.d.ts +6 -0
  199. package/dist/tool-catalog/bindings.d.ts.map +1 -0
  200. package/dist/tool-catalog/bindings.js +37 -0
  201. package/dist/tool-catalog/bindings.js.map +1 -0
  202. package/dist/tool-catalog/catalog.d.ts +1 -3
  203. package/dist/tool-catalog/catalog.d.ts.map +1 -1
  204. package/dist/tool-catalog/catalog.js +6 -34
  205. package/dist/tool-catalog/catalog.js.map +1 -1
  206. package/dist/tool-catalog/types.d.ts +8 -0
  207. package/dist/tool-catalog/types.d.ts.map +1 -1
  208. package/dist/tool-catalog/types.js.map +1 -1
  209. package/dist/tool-runtime/approval/approved.d.ts +1 -1
  210. package/dist/tool-runtime/approval/approved.d.ts.map +1 -1
  211. package/dist/tool-runtime/approval/approved.js +1 -1
  212. package/dist/tool-runtime/approval/approved.js.map +1 -1
  213. package/dist/tool-runtime/handler.d.ts.map +1 -1
  214. package/dist/tool-runtime/handler.js +291 -237
  215. package/dist/tool-runtime/handler.js.map +1 -1
  216. package/dist/tool-runtime/run-system-tool.d.ts +1 -0
  217. package/dist/tool-runtime/run-system-tool.d.ts.map +1 -1
  218. package/dist/tool-runtime/run-system-tool.js +30 -10
  219. package/dist/tool-runtime/run-system-tool.js.map +1 -1
  220. package/dist/tool-runtime/worker-tools.d.ts.map +1 -1
  221. package/dist/tool-runtime/worker-tools.js +2 -2
  222. package/dist/tool-runtime/worker-tools.js.map +1 -1
  223. package/package.json +29 -16
  224. package/src/agent-calls/acceptance.ts +1 -1
  225. package/src/agent-calls/callbacks.ts +1 -1
  226. package/src/agent-calls/delivery.ts +1 -1
  227. package/src/agent-calls/operator.ts +7 -1
  228. package/src/agent-calls/runtime.ts +23 -11
  229. package/src/agent-calls/types.ts +1 -1
  230. package/src/context/compact-floors.ts +1 -1
  231. package/src/context/compact.ts +4 -5
  232. package/src/context/history.ts +46 -4
  233. package/src/context/retention/defaults.ts +1 -1
  234. package/src/context/retention/resolve.ts +1 -1
  235. package/src/context/retention/schema.ts +1 -1
  236. package/src/context/retention/stamp.ts +7 -2
  237. package/src/context/retention/step.ts +7 -4
  238. package/src/context/retention/view.ts +1 -1
  239. package/src/context/spawn-history.ts +95 -0
  240. package/src/context/squeeze.ts +1 -1
  241. package/src/context/tools.ts +3 -2
  242. package/src/context/transcript.ts +15 -4
  243. package/src/policy-processor/README.md +1 -1
  244. package/src/policy-processor/classifier.ts +3 -1
  245. package/src/policy-processor/scope.ts +7 -2
  246. package/src/policy-processor/unattended-guard.ts +5 -2
  247. package/src/resources/compact-assets.ts +9 -0
  248. package/src/resources/compact-snapshot.ts +51 -0
  249. package/src/resources/index.ts +27 -0
  250. package/src/resources/module-bundle.ts +90 -0
  251. package/src/runtime/ambient-compact.ts +147 -0
  252. package/src/runtime/index.ts +17 -0
  253. package/src/runtime/ports.ts +28 -0
  254. package/src/runtime/prompt-message-of.ts +14 -0
  255. package/src/runtime/re-act-loop-intent-detected-trigger.ts +177 -0
  256. package/src/runtime/round-boundary.ts +248 -0
  257. package/src/runtime/round-stop.ts +24 -0
  258. package/src/runtime/tool-call.ts +10 -0
  259. package/src/runtime/turn-iterator.ts +312 -0
  260. package/src/runtime/turn-resolvers.ts +43 -0
  261. package/src/session/cancel.ts +11 -3
  262. package/src/session/commands.ts +5 -2
  263. package/src/session/compact-actor.ts +76 -16
  264. package/src/session/compact-env.ts +27 -18
  265. package/src/session/compact.ts +8 -3
  266. package/src/session/index.ts +7 -2
  267. package/src/session/park.ts +7 -1
  268. package/src/session/side-channel-reminder.ts +1 -1
  269. package/src/session/types.ts +1 -1
  270. package/src/session-runtime/ask-line.ts +39 -0
  271. package/src/session-runtime/durability.ts +41 -0
  272. package/src/session-runtime/effects.ts +35 -0
  273. package/src/session-runtime/index.ts +19 -0
  274. package/src/session-runtime/interrupt.ts +34 -0
  275. package/src/session-runtime/recovery.ts +145 -0
  276. package/src/session-runtime/runtime.ts +535 -0
  277. package/src/session-runtime/summary.ts +67 -0
  278. package/src/tool-catalog/bindings.ts +37 -0
  279. package/src/tool-catalog/catalog.ts +6 -31
  280. package/src/tool-catalog/types.ts +9 -0
  281. package/src/tool-runtime/approval/approved.ts +1 -1
  282. package/src/tool-runtime/handler.ts +40 -24
  283. package/src/tool-runtime/run-system-tool.ts +27 -11
  284. package/src/tool-runtime/worker-tools.ts +2 -2
@@ -0,0 +1,251 @@
1
+ import { prompt } from "@inhuman.tools/harness-commons";
2
+ import { CompactJob, CompletionExpectation, CompletionJob, DEFAULT_LENGTH_CONTINUATIONS, ResponseCallOrder, SystemToolJob, parseCompactTrigger, ProgrammaticJob, ReACTChunk, ToolCallJob, TurnPromptChunk, } from "@inhuman.tools/harness-model/session";
3
+ import { runInAction } from "mobx";
4
+ import { ambientCutoff, ambientModel } from "./ambient-compact.js";
5
+ import { questionLineFromSpeech } from "./re-act-loop-intent-detected-trigger.js";
6
+ import { assessBoundary, boundaryNote, refreshBoundaryEvents } from "./round-boundary.js";
7
+ import { CONTENT_FILTER_STOP, maxRoundsMessage, refusalText, roundCapReached } from "./round-stop.js";
8
+ import { toolCallFromResponse } from "./tool-call.js";
9
+ import { compactDecision, historyBehind, stampRetentionClock, keepFloors, stampCompactInputs, sliceCompactZones, tailCompactCandidate, Transcript, } from "../context/index.js";
10
+ import { isWorkReachable, turnLoopStopped } from "../session/cancel.js";
11
+ import { joinSystemNotes, sealedActorRounds, SIDE_CHANNEL_REMINDER_EVERY, sideChannelReminderNote, } from "../session/side-channel-reminder.js";
12
+ import { catalogOf } from "../tool-catalog/bindings.js";
13
+ import { behaviorEntriesOf } from "../tool-catalog/catalog.js";
14
+ /**
15
+ * Append-and-iterate view of the persisted tape. The doneWork/queue
16
+ * split is the durable cursor; entering a cell is independent of resolving it.
17
+ * No snapshot iterator: appends are visited in this same pass.
18
+ */
19
+ function* turnSequence(turn, signal) {
20
+ while (!turnLoopStopped(turn, signal)) {
21
+ const cell = turn.take();
22
+ if (cell == null)
23
+ return;
24
+ yield cell;
25
+ }
26
+ }
27
+ export async function iterateTurn(turn, host, signal) {
28
+ if (turnLoopStopped(turn, signal))
29
+ return;
30
+ const session = host.session;
31
+ const connectionId = session.kvs.connection?.trim() ?? "";
32
+ const model = session.kvs.model?.trim() ?? "";
33
+ // Recorded once: a live setting change does not move a turn that is already running.
34
+ turn.stampLoopLimits(host.loopLimits?.(turn) ?? { maxRounds: 0, lengthContinuations: DEFAULT_LENGTH_CONTINUATIONS });
35
+ for (const chunk of turnSequence(turn, signal)) {
36
+ if (turnLoopStopped(turn, signal))
37
+ return;
38
+ switch (true) {
39
+ case chunk instanceof CompactJob: {
40
+ await host.resolvers.compact(chunk, signal);
41
+ continue;
42
+ }
43
+ case chunk instanceof TurnPromptChunk:
44
+ case chunk instanceof ReACTChunk: {
45
+ if (chunk instanceof ReACTChunk) {
46
+ if (chunk.decision == null) {
47
+ if (!chunk.roundClosed) {
48
+ const pew = chunk.source?.expectation;
49
+ await host.closeRound(pew?.outcome === "failed"
50
+ ? { ok: false, error: pew.failReason ?? pew.endDetail ?? "model round failed" }
51
+ : { ok: true, value: pew?.responseText || false });
52
+ if (turnLoopStopped(turn, signal))
53
+ return;
54
+ chunk.roundClosed = true;
55
+ }
56
+ const assessed = await assessBoundary(turn, chunk, host, signal);
57
+ if (turnLoopStopped(turn, signal))
58
+ return;
59
+ const decision = refreshBoundaryEvents(turn, host, assessed);
60
+ turn.commitBoundary(chunk, decision, host.notes.peek(session.sessionId), decision.reason === "awaiting-user" && chunk.source != null
61
+ ? questionLineFromSpeech(chunk.source.expectation.responseText)
62
+ : "");
63
+ }
64
+ if (chunk.decision?.kind !== "advance")
65
+ continue;
66
+ if (chunk.decision.nextRoundId != null)
67
+ continue;
68
+ }
69
+ if (turnLoopStopped(turn, signal))
70
+ return;
71
+ if (connectionId === "") {
72
+ blockAdmission(turn, chunk, {
73
+ reason: "no-connection",
74
+ detail: "no connection is configured for this session",
75
+ });
76
+ return;
77
+ }
78
+ if (chunk instanceof ReACTChunk && !isWorkReachable(session, turn))
79
+ return;
80
+ if (roundCapReached(turn)) {
81
+ blockAdmission(turn, chunk, { reason: "round-limit", detail: maxRoundsMessage(turn.maxRounds ?? 0) });
82
+ return;
83
+ }
84
+ if (chunk instanceof ReACTChunk)
85
+ chunk.waitingFor = "inbound";
86
+ if (!(await host.waitInbound(signal)) || turnLoopStopped(turn, signal))
87
+ return;
88
+ const resumed = turn.doneWork.some((done) => done !== chunk && (done instanceof TurnPromptChunk || done instanceof ReACTChunk));
89
+ if (chunk instanceof ReACTChunk)
90
+ chunk.waitingFor = "round-hook";
91
+ const opened = await host.openRound(resumed);
92
+ if (turnLoopStopped(turn, signal))
93
+ return;
94
+ if (!opened) {
95
+ blockAdmission(turn, chunk, { reason: "plugin-refused", detail: "a plugin refused to open the round" });
96
+ return;
97
+ }
98
+ turn.claimApprovalNotes();
99
+ session.claimSteers(turn);
100
+ session.claimNotices(turn);
101
+ const messages = historyBehind(turn, compactRead(host.compactKeepTurns, session.kvs));
102
+ const completion = new CompletionExpectation({
103
+ promptText: chunk instanceof TurnPromptChunk ? turn.completionMessage : prompt.user ``,
104
+ connectionId,
105
+ model,
106
+ messages,
107
+ reasoningEffort: session.agent.spec.reasoningEffort,
108
+ });
109
+ const enrichment = boundaryNote(turn, chunk instanceof ReACTChunk ? chunk : null, host);
110
+ completion.systemNote = enrichment.note;
111
+ const frozenNames = turn.tools.entries.map((entry) => entry.name);
112
+ completion.systemNote = joinSystemNotes([
113
+ completion.systemNote,
114
+ sideChannelReminderNote(sealedActorRounds(turn), SIDE_CHANNEL_REMINDER_EVERY, frozenNames.length > 0 ? frozenNames : null),
115
+ ]);
116
+ runInAction(() => {
117
+ const next = new CompletionJob({ expectation: completion, managesResponse: true });
118
+ turn.admitRound(chunk instanceof ReACTChunk ? chunk : null, next);
119
+ host.notes.consume(session.sessionId, enrichment.noteIds, turn.uuid);
120
+ });
121
+ // R3: read the live inputs once (wall clock, prior warmUntilMs, estimated savings) and record them.
122
+ stampRetentionClock(completion);
123
+ host.diagnostics?.step?.(`turn round ${turn.doneWork.length + turn.queue.length} ${turn.prompt}`);
124
+ host.diagnostics?.trace?.("harness:turn", `round ${turn.uuid} queued=${turn.queue.length}`);
125
+ break;
126
+ }
127
+ case chunk instanceof CompletionJob: {
128
+ const pew = chunk.expectation;
129
+ if (pew == null)
130
+ break;
131
+ if (!pew.isDone)
132
+ await host.resolvers.completion(chunk, signal);
133
+ if (turnLoopStopped(turn, signal))
134
+ return;
135
+ if (chunk.responseExpanded)
136
+ break;
137
+ if (pew.outcome !== "successful") {
138
+ turn.finishResponseExpansion(chunk);
139
+ break;
140
+ }
141
+ const filtered = pew.finishReason === CONTENT_FILTER_STOP;
142
+ const refusals = pew.responseCalls.filter((call) => filtered || call.dropReason !== "");
143
+ const calls = pew.responseCalls.filter((call) => !refusals.includes(call)).map(toolCallFromResponse);
144
+ const order = new ResponseCallOrder({
145
+ entryClass: (name) => catalogOf(session)?.catalogEntry(name)?.class,
146
+ remoteMcp: (key) => host.remoteMcp?.(key) ?? false,
147
+ });
148
+ let cursor = 0;
149
+ const record = (make) => runInAction(() => {
150
+ const existing = chunk.responseWork[cursor++];
151
+ if (existing != null) {
152
+ order.place(existing);
153
+ return existing;
154
+ }
155
+ const tool = make();
156
+ order.place(tool);
157
+ turn.recordResponseWork(chunk, tool);
158
+ return tool;
159
+ });
160
+ for (const call of refusals) {
161
+ record(() => new SystemToolJob({
162
+ toolCallId: call.toolCallId,
163
+ name: call.name,
164
+ argsJson: "{}",
165
+ humanApprove: false,
166
+ completed: true,
167
+ continuationJson: JSON.stringify({ kind: "none" }),
168
+ triggersReactLoop: false,
169
+ outcomeJson: JSON.stringify({ ok: false, text: refusalText(call.dropReason, filtered) }),
170
+ }));
171
+ }
172
+ // Early metadata must settle before other calls become reachable. The durable cursor
173
+ // makes re-entry safe even when a park happens in this wait.
174
+ const recorded = new Map(chunk.responseWork.map((job, index) => [job.toolCallId, { job, index }]));
175
+ const isEarly = (call) => {
176
+ const prior = recorded.get(call.id)?.job;
177
+ if (prior != null)
178
+ return prior.isSideChannel;
179
+ const entry = catalogOf(session)?.catalogEntry(call.function.name) ??
180
+ behaviorEntriesOf(session).find((row) => row.wireName === call.function.name);
181
+ return entry?.isSideChannel === true;
182
+ };
183
+ const early = calls
184
+ .filter(isEarly)
185
+ .sort((a, b) => (recorded.get(a.id)?.index ?? Infinity) - (recorded.get(b.id)?.index ?? Infinity));
186
+ const ordinary = calls.filter((candidate) => !isEarly(candidate));
187
+ for (const call of early) {
188
+ const tool = record(() => host.admit(call));
189
+ if (!tool.completed && (await host.resolvers.work(tool, signal)) === "aborted")
190
+ return;
191
+ if (turnLoopStopped(turn, signal))
192
+ return;
193
+ }
194
+ for (const call of ordinary) {
195
+ record(() => host.admit(call));
196
+ }
197
+ const read = compactRead(host.compactKeepTurns, session.kvs);
198
+ const eat = Transcript.fromCells(historyBehind(turn, read));
199
+ const zones = sliceCompactZones(eat, keepFloors(turn.contextNeed, session.kvs, false, read.configFloor));
200
+ const zoneSlice = { prefix: zones.prefix, keep: zones.keep };
201
+ const forced = tailCompactCandidate(turn, parseCompactTrigger(host.hardCompactTrigger), zoneSlice);
202
+ let forcedCompact = null;
203
+ if (forced != null) {
204
+ const job = new CompactJob({ reason: forced });
205
+ // F8: the cut's inputs are facts of this job from here on, not live settings.
206
+ stampCompactInputs(job, read.configFloor, session.kvs);
207
+ forcedCompact = job;
208
+ }
209
+ const option = compactDecision(turn, zoneSlice);
210
+ const cutoff = option == null ? null : ambientCutoff(zones.keep);
211
+ const summarizer = ambientModel(session.kvs, model);
212
+ if (option != null && cutoff != null && connectionId !== "" && summarizer !== "") {
213
+ host.startAmbientCompact({
214
+ home: turn,
215
+ cutoff,
216
+ prefix: zones.prefix,
217
+ focus: option.focus,
218
+ connectionId,
219
+ model: summarizer,
220
+ });
221
+ }
222
+ turn.finishResponseExpansion(chunk, forcedCompact);
223
+ break;
224
+ }
225
+ case chunk instanceof ToolCallJob:
226
+ case chunk instanceof ProgrammaticJob: {
227
+ host.diagnostics?.trace?.("harness:turn", `work ${turn.uuid} ${chunk instanceof ToolCallJob ? chunk.name : "scheme"} ${chunk.toolCallId}`);
228
+ if (!chunk.completed && (await host.resolvers.work(chunk, signal)) === "aborted")
229
+ return;
230
+ if (turnLoopStopped(turn, signal))
231
+ return;
232
+ break;
233
+ }
234
+ default:
235
+ break;
236
+ }
237
+ }
238
+ }
239
+ function blockAdmission(turn, chunk, gate) {
240
+ runInAction(() => {
241
+ if (chunk instanceof ReACTChunk && chunk.decision != null) {
242
+ turn.commitBoundary(chunk, { ...chunk.decision, kind: "blocked", ...gate }, chunk.contextNotes, "");
243
+ }
244
+ else
245
+ turn.stopLoop(gate.detail);
246
+ });
247
+ }
248
+ function compactRead(configFloor, kv) {
249
+ return { configFloor: Math.max(configFloor, 1), kv };
250
+ }
251
+ //# sourceMappingURL=turn-iterator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-iterator.js","sourceRoot":"","sources":["../../src/runtime/turn-iterator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { CompactJob, CompletionJob, ProgrammaticJob, ToolCallJob } from "@inhuman.tools/harness-model/session";
2
+ import type { CompleteRequest, CompleteResult } from "@inhuman.tools/harness-provider-sdk";
3
+ import { type CompactHost } from "../session/compact-actor.js";
4
+ /** Resolution changes the work node. The iterator reads that node afterward. */
5
+ export interface TurnResolvers {
6
+ completion(job: CompletionJob, signal: AbortSignal): Promise<void>;
7
+ work(job: ToolCallJob | ProgrammaticJob, signal: AbortSignal): Promise<"settled" | "aborted">;
8
+ compact(job: CompactJob, signal: AbortSignal): Promise<void>;
9
+ }
10
+ export interface TurnResolverHost {
11
+ complete(request: CompleteRequest): Promise<CompleteResult>;
12
+ join(job: ToolCallJob | ProgrammaticJob, signal: AbortSignal): Promise<"settled" | "aborted">;
13
+ compactHost(): CompactHost;
14
+ }
15
+ /** Production effects; tests substitute this whole strategy without a daemon. */
16
+ export declare function createTurnResolvers(host: TurnResolverHost): TurnResolvers;
17
+ //# sourceMappingURL=turn-resolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-resolvers.d.ts","sourceRoot":"","sources":["../../src/runtime/turn-resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACpH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE3F,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE9E,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC9F,WAAW,IAAI,WAAW,CAAC;CAC5B;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAuBzE"}
@@ -0,0 +1,29 @@
1
+ import { runCompactJob } from "../session/compact-actor.js";
2
+ /** Production effects; tests substitute this whole strategy without a daemon. */
3
+ export function createTurnResolvers(host) {
4
+ return {
5
+ async completion(job, signal) {
6
+ const pew = job.expectation;
7
+ if (pew == null || pew.isDone)
8
+ return;
9
+ try {
10
+ await host.complete({
11
+ connectionId: pew.connectionId,
12
+ model: pew.model,
13
+ promptText: pew.userPrompt,
14
+ round: pew,
15
+ signal,
16
+ });
17
+ }
18
+ catch (error) {
19
+ // A park aborts with the reason "park" and leaves the round open for the next wrap.
20
+ if (!signal.aborted && pew.outcome == null && error !== "park") {
21
+ pew.fail("crash", error instanceof Error ? error.message : String(error), "null");
22
+ }
23
+ }
24
+ },
25
+ work: (job, signal) => host.join(job, signal),
26
+ compact: (job, signal) => runCompactJob(job, host.compactHost(), signal),
27
+ };
28
+ }
29
+ //# sourceMappingURL=turn-resolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-resolvers.js","sourceRoot":"","sources":["../../src/runtime/turn-resolvers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAC;AAe9E,iFAAiF;AACjF,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;YAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;YAC5B,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC;oBAClB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,KAAK,EAAE,GAAG;oBACV,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oFAAoF;gBACpF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC/D,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QAC7C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC;KACzE,CAAC;AACJ,CAAC"}
@@ -2,8 +2,11 @@
2
2
  * Stop predicate and leftover rejection for a turn. Accepted-work Calls stay.
3
3
  * In-flight BODY abort is the caller's `abort`.
4
4
  */
5
- import { ApprovableJob, SessionTurn } from "@inhuman.tools/harness-model";
5
+ import { ApprovableJob, SessionTurn, type SessionRoot } from "@inhuman.tools/harness-model/session";
6
+ import { type WorkContainer } from "@inhuman.tools/plexus-expectations";
6
7
  import { type CallsCatalog } from "../agent-calls/index.js";
8
+ /** Canonical work ownership includes nested and retained background turns, not just head ancestry. */
9
+ export declare function isWorkReachable(session: SessionRoot, work: WorkContainer): boolean;
7
10
  export declare function turnLoopStopped(turn: SessionTurn, signal: AbortSignal): boolean;
8
11
  /**
9
12
  * Leftovers settle as cancelled so the turn's join and the session's open
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/session/cancel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAW,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAInF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,EACpC,OAAO,EAAE,YAAY,GACpB,IAAI,CASN"}
1
+ {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../src/session/cancel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAW,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAC7G,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGlF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAKlF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,EACpC,OAAO,EAAE,YAAY,GACpB,IAAI,CASN"}
@@ -2,10 +2,18 @@
2
2
  * Stop predicate and leftover rejection for a turn. Accepted-work Calls stay.
3
3
  * In-flight BODY abort is the caller's `abort`.
4
4
  */
5
- import { ApprovableJob, CallJob } from "@inhuman.tools/harness-model";
5
+ import { ApprovableJob, CallJob } from "@inhuman.tools/harness-model/session";
6
6
  import { walkWork } from "@inhuman.tools/plexus-expectations";
7
7
  import { shouldSkipTurnCancel } from "../agent-calls/acceptance.js";
8
- import { cancelUnstartedTool } from "../tool-runtime/index.js";
8
+ import { cancelUnstartedTool } from "../tool-runtime/approval/approved.js";
9
+ /** Canonical work ownership includes nested and retained background turns, not just head ancestry. */
10
+ export function isWorkReachable(session, work) {
11
+ for (const node of walkWork(session)) {
12
+ if (node === work)
13
+ return true;
14
+ }
15
+ return false;
16
+ }
9
17
  export function turnLoopStopped(turn, signal) {
10
18
  return signal.aborted || turn.reducerExited || turn.cancelRequested;
11
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/session/cancel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAe,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,IAAiB,EAAE,MAAmB;IACpE,OAAO,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAiB,EACjB,KAAoC,EACpC,OAAqB;IAErB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,IAAI,YAAY,aAAa,CAAC;YAAE,SAAS;QAC/C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAAE,SAAS;QAC/C,IAAI,IAAI,YAAY,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,SAAS;QAC7E,IAAI,IAAI,CAAC,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../src/session/cancel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAiC,MAAM,sCAAsC,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAsB,MAAM,oCAAoC,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,sGAAsG;AACtG,MAAM,UAAU,eAAe,CAAC,OAAoB,EAAE,IAAmB;IACvE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAiB,EAAE,MAAmB;IACpE,OAAO,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAiB,EACjB,KAAoC,EACpC,OAAqB;IAErB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,IAAI,YAAY,aAAa,CAAC;YAAE,SAAS;QAC/C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAAE,SAAS;QAC/C,IAAI,IAAI,YAAY,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,SAAS;QAC7E,IAAI,IAAI,CAAC,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type UserVisualIdentity } from "@inhuman.tools/harness-model";
1
+ import { type UserVisualIdentity } from "@inhuman.tools/harness-model/session";
2
2
  import type { SessionCommandHost } from "./types.js";
3
3
  export type CommandFail = {
4
4
  readonly ok: false;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAoBL,KAAK,kBAAkB,EACxB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;CACnE,GACD,WAAW,CAAC;AAEhB,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,WAAW,CAAC;AAEhG,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAAC;AAExF,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F,KAAK,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAmG/C,wBAAgB,SAAS,CACvB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;CAAE,GAC5G,eAAe,CAuCjB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,SAAK,GAAG,kBAAkB,CAKrF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,CAmBvG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAiBjF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,CAWzE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAqC/D"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAqBL,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;CACnE,GACD,WAAW,CAAC;AAEhB,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,WAAW,CAAC;AAEhG,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAAC;AAExF,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F,KAAK,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAqG/C,wBAAgB,SAAS,CACvB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;CAAE,GAC5G,eAAe,CAuCjB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,SAAK,GAAG,kBAAkB,CAKrF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,CAmBvG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAiBjF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,CAWzE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAqC/D"}
@@ -4,7 +4,7 @@
4
4
  * stay on the host.
5
5
  */
6
6
  import { asSystemPrompt, asUserPrompt } from "@inhuman.tools/harness-commons";
7
- import { admitQueue, admitSteer, CompactJob, findEvalTurnByRequestId, findTurnById, HOST_QUEUE_VERBS, isAtTip, isRewindPin, looksLikePath, onTipChain, reactChunks, ReACTChunk, refreshSystemPrompt, resolvedTip, SessionSystemPrompt, SessionTurn, skillMatchesVerb, tapeCompletion, userVisualsJson, } from "@inhuman.tools/harness-model";
7
+ import { admitQueue, admitSteer, CompactJob, findEvalTurnByRequestId, findTurnById, HOST_QUEUE_VERBS, isAtTip, isRewindPin, looksLikePath, onTipChain, reactChunks, ReACTChunk, refreshSystemPrompt, resolvedTip, SessionSystemPrompt, SessionTurn, skillMatchesVerb, tapeCompletion, userVisualsJson, decideRound, } from "@inhuman.tools/harness-model/session";
8
8
  import { compactRejectReason, stampCompactInputs } from "../context/index.js";
9
9
  function requestTurnCancel(turn, requestId, cancelledEval) {
10
10
  turn.cancelRequested = true;
@@ -25,10 +25,12 @@ function retentionStamp(host) {
25
25
  return json === "" ? {} : { retentionJson: json };
26
26
  }
27
27
  function mintContinueTurn(host, head) {
28
+ const continuation = new ReACTChunk();
29
+ continuation.decision = decideRound([{ cause: { kind: "user", sources: [head.uuid] } }]);
28
30
  const turn = new SessionTurn({
29
31
  turnTail: head,
30
32
  prompt: asUserPrompt(""),
31
- queue: [new ReACTChunk()],
33
+ queue: [continuation],
32
34
  toolsDefinition: host.toolsFor(head),
33
35
  ...retentionStamp(host),
34
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"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"}
@@ -3,21 +3,28 @@
3
3
  * Scheme compact is `applyCompact`.
4
4
  */
5
5
  import type { PromptComplete } from "@inhuman.tools/env-capability-module-prompt";
6
- import { CompactJob, SessionRoot, SessionTurn } from "@inhuman.tools/harness-model";
6
+ import { CompactJob, SessionRoot, SessionTurn } from "@inhuman.tools/harness-model/session";
7
7
  import { type CompactProgram } from "./compact.js";
8
- export type CompactHost = {
8
+ type CompactRunHost = {
9
9
  readonly turn: SessionTurn;
10
10
  readonly session: SessionRoot;
11
11
  readonly compactKeepTurns: number;
12
- readonly compactStrategy: string;
13
- readonly kernelFsRoot: string;
14
12
  readonly connectionId: string;
15
13
  readonly model: string;
16
14
  complete?: PromptComplete;
17
- loadProgram?: (spec: string | undefined, kernelFsRoot: string) => CompactProgram;
18
15
  log?: (message: string) => void;
19
16
  fail?: (label: string, error: unknown) => void;
20
17
  };
18
+ export type CompactHost = CompactRunHost & ({
19
+ readonly program: CompactProgram | Promise<CompactProgram>;
20
+ checkpoint(job: CompactJob): Promise<void>;
21
+ } | {
22
+ readonly compactStrategy: string;
23
+ readonly kernelFsRoot: string;
24
+ loadProgram?: (spec: string | undefined, kernelFsRoot: string) => CompactProgram | Promise<CompactProgram>;
25
+ checkpoint?: (job: CompactJob) => Promise<void>;
26
+ });
21
27
  /** Abort leaves the job open: an incomplete compact is not a cutoff, and its owner settles it. */
22
28
  export declare function runCompactJob(job: CompactJob, host: CompactHost, signal?: AbortSignal): Promise<void>;
29
+ export {};
23
30
  //# sourceMappingURL=compact-actor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compact-actor.d.ts","sourceRoot":"","sources":["../../src/session/compact-actor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EACL,UAAU,EAGV,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAcvE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,cAAc,CAAC;IACjF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,CAAC;AAuBF,kGAAkG;AAClG,wBAAsB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE3G"}
1
+ {"version":3,"file":"compact-actor.d.ts","sourceRoot":"","sources":["../../src/session/compact-actor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EACL,UAAU,EAGV,WAAW,EACX,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAI9C,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAgBvE,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,cAAc,GACtC,CACI;IACE,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3D,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C,GACD;IACE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3G,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,CACJ,CAAC;AAwDJ,kGAAkG;AAClG,wBAAsB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF3G"}