@inhuman.tools/harness 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 (299) hide show
  1. package/compact.prompt +12 -2
  2. package/dist/builtin-tools/catalog-entry.d.ts.map +1 -1
  3. package/dist/builtin-tools/catalog-entry.js +1 -0
  4. package/dist/builtin-tools/catalog-entry.js.map +1 -1
  5. package/dist/builtin-tools/index.d.ts +1 -2
  6. package/dist/builtin-tools/index.d.ts.map +1 -1
  7. package/dist/builtin-tools/index.js +1 -2
  8. package/dist/builtin-tools/index.js.map +1 -1
  9. package/dist/builtin-tools/metadata/context-need.d.ts +1 -0
  10. package/dist/builtin-tools/metadata/context-need.d.ts.map +1 -1
  11. package/dist/builtin-tools/metadata/context-need.js +13 -6
  12. package/dist/builtin-tools/metadata/context-need.js.map +1 -1
  13. package/dist/builtin-tools/metadata/context-recall.d.ts +1 -5
  14. package/dist/builtin-tools/metadata/context-recall.d.ts.map +1 -1
  15. package/dist/builtin-tools/metadata/context-recall.js +10 -7
  16. package/dist/builtin-tools/metadata/context-recall.js.map +1 -1
  17. package/dist/builtin-tools/metadata/update-metadata.d.ts +1 -0
  18. package/dist/builtin-tools/metadata/update-metadata.d.ts.map +1 -1
  19. package/dist/builtin-tools/metadata/update-metadata.js +12 -12
  20. package/dist/builtin-tools/metadata/update-metadata.js.map +1 -1
  21. package/dist/builtin-tools/named-agents/agent-catalog.d.ts.map +1 -1
  22. package/dist/builtin-tools/named-agents/agent-catalog.js +9 -9
  23. package/dist/builtin-tools/named-agents/agent-catalog.js.map +1 -1
  24. package/dist/builtin-tools/named-agents/agent-stdlib.d.ts.map +1 -1
  25. package/dist/builtin-tools/named-agents/agent-stdlib.js +2 -0
  26. package/dist/builtin-tools/named-agents/agent-stdlib.js.map +1 -1
  27. package/dist/builtin-tools/schemas/tool-result.d.ts +2 -0
  28. package/dist/builtin-tools/schemas/tool-result.d.ts.map +1 -1
  29. package/dist/builtin-tools/schemas/tool-result.js +2 -0
  30. package/dist/builtin-tools/schemas/tool-result.js.map +1 -1
  31. package/dist/builtin-tools/shell/job-stop.d.ts +1 -0
  32. package/dist/builtin-tools/shell/job-stop.d.ts.map +1 -1
  33. package/dist/builtin-tools/shell/shell-tool.d.ts +1 -0
  34. package/dist/builtin-tools/shell/shell-tool.d.ts.map +1 -1
  35. package/dist/builtin-tools/toolkit/dist-tools.d.ts +1 -0
  36. package/dist/builtin-tools/toolkit/dist-tools.d.ts.map +1 -1
  37. package/dist/builtin-tools/toolkit/dist-tools.js +1 -0
  38. package/dist/builtin-tools/toolkit/dist-tools.js.map +1 -1
  39. package/dist/connections/adopt.d.ts +2 -0
  40. package/dist/connections/adopt.d.ts.map +1 -1
  41. package/dist/connections/adopt.js.map +1 -1
  42. package/dist/connections/index.d.ts +1 -1
  43. package/dist/connections/index.d.ts.map +1 -1
  44. package/dist/extensions/behavior.d.ts.map +1 -1
  45. package/dist/extensions/behavior.js +17 -4
  46. package/dist/extensions/behavior.js.map +1 -1
  47. package/dist/extensions/consent.d.ts +0 -68
  48. package/dist/extensions/consent.d.ts.map +1 -1
  49. package/dist/extensions/consent.js +0 -69
  50. package/dist/extensions/consent.js.map +1 -1
  51. package/dist/extensions/contributions.d.ts.map +1 -1
  52. package/dist/extensions/contributions.js +1 -0
  53. package/dist/extensions/contributions.js.map +1 -1
  54. package/dist/extensions/dispatch.d.ts +1 -9
  55. package/dist/extensions/dispatch.d.ts.map +1 -1
  56. package/dist/extensions/dispatch.js +5 -7
  57. package/dist/extensions/dispatch.js.map +1 -1
  58. package/dist/extensions/eval.d.ts.map +1 -1
  59. package/dist/extensions/eval.js +2 -0
  60. package/dist/extensions/eval.js.map +1 -1
  61. package/dist/extensions/hook-deadline.d.ts +28 -0
  62. package/dist/extensions/hook-deadline.d.ts.map +1 -0
  63. package/dist/extensions/hook-deadline.js +72 -0
  64. package/dist/extensions/hook-deadline.js.map +1 -0
  65. package/dist/extensions/host.d.ts +2 -0
  66. package/dist/extensions/host.d.ts.map +1 -1
  67. package/dist/extensions/host.js +15 -0
  68. package/dist/extensions/host.js.map +1 -1
  69. package/dist/extensions/inventory.d.ts +9 -0
  70. package/dist/extensions/inventory.d.ts.map +1 -1
  71. package/dist/extensions/inventory.js +15 -1
  72. package/dist/extensions/inventory.js.map +1 -1
  73. package/dist/extensions/notes.d.ts +1 -0
  74. package/dist/extensions/notes.d.ts.map +1 -1
  75. package/dist/extensions/notes.js +1 -0
  76. package/dist/extensions/notes.js.map +1 -1
  77. package/dist/extensions/schemas/bot-definition.d.ts +1 -1
  78. package/dist/extensions/schemas/bot-definition.d.ts.map +1 -1
  79. package/dist/extensions/schemas/plugin-manifest.d.ts +4 -4
  80. package/dist/extensions/schemas/plugin-manifest.d.ts.map +1 -1
  81. package/dist/extensions/schemas/plugin-manifest.js +13 -1
  82. package/dist/extensions/schemas/plugin-manifest.js.map +1 -1
  83. package/dist/extensions/state.d.ts.map +1 -1
  84. package/dist/extensions/state.js +5 -0
  85. package/dist/extensions/state.js.map +1 -1
  86. package/dist/extensions/value.d.ts +4 -0
  87. package/dist/extensions/value.d.ts.map +1 -1
  88. package/dist/extensions/value.js.map +1 -1
  89. package/dist/protocol/schemas/health.d.ts +1 -3
  90. package/dist/protocol/schemas/health.d.ts.map +1 -1
  91. package/dist/protocol/schemas/health.js.map +1 -1
  92. package/dist/protocol/schemas/identity.d.ts +0 -4
  93. package/dist/protocol/schemas/identity.d.ts.map +1 -1
  94. package/dist/protocol/schemas/identity.js.map +1 -1
  95. package/dist/protocol/schemas/loss.d.ts +0 -2
  96. package/dist/protocol/schemas/loss.d.ts.map +1 -1
  97. package/dist/protocol/schemas/loss.js.map +1 -1
  98. package/dist/protocol/schemas/message.d.ts +0 -1
  99. package/dist/protocol/schemas/message.d.ts.map +1 -1
  100. package/dist/protocol/supervision/loss.d.ts +0 -1
  101. package/dist/protocol/supervision/loss.d.ts.map +1 -1
  102. package/dist/protocol/supervision/loss.js +0 -3
  103. package/dist/protocol/supervision/loss.js.map +1 -1
  104. package/dist/providers/auth/index.d.ts +2 -2
  105. package/dist/providers/auth/index.d.ts.map +1 -1
  106. package/dist/providers/auth/index.js +2 -2
  107. package/dist/providers/auth/index.js.map +1 -1
  108. package/dist/providers/auth/loopback.d.ts +0 -2
  109. package/dist/providers/auth/loopback.d.ts.map +1 -1
  110. package/dist/providers/auth/loopback.js.map +1 -1
  111. package/dist/providers/chatgpt/connection.d.ts +1 -0
  112. package/dist/providers/chatgpt/connection.d.ts.map +1 -1
  113. package/dist/providers/chatgpt/connection.js +1 -1
  114. package/dist/providers/chatgpt/connection.js.map +1 -1
  115. package/dist/providers/grok/connection.d.ts +2 -1
  116. package/dist/providers/grok/connection.d.ts.map +1 -1
  117. package/dist/providers/grok/connection.js +1 -1
  118. package/dist/providers/grok/connection.js.map +1 -1
  119. package/dist/providers/mcp/fetch.d.ts.map +1 -1
  120. package/dist/providers/mcp/fetch.js +2 -6
  121. package/dist/providers/mcp/fetch.js.map +1 -1
  122. package/dist/providers/nous/driver.d.ts +1 -0
  123. package/dist/providers/nous/driver.d.ts.map +1 -1
  124. package/dist/providers/openai-compat/actor.d.ts.map +1 -1
  125. package/dist/providers/openai-compat/actor.js +167 -39
  126. package/dist/providers/openai-compat/actor.js.map +1 -1
  127. package/dist/providers/openai-compat/adopt.d.ts +2 -0
  128. package/dist/providers/openai-compat/adopt.d.ts.map +1 -1
  129. package/dist/providers/openai-compat/adopt.js.map +1 -1
  130. package/dist/providers/openai-compat/connection.d.ts +9 -2
  131. package/dist/providers/openai-compat/connection.d.ts.map +1 -1
  132. package/dist/providers/openai-compat/connection.js +35 -27
  133. package/dist/providers/openai-compat/connection.js.map +1 -1
  134. package/dist/providers/openai-compat/fetch-types.d.ts.map +1 -1
  135. package/dist/providers/openai-compat/fetch-types.js +2 -6
  136. package/dist/providers/openai-compat/fetch-types.js.map +1 -1
  137. package/dist/providers/openai-compat/index.d.ts +2 -2
  138. package/dist/providers/openai-compat/index.d.ts.map +1 -1
  139. package/dist/providers/openai-compat/index.js +2 -2
  140. package/dist/providers/openai-compat/index.js.map +1 -1
  141. package/dist/providers/openai-compat/model-capabilities.d.ts +7 -0
  142. package/dist/providers/openai-compat/model-capabilities.d.ts.map +1 -0
  143. package/dist/providers/openai-compat/model-capabilities.js +24 -0
  144. package/dist/providers/openai-compat/model-capabilities.js.map +1 -0
  145. package/dist/providers/openai-compat/schema.d.ts +1 -1
  146. package/dist/providers/web/registrations/ids.d.ts +0 -2
  147. package/dist/providers/web/registrations/ids.d.ts.map +1 -1
  148. package/dist/providers/web/registrations/ids.js +0 -1
  149. package/dist/providers/web/registrations/ids.js.map +1 -1
  150. package/dist/runtime/bot-mcp.d.ts.map +1 -1
  151. package/dist/runtime/bot-mcp.js +1 -4
  152. package/dist/runtime/bot-mcp.js.map +1 -1
  153. package/dist/runtime/intent-recovery.d.ts +3 -20
  154. package/dist/runtime/intent-recovery.d.ts.map +1 -1
  155. package/dist/runtime/intent-recovery.js +1 -122
  156. package/dist/runtime/intent-recovery.js.map +1 -1
  157. package/dist/server/ask-answer.d.ts.map +1 -1
  158. package/dist/server/ask-answer.js +3 -3
  159. package/dist/server/ask-answer.js.map +1 -1
  160. package/dist/server/daemon/kernel/KernelDaemon.d.ts +4 -0
  161. package/dist/server/daemon/kernel/KernelDaemon.d.ts.map +1 -1
  162. package/dist/server/daemon/kernel/KernelDaemon.js +100 -40
  163. package/dist/server/daemon/kernel/KernelDaemon.js.map +1 -1
  164. package/dist/server/daemon/kernel/completion-catalog.d.ts +8 -0
  165. package/dist/server/daemon/kernel/completion-catalog.d.ts.map +1 -1
  166. package/dist/server/daemon/kernel/completion-catalog.js +16 -0
  167. package/dist/server/daemon/kernel/completion-catalog.js.map +1 -1
  168. package/dist/server/daemon/kernel/fs-reflection/reflectKernel.d.ts.map +1 -1
  169. package/dist/server/daemon/kernel/fs-reflection/reflectKernel.js +47 -1
  170. package/dist/server/daemon/kernel/fs-reflection/reflectKernel.js.map +1 -1
  171. package/dist/server/daemon/kernel/glance-ask-line.d.ts +1 -6
  172. package/dist/server/daemon/kernel/glance-ask-line.d.ts.map +1 -1
  173. package/dist/server/daemon/kernel/glance-ask-line.js +1 -35
  174. package/dist/server/daemon/kernel/glance-ask-line.js.map +1 -1
  175. package/dist/server/daemon/kernel/settings-files.d.ts +1 -1
  176. package/dist/server/daemon/kernel/settings-files.d.ts.map +1 -1
  177. package/dist/server/daemon/kernel/settings-files.js +3 -6
  178. package/dist/server/daemon/kernel/settings-files.js.map +1 -1
  179. package/dist/server/daemon/project/ProjectDaemon.d.ts +4 -0
  180. package/dist/server/daemon/project/ProjectDaemon.d.ts.map +1 -1
  181. package/dist/server/daemon/project/ProjectDaemon.js +11 -0
  182. package/dist/server/daemon/project/ProjectDaemon.js.map +1 -1
  183. package/dist/server/daemon/session/SessionDaemon.d.ts +5 -3
  184. package/dist/server/daemon/session/SessionDaemon.d.ts.map +1 -1
  185. package/dist/server/daemon/session/SessionDaemon.js +54 -37
  186. package/dist/server/daemon/session/SessionDaemon.js.map +1 -1
  187. package/dist/server/daemon/session/SessionOrchestrator.d.ts +1 -0
  188. package/dist/server/daemon/session/SessionOrchestrator.d.ts.map +1 -1
  189. package/dist/server/daemon/session/SessionOrchestrator.js +1371 -1146
  190. package/dist/server/daemon/session/SessionOrchestrator.js.map +1 -1
  191. package/dist/server/daemon/session/agent-runtime.d.ts +2 -0
  192. package/dist/server/daemon/session/agent-runtime.d.ts.map +1 -1
  193. package/dist/server/daemon/session/agent-runtime.js +55 -6
  194. package/dist/server/daemon/session/agent-runtime.js.map +1 -1
  195. package/dist/server/daemon/session/ambient-compact.d.ts +3 -21
  196. package/dist/server/daemon/session/ambient-compact.d.ts.map +1 -1
  197. package/dist/server/daemon/session/ambient-compact.js +7 -116
  198. package/dist/server/daemon/session/ambient-compact.js.map +1 -1
  199. package/dist/server/daemon/session/behavior-host.d.ts +9 -3
  200. package/dist/server/daemon/session/behavior-host.d.ts.map +1 -1
  201. package/dist/server/daemon/session/behavior-host.js +222 -47
  202. package/dist/server/daemon/session/behavior-host.js.map +1 -1
  203. package/dist/server/daemon/session/compact.d.ts +0 -1
  204. package/dist/server/daemon/session/compact.d.ts.map +1 -1
  205. package/dist/server/daemon/session/compact.js +7 -1
  206. package/dist/server/daemon/session/compact.js.map +1 -1
  207. package/dist/server/daemon/session/plugin-abi.d.ts.map +1 -1
  208. package/dist/server/daemon/session/plugin-abi.js +7 -11
  209. package/dist/server/daemon/session/plugin-abi.js.map +1 -1
  210. package/dist/server/daemon/session/prompt-message-of.d.ts +1 -8
  211. package/dist/server/daemon/session/prompt-message-of.d.ts.map +1 -1
  212. package/dist/server/daemon/session/prompt-message-of.js +2 -12
  213. package/dist/server/daemon/session/prompt-message-of.js.map +1 -1
  214. package/dist/server/daemon/session/re-act-loop-intent-detected-trigger.d.ts +3 -42
  215. package/dist/server/daemon/session/re-act-loop-intent-detected-trigger.d.ts.map +1 -1
  216. package/dist/server/daemon/session/re-act-loop-intent-detected-trigger.js +4 -145
  217. package/dist/server/daemon/session/re-act-loop-intent-detected-trigger.js.map +1 -1
  218. package/dist/server/daemon/session/round-boundary.d.ts +13 -0
  219. package/dist/server/daemon/session/round-boundary.d.ts.map +1 -0
  220. package/dist/server/daemon/session/round-boundary.js +196 -0
  221. package/dist/server/daemon/session/round-boundary.js.map +1 -0
  222. package/dist/server/daemon/session/round-stop.d.ts +1 -25
  223. package/dist/server/daemon/session/round-stop.d.ts.map +1 -1
  224. package/dist/server/daemon/session/round-stop.js +1 -75
  225. package/dist/server/daemon/session/round-stop.js.map +1 -1
  226. package/dist/server/daemon/session/turn-iterator.d.ts +1 -44
  227. package/dist/server/daemon/session/turn-iterator.d.ts.map +1 -1
  228. package/dist/server/daemon/session/turn-iterator.js +1 -435
  229. package/dist/server/daemon/session/turn-iterator.js.map +1 -1
  230. package/dist/server/daemon/session/turn-resolvers.d.ts +1 -16
  231. package/dist/server/daemon/session/turn-resolvers.d.ts.map +1 -1
  232. package/dist/server/daemon/session/turn-resolvers.js +1 -28
  233. package/dist/server/daemon/session/turn-resolvers.js.map +1 -1
  234. package/dist/server/daemon/session/visual-store.d.ts +2 -2
  235. package/dist/server/daemon/session/visual-store.d.ts.map +1 -1
  236. package/dist/server/daemon/session/visual-store.js +19 -20
  237. package/dist/server/daemon/session/visual-store.js.map +1 -1
  238. package/dist/server/drivers/request-timeout.d.ts +1 -0
  239. package/dist/server/drivers/request-timeout.d.ts.map +1 -1
  240. package/dist/server/drivers/request-timeout.js +2 -1
  241. package/dist/server/drivers/request-timeout.js.map +1 -1
  242. package/dist/server/runtime-bin.js +5 -8
  243. package/dist/server/runtime-bin.js.map +1 -1
  244. package/dist/server/schemas/index.d.ts +0 -1
  245. package/dist/server/schemas/index.d.ts.map +1 -1
  246. package/dist/server/schemas/index.js +0 -1
  247. package/dist/server/schemas/index.js.map +1 -1
  248. package/dist/server/schemas/json-record.d.ts +0 -6
  249. package/dist/server/schemas/json-record.d.ts.map +1 -1
  250. package/dist/server/schemas/json-record.js +0 -16
  251. package/dist/server/schemas/json-record.js.map +1 -1
  252. package/dist/server/schemas/well-known.d.ts +0 -2
  253. package/dist/server/schemas/well-known.d.ts.map +1 -1
  254. package/dist/server/schemas/well-known.js +0 -1
  255. package/dist/server/schemas/well-known.js.map +1 -1
  256. package/dist/server/testkit/scripted-model.d.ts +11 -0
  257. package/dist/server/testkit/scripted-model.d.ts.map +1 -1
  258. package/dist/server/testkit/scripted-model.js +42 -3
  259. package/dist/server/testkit/scripted-model.js.map +1 -1
  260. package/dist/server/toolkit/actor.d.ts +0 -1
  261. package/dist/server/toolkit/actor.d.ts.map +1 -1
  262. package/dist/server/toolkit/actor.js +2 -5
  263. package/dist/server/toolkit/actor.js.map +1 -1
  264. package/dist/server/toolkit/catalog.d.ts +0 -2
  265. package/dist/server/toolkit/catalog.d.ts.map +1 -1
  266. package/dist/server/toolkit/catalog.js +0 -81
  267. package/dist/server/toolkit/catalog.js.map +1 -1
  268. package/dist/server/toolkit/pack-catalog.d.ts +2 -1
  269. package/dist/server/toolkit/pack-catalog.d.ts.map +1 -1
  270. package/dist/server/toolkit/pack-catalog.js +1 -0
  271. package/dist/server/toolkit/pack-catalog.js.map +1 -1
  272. package/dist/server/toolkit/tool-entry.d.ts.map +1 -1
  273. package/dist/server/toolkit/tool-entry.js +1 -0
  274. package/dist/server/toolkit/tool-entry.js.map +1 -1
  275. package/dist/server/toolkit/tool-table.d.ts +0 -1
  276. package/dist/server/toolkit/tool-table.d.ts.map +1 -1
  277. package/dist/server/toolkit/tool-table.js +0 -3
  278. package/dist/server/toolkit/tool-table.js.map +1 -1
  279. package/dist/server/util/read-field.d.ts +0 -2
  280. package/dist/server/util/read-field.d.ts.map +1 -1
  281. package/dist/server/util/read-field.js +0 -9
  282. package/dist/server/util/read-field.js.map +1 -1
  283. package/dist/server/util/tool-call-json.d.ts +0 -1
  284. package/dist/server/util/tool-call-json.d.ts.map +1 -1
  285. package/dist/server/util/tool-call-json.js +0 -25
  286. package/dist/server/util/tool-call-json.js.map +1 -1
  287. package/dist/session/index.d.ts +4 -1
  288. package/dist/session/index.d.ts.map +1 -1
  289. package/dist/session/index.js +10 -1
  290. package/dist/session/index.js.map +1 -1
  291. package/dist/tool-runtime/guard-tool.d.ts +3 -0
  292. package/dist/tool-runtime/guard-tool.d.ts.map +1 -1
  293. package/dist/tool-runtime/guard-tool.js +37 -3
  294. package/dist/tool-runtime/guard-tool.js.map +1 -1
  295. package/dist/yjs/document-service.d.ts +2 -4
  296. package/dist/yjs/document-service.d.ts.map +1 -1
  297. package/dist/yjs/document-service.js +0 -6
  298. package/dist/yjs/document-service.js.map +1 -1
  299. package/package.json +40 -40
@@ -1 +1 @@
1
- {"version":3,"file":"SessionOrchestrator.js","sourceRoot":"","sources":["../../../../src/server/daemon/session/SessionOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionOrchestrator.js","sourceRoot":"","sources":["../../../../src/server/daemon/session/SessionOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export type AgentRuntimeHost = {
8
8
  readonly project: ProjectDaemon;
9
9
  readonly caller: SessionRoot;
10
10
  readonly problem?: (what: string, error: unknown) => void;
11
+ readonly canApplyResults?: () => boolean;
12
+ readonly ownershipSignal?: AbortSignal;
11
13
  };
12
14
  /**
13
15
  * What an ad-hoc child may call when it asks to inherit its caller's tools. An unrestricted caller
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../../../src/server/daemon/session/agent-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../../../src/server/daemon/session/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { fail } from "@inhuman.tools/harness-diagnostics";
9
9
  import { AGENT_ASK, AGENT_SEND, AGENT_VOID, AgentCallNotification, AgentCallJob, AskAgentSpec, AutonomousToolError, BotCallJob, CallJob, CompletionExpectation, delegatesPermissionMode, FailureOutcome, HARNESS_CONSTITUTION, projectWorkerPermissions, ToolCallJob, } from "@inhuman.tools/harness-model";
10
10
  import { oneShotModelError, parseModelRef } from "@inhuman.tools/harness-scheme";
11
11
  import { completeCallExceptionally as completeCallOnScope, forceStopLoop, isCallPaused, loadOpenCall as loadOpenCallOnScope, markDelivered, settleCallFromCallback as settleAcceptedCallback, stampCallLifetime, } from "@inhuman.tools/turn/agent-calls";
12
+ import { SessionOwnershipError } from "@inhuman.tools/turn/runtime";
12
13
  import { runInAction } from "mobx";
13
14
  import { agentCallSupportsNotify, invokeDenied } from "../../../tool-catalog/index.js";
14
15
  import { isModelOriginContext, pluginCallContextOf } from "../../../tool-runtime/index.js";
@@ -18,6 +19,10 @@ import { botCallToolOf } from "../../toolkit/plugin-registry.js";
18
19
  import { buildSourceCut, sourceCutCharLimit } from "../../toolkit/source-cut.js";
19
20
  import { sessionCatalog } from "../../toolkit/tool-table.js";
20
21
  import { botPermissionMode } from "../bots/bot-mode.js";
22
+ function assertHostCurrent(host) {
23
+ if (host.canApplyResults?.() === false)
24
+ throw new SessionOwnershipError();
25
+ }
21
26
  /**
22
27
  * What an ad-hoc child may call when it asks to inherit its caller's tools. An unrestricted caller
23
28
  * passes the live catalog on. A worker caller is already inside a ceiling, so the child gets exactly
@@ -145,6 +150,7 @@ function lineage(job, caller) {
145
150
  : { depth: job.depth, botDepth: spec.botDepth };
146
151
  }
147
152
  async function resolveWorker(recipe, host, job) {
153
+ assertHostCurrent(host);
148
154
  const bot = recipe.spec;
149
155
  const [roster, owner] = bot.recipeScope === "session"
150
156
  ? [host.caller.botsRoster, host.caller.sessionId]
@@ -155,9 +161,11 @@ async function resolveWorker(recipe, host, job) {
155
161
  if (roster[bot.name] == null)
156
162
  roster[bot.name] = id;
157
163
  const worker = bot.recipeScope === "global" ? await host.kernel.globalSession(id) : await host.project.session(id);
164
+ assertHostCurrent(host);
158
165
  const spec = worker.root.agent.spec;
159
166
  const fresh = spec.name === "" && spec.behaviorPin.trim() === "";
160
167
  const pinned = fresh ? await workerPin(recipe, host) : undefined;
168
+ assertHostCurrent(host);
161
169
  if (spec.name === "") {
162
170
  spec.adoptNamedRecipe({
163
171
  name: bot.name,
@@ -188,11 +196,14 @@ async function resolveWorker(recipe, host, job) {
188
196
  return { id, revision: pinned?.revision ?? "" };
189
197
  }
190
198
  async function resolveOneShotWorker(recipe, host, opts) {
199
+ assertHostCurrent(host);
191
200
  const id = opts.workerSessionId || derivedSessionId(host.caller.sessionId, opts.job.uuid);
192
201
  const pinned = await workerPin(recipe, host);
202
+ assertHostCurrent(host);
193
203
  if (opts.job instanceof BotCallJob)
194
204
  stampContribution(opts.job, recipe, pinned.revision);
195
205
  const worker = await host.project.session(id);
206
+ assertHostCurrent(host);
196
207
  worker.root.agent.spec = new AskAgentSpec({
197
208
  name: recipe.spec.name,
198
209
  description: recipe.spec.description,
@@ -264,6 +275,7 @@ function refuseDeep(job, depth, limit, kind) {
264
275
  export async function executeAgentCall(job, host,
265
276
  /** Tools an agent guard narrowed a one-shot recipe call to. */
266
277
  tools) {
278
+ assertHostCurrent(host);
267
279
  if (job.completed)
268
280
  return;
269
281
  if (job.name === AGENT_ASK || job.name === AGENT_SEND) {
@@ -292,6 +304,7 @@ tools) {
292
304
  else {
293
305
  const id = derivedSessionId(host.caller.sessionId, job.uuid);
294
306
  const worker = await host.project.session(id);
307
+ assertHostCurrent(host);
295
308
  const constitution = job.systemPrompt.trim();
296
309
  const faceName = (job.faceName ?? "").trim();
297
310
  const grant = inheritedToolGrant(host.caller, host.kernel.catalog, job);
@@ -341,9 +354,11 @@ tools) {
341
354
  tools,
342
355
  }));
343
356
  }
357
+ assertHostCurrent(host);
344
358
  if (job.completed)
345
359
  return;
346
360
  const worker = await host.kernel.acquireSession(namedWorkerId);
361
+ assertHostCurrent(host);
347
362
  stampWorker(job, worker, host.caller.sessionId, () => {
348
363
  job.workerSessionId = namedWorkerId;
349
364
  });
@@ -358,6 +373,7 @@ tools) {
358
373
  }
359
374
  /** Deliver into the worker's document; the caller neither persists first nor waits on processing. */
360
375
  export async function executeBotCall(job, host) {
376
+ assertHostCurrent(host);
361
377
  if (job.completed)
362
378
  return;
363
379
  const packEntry = host.kernel.catalog.catalogEntry(job.name);
@@ -396,9 +412,11 @@ export async function executeBotCall(job, host) {
396
412
  })
397
413
  : await (async () => {
398
414
  const resolved = await resolveWorker(recipe, host, job);
415
+ assertHostCurrent(host);
399
416
  stampContribution(job, recipe, resolved.revision);
400
417
  return resolved.id;
401
418
  })());
419
+ assertHostCurrent(host);
402
420
  if (job.completed)
403
421
  return;
404
422
  let prepared;
@@ -453,10 +471,12 @@ export async function executeBotCall(job, host) {
453
471
  if (!delivered)
454
472
  return;
455
473
  await host.kernel.flushSession(worker);
474
+ assertHostCurrent(host);
456
475
  markDelivered(job);
457
476
  }
458
477
  /** A worker's respond or void settles the caller's call, then releases the worker's loop. */
459
478
  export async function settleAgentCallback(job, host, abortWork) {
479
+ assertHostCurrent(host);
460
480
  const requestId = job.argString("requestId");
461
481
  const callerId = host.caller.agentCallbacks[requestId];
462
482
  if (callerId == null)
@@ -466,7 +486,12 @@ export async function settleAgentCallback(job, host, abortWork) {
466
486
  job.outcomeSnap ??= { ok: false, text: "caller not attached" };
467
487
  return;
468
488
  }
469
- if (!call.completed) {
489
+ const callerPlexus = host.kernel.sessionPlexus(callerId);
490
+ const callerRuntime = (host.kernel.liveSession(callerId) ?? host.project.sessions[callerId])?.sessionRuntime;
491
+ if (callerRuntime != null && !callerRuntime.isCurrent)
492
+ throw new SessionOwnershipError();
493
+ const alreadySettled = call.completed;
494
+ if (!alreadySettled) {
470
495
  let reject = null;
471
496
  if (!call.voidLegal) {
472
497
  if (job.name === AGENT_VOID)
@@ -483,16 +508,33 @@ export async function settleAgentCallback(job, host, abortWork) {
483
508
  job.outcomeSnap = { ok: false, text: reject };
484
509
  return;
485
510
  }
486
- settleCallFromCallback(call, job, host);
487
- const callerPlexus = host.kernel.sessionPlexus(callerId);
511
+ }
512
+ if (callerRuntime?.phase === "active" && callerRuntime.isCurrent && callerRuntime.session.doc === callerPlexus?.doc) {
513
+ if (alreadySettled)
514
+ await callerRuntime.flush();
515
+ else {
516
+ await callerRuntime.commitMutation(`agent-callback:${call.uuid}`, JSON.stringify({ callerId, requestId, workerId: host.caller.sessionId, name: job.name, args: job.args }), () => {
517
+ if (!call.completed)
518
+ settleCallFromCallback(call, job, host);
519
+ }, host.ownershipSignal);
520
+ }
521
+ }
522
+ else {
523
+ if (!call.completed)
524
+ settleCallFromCallback(call, job, host);
488
525
  if (callerPlexus != null)
489
526
  await host.kernel.flushSession(callerPlexus);
490
527
  }
491
- host.caller.removeAgentCallback(requestId);
492
- job.outcomeSnap ??= { ok: true };
493
- forceStopLoop(host.caller, abortWork, job, (nested) => completeCallExceptionally(nested, host, "rejected"), host.kernel.catalog);
528
+ assertHostCurrent(host);
529
+ runInAction(() => {
530
+ job.outcomeSnap ??= alreadySettled ? { ok: true, text: "caller already settled" } : { ok: true };
531
+ job.markComplete();
532
+ host.caller.removeAgentCallback(requestId);
533
+ forceStopLoop(host.caller, abortWork, job, (nested) => completeCallExceptionally(nested, host, "rejected"), host.kernel.catalog);
534
+ });
494
535
  }
495
536
  export function notifyAgentCall(job, host) {
537
+ assertHostCurrent(host);
496
538
  const requestId = job.argString("requestId");
497
539
  const callerId = host.caller.agentCallbacks[requestId];
498
540
  if (callerId == null)
@@ -507,6 +549,7 @@ export function notifyAgentCall(job, host) {
507
549
  }
508
550
  /** A message lands as an inbound turn on the target and opens no callback. */
509
551
  export async function deliverAgentMessage(job, host, signal) {
552
+ assertHostCurrent(host);
510
553
  const targetIdArg = job.argString("targetId");
511
554
  const targetName = job.argString("targetName");
512
555
  const agentScope = host.caller.agent.spec.recipeScope;
@@ -526,15 +569,21 @@ export async function deliverAgentMessage(job, host, signal) {
526
569
  job.outcomeSnap = { ok: false, text: "undeliverable" };
527
570
  return;
528
571
  }
572
+ if (target.root.agent.spec instanceof AskAgentSpec && Object.keys(target.root.agentCallbacks).length === 0) {
573
+ job.outcomeSnap = { ok: false, text: "undeliverable" };
574
+ return;
575
+ }
529
576
  if (host.kernel.liveSession(targetId) == null) {
530
577
  if (target.root.agent.spec.recipeScope === "global")
531
578
  await host.kernel.globalSession(targetId);
532
579
  else
533
580
  await host.project.session(targetId);
534
581
  }
582
+ assertHostCurrent(host);
535
583
  // A message has no reply, so the request opens no callback.
536
584
  target.root.enqueueAgentRequest(job.uuid, host.caller.sessionId, asUserPrompt(`message from ${host.caller.sessionId}: ${job.argString("message")}`), { callback: false });
537
585
  await host.kernel.flushSession(target);
586
+ assertHostCurrent(host);
538
587
  if (signal.aborted)
539
588
  return;
540
589
  job.outcomeSnap = { ok: true };