eve 0.83.2 → 0.84.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 (1562) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +1 -5
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/src/acp/adapter.d.ts +8 -5
  5. package/dist/src/acp/adapter.js +1 -1
  6. package/dist/src/ai/decide.d.ts +3 -7
  7. package/dist/src/ai/decide.js +1 -1
  8. package/dist/src/ai/decision-adapter.d.ts +7 -0
  9. package/dist/src/ai/decision-adapter.js +1 -0
  10. package/dist/src/ai/decision-types.d.ts +86 -0
  11. package/dist/src/approval/definition.d.ts +5 -12
  12. package/dist/src/approval/evaluation.d.ts +48 -0
  13. package/dist/src/approval/evaluation.js +1 -0
  14. package/dist/src/approval/status.d.ts +14 -0
  15. package/dist/src/approval/status.js +1 -0
  16. package/dist/src/channel/adapter-context.d.ts +1 -3
  17. package/dist/src/channel/adapter-context.js +1 -1
  18. package/dist/src/channel/adapter.d.ts +34 -26
  19. package/dist/src/channel/adapter.js +1 -1
  20. package/dist/src/channel/audience.d.ts +0 -3
  21. package/dist/src/channel/audience.js +1 -1
  22. package/dist/src/channel/auth/definitions.d.ts +532 -0
  23. package/dist/src/channel/auth/definitions.js +1 -0
  24. package/dist/src/channel/auth/jwt-ecdsa.js +1 -1
  25. package/dist/src/channel/auth/jwt-hmac.js +1 -1
  26. package/dist/src/channel/auth/oidc.js +1 -1
  27. package/dist/src/channel/channel-address.d.ts +12 -10
  28. package/dist/src/channel/channel-address.js +1 -1
  29. package/dist/src/channel/channel-operations.d.ts +21 -22
  30. package/dist/src/channel/channel-operations.js +1 -1
  31. package/dist/src/channel/compiled-channel.d.ts +4 -4
  32. package/dist/src/channel/conversation-context.js +1 -1
  33. package/dist/src/channel/cors.d.ts +2 -2
  34. package/dist/src/channel/cors.js +1 -1
  35. package/dist/src/channel/cross-channel-receive.d.ts +3 -3
  36. package/dist/src/channel/delivery-idempotency.d.ts +6 -0
  37. package/dist/src/channel/delivery-idempotency.js +1 -1
  38. package/dist/src/channel/delivery-metadata.d.ts +2 -2
  39. package/dist/src/channel/delivery.d.ts +8 -0
  40. package/dist/src/channel/delivery.js +1 -0
  41. package/dist/src/channel/interaction-prompts.d.ts +54 -0
  42. package/dist/src/channel/interaction-prompts.js +1 -0
  43. package/dist/src/channel/invoke-tool.d.ts +11 -18
  44. package/dist/src/channel/pending-authorization.d.ts +3 -14
  45. package/dist/src/channel/pending-authorization.js +1 -1
  46. package/dist/src/channel/prompt-queue.d.ts +11 -19
  47. package/dist/src/channel/prompt-queue.js +1 -1
  48. package/dist/src/channel/resolve-text.d.ts +11 -18
  49. package/dist/src/channel/resolve-text.js +2 -2
  50. package/dist/src/channel/resolved-prompt.d.ts +7 -5
  51. package/dist/src/channel/resolved-prompt.js +1 -1
  52. package/dist/src/channel/routes.d.ts +4 -4
  53. package/dist/src/channel/schedule.d.ts +2 -2
  54. package/dist/src/channel/schedule.js +1 -1
  55. package/dist/src/channel/send-input.d.ts +3 -3
  56. package/dist/src/channel/send-input.js +1 -1
  57. package/dist/src/channel/session-callback.js +1 -1
  58. package/dist/src/channel/session-not-active-error.d.ts +8 -12
  59. package/dist/src/channel/session-not-active-error.js +1 -1
  60. package/dist/src/channel/session.d.ts +33 -59
  61. package/dist/src/channel/session.js +1 -1
  62. package/dist/src/channel/sign-in.d.ts +61 -0
  63. package/dist/src/channel/sign-in.js +3 -0
  64. package/dist/src/channel/surface.d.ts +44 -0
  65. package/dist/src/channel/surface.js +1 -0
  66. package/dist/src/channel/task-card.d.ts +24 -114
  67. package/dist/src/channel/task-card.js +1 -1
  68. package/dist/src/channel/types.d.ts +116 -110
  69. package/dist/src/channel/types.js +1 -1
  70. package/dist/src/chunks/use-eve-agent-BbbguIdB.js +5030 -0
  71. package/dist/src/chunks/use-eve-agent-DWjyzplb.js +5077 -0
  72. package/dist/src/cli/commands/logs-events.d.ts +2 -0
  73. package/dist/src/cli/commands/logs-events.js +2 -2
  74. package/dist/src/cli/dev/command.js +1 -1
  75. package/dist/src/cli/dev/remote-print.d.ts +8 -0
  76. package/dist/src/cli/dev/remote-print.js +1 -0
  77. package/dist/src/cli/dev/tui/conversation-view.d.ts +24 -19
  78. package/dist/src/cli/dev/tui/conversation-view.js +1 -1
  79. package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +0 -10
  80. package/dist/src/cli/dev/tui/diagnostic-presentation.js +2 -3
  81. package/dist/src/cli/dev/tui/errors.d.ts +9 -65
  82. package/dist/src/cli/dev/tui/errors.js +1 -1
  83. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  84. package/dist/src/cli/dev/tui/runner.js +3 -3
  85. package/dist/src/cli/dev/tui/task-records.d.ts +3 -3
  86. package/dist/src/cli/dev/tui/task-records.js +1 -1
  87. package/dist/src/cli/dev/tui/terminal-renderer.js +10 -10
  88. package/dist/src/cli/dev/tui/terminal-tool-part.d.ts +2 -2
  89. package/dist/src/cli/dev/tui/terminal-tool-part.js +1 -1
  90. package/dist/src/cli/dev/tui/test/fake-eve-server.d.ts +3 -3
  91. package/dist/src/cli/dev/tui/test/fake-eve-server.js +1 -1
  92. package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
  93. package/dist/src/cli/dev/tui/transcript-parts.d.ts +16 -16
  94. package/dist/src/cli/dev/tui/transcript-parts.js +3 -3
  95. package/dist/src/cli/dev/tui/transcript.d.ts +0 -4
  96. package/dist/src/cli/dev/tui/transcript.js +1 -1
  97. package/dist/src/cli/dev/tui/tui.js +1 -1
  98. package/dist/src/cli/run.d.ts +0 -2
  99. package/dist/src/cli/run.js +1 -1
  100. package/dist/src/cli/telemetry/index.js +1 -1
  101. package/dist/src/client/agent-base-url.d.ts +4 -0
  102. package/dist/src/client/agent-base-url.js +1 -0
  103. package/dist/src/client/agent-info-schema.d.ts +1 -923
  104. package/dist/src/client/agent-info-schema.js +1 -1
  105. package/dist/src/client/agent-info-types.d.ts +281 -0
  106. package/dist/src/client/agent-session.d.ts +19 -22
  107. package/dist/src/client/agent-session.js +1 -1
  108. package/dist/src/client/agent-stream-follower.d.ts +11 -20
  109. package/dist/src/client/agent-stream-follower.js +1 -1
  110. package/dist/src/client/client-error.d.ts +2 -1
  111. package/dist/src/client/client-error.js +1 -1
  112. package/dist/src/client/client.d.ts +1 -1
  113. package/dist/src/client/client.js +1 -1
  114. package/dist/src/client/conversation-client.d.ts +37 -28
  115. package/dist/src/client/conversation-client.js +1 -1
  116. package/dist/src/client/conversation-state.d.ts +70 -73
  117. package/dist/src/client/conversation-state.js +1 -1
  118. package/dist/src/client/conversation.d.ts +51 -0
  119. package/dist/src/client/conversation.js +1 -0
  120. package/dist/src/client/delivery-events.d.ts +3 -0
  121. package/dist/src/client/delivery-events.js +1 -0
  122. package/dist/src/client/delivery.d.ts +36 -0
  123. package/dist/src/client/delivery.js +1 -0
  124. package/dist/src/client/file-parts.d.ts +9 -4
  125. package/dist/src/client/file-parts.js +1 -1
  126. package/dist/src/client/health-schema.d.ts +1 -1
  127. package/dist/src/client/health-types.d.ts +6 -0
  128. package/dist/src/client/index.d.ts +17 -23
  129. package/dist/src/client/index.js +1 -1
  130. package/dist/src/client/message-types.d.ts +92 -0
  131. package/dist/src/client/message-types.js +1 -0
  132. package/dist/src/client/messages.d.ts +30 -0
  133. package/dist/src/client/messages.js +1 -0
  134. package/dist/src/client/ndjson.d.ts +6 -11
  135. package/dist/src/client/ndjson.js +3 -3
  136. package/dist/src/client/open-stream.d.ts +47 -20
  137. package/dist/src/client/open-stream.js +1 -1
  138. package/dist/src/client/optimistic-message-submissions.d.ts +10 -19
  139. package/dist/src/client/optimistic-message-submissions.js +1 -1
  140. package/dist/src/client/session-controls.d.ts +23 -26
  141. package/dist/src/client/session-controls.js +1 -1
  142. package/dist/src/client/session-event-stream.d.ts +5 -16
  143. package/dist/src/client/session-event-stream.js +1 -1
  144. package/dist/src/client/session-store-helpers.d.ts +8 -0
  145. package/dist/src/client/session-store-helpers.js +2 -0
  146. package/dist/src/client/session-store-state.d.ts +80 -0
  147. package/dist/src/client/session-store-state.js +1 -0
  148. package/dist/src/client/session-store.d.ts +48 -0
  149. package/dist/src/client/session-store.js +1 -0
  150. package/dist/src/client/session-utils.d.ts +45 -41
  151. package/dist/src/client/session-utils.js +2 -1
  152. package/dist/src/client/session.d.ts +32 -23
  153. package/dist/src/client/session.js +1 -1
  154. package/dist/src/client/sessions.d.ts +2 -2
  155. package/dist/src/client/stream-version.d.ts +3 -1
  156. package/dist/src/client/stream-version.js +1 -1
  157. package/dist/src/client/transcript.d.ts +43 -0
  158. package/dist/src/client/transcript.js +2 -0
  159. package/dist/src/client/types.d.ts +21 -82
  160. package/dist/src/client/url.d.ts +3 -3
  161. package/dist/src/compiled/.vendor-stamp.json +1 -1
  162. package/dist/src/compiled/@ai-sdk/anthropic/index.d.ts +34 -34
  163. package/dist/src/compiled/@ai-sdk/google/index.d.ts +15 -15
  164. package/dist/src/compiled/@ai-sdk/openai/index.d.ts +38 -38
  165. package/dist/src/compiled/@chat-adapter/slack/fetch-QqNM_Ef3.d.ts +4 -0
  166. package/dist/src/compiled/@chat-adapter/twilio/types-BaIqtt65.d.ts +100 -0
  167. package/dist/src/compiled/@linqapp/chat-sdk-adapter/adapter.d.ts +129 -0
  168. package/dist/src/compiled/@linqapp/chat-sdk-adapter/message-parser.d.ts +14 -0
  169. package/dist/src/compiled/@linqapp/chat-sdk-adapter/text-decorations.d.ts +28 -0
  170. package/dist/src/compiled/@workflow/core/runtime/step-executor.d.ts +1 -1
  171. package/dist/src/compiled/@workflow/core/serialization/types.d.ts +1 -1
  172. package/dist/src/compiled/@workflow/core/serialization.d.ts +2 -2
  173. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +2 -2
  174. package/dist/src/compiled/semver/index.d.ts +2 -0
  175. package/dist/src/compiler/development-extensions.js +1 -1
  176. package/dist/src/compiler/extension-compatibility.d.ts +19 -290
  177. package/dist/src/compiler/extension-compatibility.js +1 -1
  178. package/dist/src/compiler/manifest.d.ts +1 -9
  179. package/dist/src/compiler/manifest.js +1 -1
  180. package/dist/src/compiler/normalize-agent-config.js +1 -1
  181. package/dist/src/compiler/normalize-connection.js +1 -1
  182. package/dist/src/compiler/normalize-hook.js +1 -1
  183. package/dist/src/compiler/normalize-instructions.js +1 -1
  184. package/dist/src/compiler/normalize-manifest.js +1 -1
  185. package/dist/src/compiler/normalize-memory.js +1 -1
  186. package/dist/src/compiler/normalize-schedule.js +1 -1
  187. package/dist/src/compiler/normalize-skill.js +1 -1
  188. package/dist/src/compiler/normalize-subagent.d.ts +0 -5
  189. package/dist/src/compiler/normalize-subagent.js +1 -1
  190. package/dist/src/compiler/normalize-tool.js +1 -1
  191. package/dist/src/compiler/remote-agent-node.d.ts +1 -6
  192. package/dist/src/compiler/source-graph.d.ts +0 -1
  193. package/dist/src/compiler/source-graph.js +1 -1
  194. package/dist/src/computer-use/extension/lib/computer-use-sandbox.js +1 -1
  195. package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -1
  196. package/dist/src/computer-use/extension/lib/sandbox.js +1 -1
  197. package/dist/src/computer-use/extension/tools/computer_use.js +1 -1
  198. package/dist/src/connections/errors.d.ts +3 -3
  199. package/dist/src/context/accessors.d.ts +0 -13
  200. package/dist/src/context/accessors.js +1 -1
  201. package/dist/src/context/container.d.ts +8 -11
  202. package/dist/src/context/container.js +1 -1
  203. package/dist/src/context/key-names.d.ts +1 -0
  204. package/dist/src/context/key-names.js +1 -1
  205. package/dist/src/context/keys.d.ts +20 -104
  206. package/dist/src/context/keys.js +1 -1
  207. package/dist/src/context/memory-tools.d.ts +4 -2
  208. package/dist/src/context/memory-tools.js +1 -1
  209. package/dist/src/context/providers/connection.js +1 -1
  210. package/dist/src/context/providers/session.js +1 -1
  211. package/dist/src/context/schedule-collection-tools.d.ts +2 -2
  212. package/dist/src/context/schedule-collection-tools.js +1 -1
  213. package/dist/src/context/session-context.d.ts +4 -2
  214. package/dist/src/discover/extensions.d.ts +2 -3
  215. package/dist/src/discover/extensions.js +1 -1
  216. package/dist/src/discover/manifest.js +1 -1
  217. package/dist/src/discover/skills.js +1 -1
  218. package/dist/src/dynamic/definition.d.ts +98 -108
  219. package/dist/src/dynamic/definition.js +1 -1
  220. package/dist/src/evals/assertions/collector.js +1 -1
  221. package/dist/src/evals/assertions/run.d.ts +12 -11
  222. package/dist/src/evals/assertions/run.js +2 -2
  223. package/dist/src/evals/assertions/scoped.js +1 -1
  224. package/dist/src/evals/cli/eval-client.js +1 -1
  225. package/dist/src/evals/cli/eval.js +2 -2
  226. package/dist/src/evals/context.js +1 -1
  227. package/dist/src/evals/expect/index.d.ts +0 -1
  228. package/dist/src/evals/index.d.ts +2 -5
  229. package/dist/src/evals/judge.js +1 -1
  230. package/dist/src/evals/match.d.ts +20 -17
  231. package/dist/src/evals/match.js +1 -1
  232. package/dist/src/evals/mock-model.d.ts +5 -1
  233. package/dist/src/evals/mock-model.js +1 -1
  234. package/dist/src/evals/output.d.ts +3 -0
  235. package/dist/src/evals/output.js +1 -0
  236. package/dist/src/evals/reported-tool-name.js +1 -1
  237. package/dist/src/evals/reporters/index.d.ts +4 -4
  238. package/dist/src/evals/reporters/index.js +1 -1
  239. package/dist/src/evals/runner/artifacts.js +1 -1
  240. package/dist/src/evals/runner/derive-run-facts.d.ts +8 -40
  241. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  242. package/dist/src/evals/runner/execute-eval.js +1 -1
  243. package/dist/src/evals/runner/execute-task.d.ts +3 -1
  244. package/dist/src/evals/runner/execute-task.js +1 -1
  245. package/dist/src/evals/runner/reporters/braintrust.d.ts +1 -1
  246. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  247. package/dist/src/evals/runner/reporters/console.d.ts +1 -1
  248. package/dist/src/evals/runner/reporters/console.js +1 -1
  249. package/dist/src/evals/runner/reporters/datadog.d.ts +1 -1
  250. package/dist/src/evals/runner/reporters/datadog.js +2 -2
  251. package/dist/src/evals/runner/reporters/junit.d.ts +1 -1
  252. package/dist/src/evals/runner/reporters/junit.js +2 -2
  253. package/dist/src/evals/runner/reporters/types.d.ts +2 -2
  254. package/dist/src/evals/runner/run-evals.d.ts +1 -1
  255. package/dist/src/evals/session-cleanup.d.ts +1 -1
  256. package/dist/src/evals/session-cleanup.js +1 -1
  257. package/dist/src/evals/session-content.d.ts +2 -2
  258. package/dist/src/evals/session-content.js +2 -1
  259. package/dist/src/evals/session-manager.d.ts +3 -6
  260. package/dist/src/evals/session-manager.js +1 -1
  261. package/dist/src/evals/session.d.ts +33 -24
  262. package/dist/src/evals/session.js +2 -2
  263. package/dist/src/evals/target.js +1 -1
  264. package/dist/src/evals/types.d.ts +115 -94
  265. package/dist/src/eve-channel/create-request.d.ts +3 -5
  266. package/dist/src/eve-channel/descendant-stream.d.ts +9 -0
  267. package/dist/src/eve-channel/descendant-stream.js +1 -0
  268. package/dist/src/eve-channel/index.d.ts +2 -2
  269. package/dist/src/eve-channel/index.js +1 -1
  270. package/dist/src/eve-channel/request.d.ts +7 -6
  271. package/dist/src/eve-channel/request.js +1 -3
  272. package/dist/src/eve-channel/stream-headers.d.ts +1 -1
  273. package/dist/src/eve-channel/stream-headers.js +1 -1
  274. package/dist/src/eve-channel/support.d.ts +25 -13
  275. package/dist/src/eve-channel/support.js +2 -2
  276. package/dist/src/eve-channel/types.d.ts +7 -30
  277. package/dist/src/execution/agent-sessions/message.d.ts +4 -0
  278. package/dist/src/execution/agent-sessions/message.js +1 -0
  279. package/dist/src/execution/agent-sessions/metadata.js +1 -1
  280. package/dist/src/execution/agent-sessions/remote-credentials.d.ts +19 -0
  281. package/dist/src/execution/agent-sessions/remote-credentials.js +1 -0
  282. package/dist/src/execution/agent-sessions/remote.d.ts +35 -13
  283. package/dist/src/execution/agent-sessions/remote.js +1 -1
  284. package/dist/src/execution/agent-sessions/requests.d.ts +6 -6
  285. package/dist/src/execution/agent-sessions/requests.js +1 -1
  286. package/dist/src/execution/agent-sessions/session.js +1 -1
  287. package/dist/src/execution/agent-sessions/steps.d.ts +26 -4
  288. package/dist/src/execution/agent-sessions/steps.js +1 -1
  289. package/dist/src/execution/agent-sessions/target.d.ts +2 -1
  290. package/dist/src/execution/agent-sessions/target.js +1 -1
  291. package/dist/src/execution/agent-sessions/usage.d.ts +0 -8
  292. package/dist/src/execution/agent-sessions/usage.js +1 -1
  293. package/dist/src/execution/cancelled-model-call-batch.d.ts +4 -2
  294. package/dist/src/execution/cancelled-model-call-batch.js +1 -1
  295. package/dist/src/execution/cancelled-turn-message.d.ts +2 -2
  296. package/dist/src/execution/cancelled-turn-message.js +1 -1
  297. package/dist/src/execution/catalog/connection-auth.js +1 -1
  298. package/dist/src/execution/catalog/connection-entry.js +1 -1
  299. package/dist/src/execution/catalog/rank.js +1 -1
  300. package/dist/src/execution/catalog/search.js +1 -1
  301. package/dist/src/execution/catalog/skills.js +1 -1
  302. package/dist/src/execution/catalog/step-catalog.js +1 -1
  303. package/dist/src/execution/child-binding.d.ts +19 -0
  304. package/dist/src/execution/child-binding.js +1 -0
  305. package/dist/src/execution/close-session-stream-step.d.ts +9 -0
  306. package/dist/src/execution/close-session-stream-step.js +1 -0
  307. package/dist/src/execution/coordination-dispatch-shared.d.ts +13 -3
  308. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  309. package/dist/src/execution/coordination-dispatch-step.d.ts +9 -13
  310. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  311. package/dist/src/execution/deliver-payloads.js +1 -1
  312. package/dist/src/execution/durable-session-store.d.ts +2 -5
  313. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  314. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  315. package/dist/src/execution/failure-summary.d.ts +11 -0
  316. package/dist/src/execution/failure-summary.js +1 -0
  317. package/dist/src/execution/forward-session-input.d.ts +2 -2
  318. package/dist/src/execution/forward-session-input.js +1 -1
  319. package/dist/src/execution/invoke-tool.js +1 -1
  320. package/dist/src/execution/legacy-session/prepare-step.js +1 -1
  321. package/dist/src/execution/legacy-session/snapshot.d.ts +4 -1
  322. package/dist/src/execution/legacy-session/snapshot.js +1 -1
  323. package/dist/src/execution/model-call-batching.d.ts +3 -3
  324. package/dist/src/execution/model-call-batching.js +1 -1
  325. package/dist/src/execution/ndjson-stream.d.ts +1 -1
  326. package/dist/src/execution/node-step.d.ts +2 -8
  327. package/dist/src/execution/node-step.js +1 -1
  328. package/dist/src/execution/proxied-deliver-step.d.ts +8 -3
  329. package/dist/src/execution/proxied-deliver-step.js +1 -1
  330. package/dist/src/execution/public-destination.d.ts +34 -0
  331. package/dist/src/execution/public-destination.js +1 -0
  332. package/dist/src/execution/publish-session-events.d.ts +98 -36
  333. package/dist/src/execution/publish-session-events.js +1 -1
  334. package/dist/src/execution/runtime-context.js +1 -1
  335. package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
  336. package/dist/src/execution/sandbox/bash.js +1 -1
  337. package/dist/src/execution/sandbox/bindings/docker-connection.js +1 -1
  338. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  339. package/dist/src/execution/sandbox/bindings/eve-image.d.ts +0 -2
  340. package/dist/src/execution/sandbox/bindings/eve-image.js +1 -1
  341. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  342. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  343. package/dist/src/execution/sandbox/ensure.js +1 -1
  344. package/dist/src/{extensions/code/extension/lib → execution/sandbox}/grep-search.d.ts +3 -2
  345. package/dist/src/execution/sandbox/grep-search.js +6 -0
  346. package/dist/src/execution/sandbox/read-file.d.ts +1 -1
  347. package/dist/src/execution/sandbox/session.js +1 -1
  348. package/dist/src/execution/sandbox/workspace-root.d.ts +31 -0
  349. package/dist/src/execution/sandbox/workspace-root.js +1 -0
  350. package/dist/src/execution/session/active-turn.d.ts +12 -6
  351. package/dist/src/execution/session/active-turn.js +1 -1
  352. package/dist/src/execution/session/admission.d.ts +7 -2
  353. package/dist/src/execution/session/admission.js +1 -1
  354. package/dist/src/execution/session/answer-caller.d.ts +4 -4
  355. package/dist/src/execution/session/answer-caller.js +1 -1
  356. package/dist/src/execution/session/checkpoint-migrations.d.ts +4 -6
  357. package/dist/src/execution/session/checkpoint-migrations.js +1 -1
  358. package/dist/src/execution/session/control-delivery.d.ts +4 -0
  359. package/dist/src/execution/session/control-delivery.js +1 -0
  360. package/dist/src/execution/session/delivery-facts.d.ts +27 -0
  361. package/dist/src/execution/session/delivery-facts.js +1 -0
  362. package/dist/src/execution/session/end-sandbox-step.js +1 -1
  363. package/dist/src/execution/session/entry.js +1 -1
  364. package/dist/src/execution/session/finalization.d.ts +4 -0
  365. package/dist/src/execution/session/finalization.js +1 -1
  366. package/dist/src/execution/session/handoff-state.js +1 -1
  367. package/dist/src/execution/session/handoff-steps.d.ts +1 -8
  368. package/dist/src/execution/session/handoff-steps.js +1 -1
  369. package/dist/src/execution/session/handoff.d.ts +5 -3
  370. package/dist/src/execution/session/handoff.js +1 -1
  371. package/dist/src/execution/session/input-queue.d.ts +8 -2
  372. package/dist/src/execution/session/input-queue.js +1 -1
  373. package/dist/src/execution/session/interrupted-step.d.ts +64 -0
  374. package/dist/src/execution/session/interrupted-step.js +3 -0
  375. package/dist/src/execution/session/next-input.d.ts +7 -1
  376. package/dist/src/execution/session/next-input.js +1 -1
  377. package/dist/src/execution/session/pending-turn-state.d.ts +32 -12
  378. package/dist/src/execution/session/pending-turn-state.js +1 -1
  379. package/dist/src/execution/session/prewarm-step.d.ts +1 -1
  380. package/dist/src/execution/session/prewarm-step.js +1 -1
  381. package/dist/src/execution/session/program.js +1 -1
  382. package/dist/src/execution/session/settle-control-delivery-step.d.ts +8 -0
  383. package/dist/src/execution/session/settle-control-delivery-step.js +1 -0
  384. package/dist/src/execution/session/settle-duplicate-delivery-step.d.ts +8 -0
  385. package/dist/src/execution/session/settle-duplicate-delivery-step.js +1 -0
  386. package/dist/src/execution/session/state-delta.d.ts +2 -12
  387. package/dist/src/execution/session/state-delta.js +1 -1
  388. package/dist/src/execution/session/step-decision-check.d.ts +9 -0
  389. package/dist/src/execution/session/step-decision-check.js +1 -0
  390. package/dist/src/execution/session/step-state-delta.d.ts +16 -0
  391. package/dist/src/execution/session/step-state-delta.js +1 -0
  392. package/dist/src/execution/session/task-tool-tracing-step.d.ts +0 -3
  393. package/dist/src/execution/session/task-tool-tracing-step.js +1 -1
  394. package/dist/src/execution/session/turn-event-handler.d.ts +6 -16
  395. package/dist/src/execution/session/turn-event-handler.js +1 -1
  396. package/dist/src/execution/session/turn-step-result.d.ts +7 -2
  397. package/dist/src/execution/session/turn-step-result.js +1 -1
  398. package/dist/src/execution/session/turn-step-types.d.ts +35 -33
  399. package/dist/src/execution/session/turn-step.js +1 -1
  400. package/dist/src/execution/session/turn.d.ts +19 -32
  401. package/dist/src/execution/session/turn.js +1 -1
  402. package/dist/src/execution/session-callback-request.d.ts +7 -1
  403. package/dist/src/execution/session-callback-request.js +1 -1
  404. package/dist/src/execution/session-event-stream.d.ts +37 -16
  405. package/dist/src/execution/session-event-stream.js +1 -1
  406. package/dist/src/execution/session-inbox/end-stranded-session.d.ts +7 -1
  407. package/dist/src/execution/session-inbox/end-stranded-session.js +1 -1
  408. package/dist/src/execution/session-inbox/inbox.js +1 -1
  409. package/dist/src/execution/session-inbox/owner.d.ts +5 -2
  410. package/dist/src/execution/session-inbox/owner.js +1 -1
  411. package/dist/src/execution/session-inbox/pre-v27.d.ts +5 -0
  412. package/dist/src/execution/session-inbox/pre-v27.js +1 -0
  413. package/dist/src/execution/session-inbox/protocol.js +1 -1
  414. package/dist/src/execution/session-inbox/resume.js +1 -1
  415. package/dist/src/execution/session-inbox/stranded-replay-guard.js +1 -1
  416. package/dist/src/execution/session-workflow-tool-run.js +1 -1
  417. package/dist/src/execution/session.d.ts +3 -14
  418. package/dist/src/execution/session.js +2 -2
  419. package/dist/src/execution/settle-cancelled-turn-step.d.ts +3 -0
  420. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  421. package/dist/src/execution/stop-runs.d.ts +35 -0
  422. package/dist/src/execution/stop-runs.js +1 -0
  423. package/dist/src/execution/tasks/model-step.d.ts +5 -9
  424. package/dist/src/execution/tasks/model-step.js +1 -1
  425. package/dist/src/execution/tasks/render.d.ts +5 -2
  426. package/dist/src/execution/tasks/render.js +1 -1
  427. package/dist/src/execution/tasks/session.d.ts +6 -3
  428. package/dist/src/execution/tasks/session.js +1 -1
  429. package/dist/src/execution/tasks/start.d.ts +9 -6
  430. package/dist/src/execution/tasks/start.js +1 -1
  431. package/dist/src/execution/tasks/steps.d.ts +11 -6
  432. package/dist/src/execution/tasks/steps.js +1 -1
  433. package/dist/src/execution/tasks/table.d.ts +18 -5
  434. package/dist/src/execution/tasks/table.js +1 -1
  435. package/dist/src/execution/tasks/task-id-input.js +1 -1
  436. package/dist/src/execution/terminal-session-completion-step.d.ts +11 -1
  437. package/dist/src/execution/terminal-session-completion-step.js +1 -1
  438. package/dist/src/execution/terminal-session-failure-step.d.ts +6 -1
  439. package/dist/src/execution/terminal-session-failure-step.js +1 -1
  440. package/dist/src/execution/terminate-child-sessions-step.d.ts +5 -1
  441. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  442. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  443. package/dist/src/execution/tools/workflow/answer.d.ts +4 -5
  444. package/dist/src/execution/tools/workflow/answer.js +1 -1
  445. package/dist/src/execution/tools/workflow/apply-run-messages-step.d.ts +1 -1
  446. package/dist/src/execution/tools/workflow/apply-run-messages-step.js +1 -1
  447. package/dist/src/execution/tools/workflow/ask.d.ts +3 -3
  448. package/dist/src/execution/tools/workflow/body.js +1 -1
  449. package/dist/src/execution/tools/workflow/harness-definition.js +1 -1
  450. package/dist/src/execution/tools/workflow/messages.d.ts +25 -33
  451. package/dist/src/execution/tools/workflow/messages.js +1 -1
  452. package/dist/src/execution/tools/workflow/owner-inbox.d.ts +9 -5
  453. package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
  454. package/dist/src/execution/tools/workflow/owner.d.ts +3 -3
  455. package/dist/src/execution/tools/workflow/owner.js +1 -1
  456. package/dist/src/execution/tools/workflow/serve.js +1 -1
  457. package/dist/src/execution/tools/workflow/step.js +1 -1
  458. package/dist/src/execution/tools/workflow/withdraw-step.d.ts +2 -2
  459. package/dist/src/execution/tools/workflow/withdraw-step.js +1 -1
  460. package/dist/src/execution/v26-history.d.ts +28 -0
  461. package/dist/src/execution/v26-history.fixtures.d.ts +4 -0
  462. package/dist/src/execution/v26-history.fixtures.js +2 -0
  463. package/dist/src/execution/v26-history.js +1 -0
  464. package/dist/src/execution/web-fetch/html.js +3 -4
  465. package/dist/src/execution/web-fetch/request.js +1 -1
  466. package/dist/src/execution/workflow-errors.d.ts +5 -0
  467. package/dist/src/execution/workflow-errors.js +1 -1
  468. package/dist/src/execution/workflow-runtime.js +1 -1
  469. package/dist/src/extensions/code/extension/extension.d.ts +1 -11
  470. package/dist/src/extensions/code/extension/extension.js +1 -1
  471. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +5 -1
  472. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
  473. package/dist/src/extensions/code/extension/lib/repository-root.js +1 -1
  474. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +0 -4
  475. package/dist/src/extensions/code/extension/lib/sandbox.js +2 -2
  476. package/dist/src/extensions/code/extension/lib/tooling.d.ts +1 -1
  477. package/dist/src/extensions/code/extension/lib/tooling.js +1 -1
  478. package/dist/src/extensions/code/extension/lib/workspace-root.d.ts +1 -31
  479. package/dist/src/extensions/code/extension/lib/workspace-root.js +1 -1
  480. package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +1 -1
  481. package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -1
  482. package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -2
  483. package/dist/src/extensions/code/extension/tools/grep.d.ts +1 -28
  484. package/dist/src/extensions/code/extension/tools/grep.js +1 -1
  485. package/dist/src/extensions/code/sandbox.d.ts +1 -0
  486. package/dist/src/extensions/code/sandbox.js +1 -0
  487. package/dist/src/extensions/code/tools.d.ts +1 -5
  488. package/dist/src/extensions/code/tools.js +1 -1
  489. package/dist/src/extensions/git/extension/extension.d.ts +3 -3
  490. package/dist/src/extensions/git/extension/instructions/github.d.ts +1 -1
  491. package/dist/src/extensions/git/extension/instructions/github.js +1 -1
  492. package/dist/src/extensions/git/extension/lib/gh-tool.d.ts +2 -11
  493. package/dist/src/extensions/git/extension/lib/gh-tool.js +1 -1
  494. package/dist/src/extensions/git/extension/lib/github-shell.d.ts +13 -3
  495. package/dist/src/extensions/git/extension/lib/sandbox.d.ts +0 -4
  496. package/dist/src/extensions/git/extension/lib/sandbox.js +1 -1
  497. package/dist/src/extensions/git/extension/skills/pr.d.ts +1 -4
  498. package/dist/src/extensions/git/extension/skills/pr.js +1 -1
  499. package/dist/src/extensions/git/extension/tools/gh.d.ts +1 -26
  500. package/dist/src/extensions/git/extension/tools/gh.js +1 -1
  501. package/dist/src/framework/sources/modules/schedule-collection-wrapper.js +1 -1
  502. package/dist/src/harness/action-presentation.d.ts +3 -5
  503. package/dist/src/harness/action-presentation.js +1 -1
  504. package/dist/src/harness/action-result-helpers.d.ts +2 -8
  505. package/dist/src/harness/action-result-helpers.js +1 -1
  506. package/dist/src/harness/approval-outcome.d.ts +32 -0
  507. package/dist/src/harness/approval-outcome.js +1 -0
  508. package/dist/src/harness/attachment-staging.js +1 -1
  509. package/dist/src/harness/authorization.d.ts +2 -3
  510. package/dist/src/harness/authorization.js +1 -1
  511. package/dist/src/harness/call-executor.d.ts +118 -0
  512. package/dist/src/harness/call-executor.js +1 -0
  513. package/dist/src/harness/call-facts.d.ts +31 -0
  514. package/dist/src/harness/call-facts.js +1 -0
  515. package/dist/src/harness/call-outcome.d.ts +6 -0
  516. package/dist/src/harness/call-outcome.js +1 -0
  517. package/dist/src/harness/compaction/engine.d.ts +11 -0
  518. package/dist/src/harness/compaction/engine.js +2 -2
  519. package/dist/src/harness/compaction/over-limit-error.d.ts +7 -0
  520. package/dist/src/harness/compaction/over-limit-error.js +1 -0
  521. package/dist/src/harness/compaction/prompt.js +1 -1
  522. package/dist/src/harness/compaction/step.d.ts +34 -5
  523. package/dist/src/harness/compaction/step.js +1 -1
  524. package/dist/src/harness/coordination.js +1 -1
  525. package/dist/src/harness/current-messages.d.ts +10 -0
  526. package/dist/src/harness/current-messages.js +1 -1
  527. package/dist/src/harness/emission.d.ts +9 -15
  528. package/dist/src/harness/emission.js +1 -1
  529. package/dist/src/harness/execute-call.d.ts +6 -23
  530. package/dist/src/harness/execute-call.js +1 -1
  531. package/dist/src/harness/execute-tool.d.ts +7 -3
  532. package/dist/src/harness/facts.d.ts +82 -0
  533. package/dist/src/harness/facts.js +1 -0
  534. package/dist/src/harness/finish-reason.d.ts +6 -1
  535. package/dist/src/harness/generation-steering.d.ts +4 -2
  536. package/dist/src/harness/generation-steering.js +1 -1
  537. package/dist/src/harness/hitl/approval-prompt.d.ts +3 -3
  538. package/dist/src/harness/hitl/approval-prompt.js +3 -3
  539. package/dist/src/harness/hitl/approvals.d.ts +66 -78
  540. package/dist/src/harness/hitl/approvals.js +2 -1
  541. package/dist/src/harness/hitl/approved-calls.d.ts +14 -36
  542. package/dist/src/harness/hitl/approved-calls.js +1 -1
  543. package/dist/src/harness/hitl/budget-request.d.ts +8 -46
  544. package/dist/src/harness/hitl/budget-request.js +1 -1
  545. package/dist/src/harness/hitl/budget.d.ts +9 -8
  546. package/dist/src/harness/hitl/budget.js +1 -1
  547. package/dist/src/harness/hitl/delivery.d.ts +16 -17
  548. package/dist/src/harness/hitl/delivery.js +1 -1
  549. package/dist/src/harness/hitl/index.d.ts +14 -19
  550. package/dist/src/harness/hitl/index.js +1 -1
  551. package/dist/src/harness/hitl/intake.d.ts +32 -43
  552. package/dist/src/harness/hitl/intake.js +1 -1
  553. package/dist/src/harness/hitl/relays.d.ts +7 -51
  554. package/dist/src/harness/hitl/relays.js +1 -1
  555. package/dist/src/harness/hitl/requests.d.ts +11 -53
  556. package/dist/src/harness/hitl/requests.js +1 -1
  557. package/dist/src/harness/hitl/responders.d.ts +50 -0
  558. package/dist/src/harness/hitl/responders.js +1 -0
  559. package/dist/src/harness/hitl/sign-ins.d.ts +7 -3
  560. package/dist/src/harness/hitl/sign-ins.js +1 -1
  561. package/dist/src/harness/hitl/stale-responses.d.ts +11 -11
  562. package/dist/src/harness/hitl/stale-responses.js +3 -3
  563. package/dist/src/harness/inline-tool-authorization.d.ts +8 -9
  564. package/dist/src/harness/inline-tool-authorization.js +1 -1
  565. package/dist/src/harness/interaction-facts.d.ts +36 -0
  566. package/dist/src/harness/interaction-facts.js +1 -0
  567. package/dist/src/harness/interaction-relay.d.ts +10 -0
  568. package/dist/src/harness/interaction-relay.js +1 -0
  569. package/dist/src/harness/interrupted-attempt.d.ts +19 -0
  570. package/dist/src/harness/interrupted-attempt.js +2 -0
  571. package/dist/src/harness/messages.d.ts +28 -15
  572. package/dist/src/harness/messages.js +1 -1
  573. package/dist/src/harness/model-call/call.d.ts +31 -13
  574. package/dist/src/harness/model-call/call.js +1 -1
  575. package/dist/src/harness/model-call/errors.js +1 -1
  576. package/dist/src/harness/model-call/failure.d.ts +10 -48
  577. package/dist/src/harness/model-call/failure.js +1 -1
  578. package/dist/src/harness/model-call/model.js +1 -1
  579. package/dist/src/harness/model-call/recovery.d.ts +4 -32
  580. package/dist/src/harness/model-call/recovery.js +1 -1
  581. package/dist/src/harness/model-call/request.d.ts +0 -1
  582. package/dist/src/harness/model-call/request.js +1 -1
  583. package/dist/src/harness/model-call/response.d.ts +22 -12
  584. package/dist/src/harness/model-call/response.js +1 -1
  585. package/dist/src/harness/model-call/retry.d.ts +23 -6
  586. package/dist/src/harness/model-call/retry.js +1 -1
  587. package/dist/src/harness/model-call/run.d.ts +4 -12
  588. package/dist/src/harness/model-call/run.js +1 -1
  589. package/dist/src/harness/model-call/tools.d.ts +0 -19
  590. package/dist/src/harness/model-call/tools.js +1 -1
  591. package/dist/src/harness/model-call/unique-call-ids.d.ts +13 -0
  592. package/dist/src/harness/model-call/unique-call-ids.js +1 -0
  593. package/dist/src/harness/model-call/usage.d.ts +7 -5
  594. package/dist/src/harness/model-call/usage.js +1 -1
  595. package/dist/src/harness/ordered-stream-emitter.d.ts +1 -0
  596. package/dist/src/harness/ordered-stream-emitter.js +1 -1
  597. package/dist/src/harness/provider-tool-history.js +1 -1
  598. package/dist/src/harness/publication.d.ts +4 -0
  599. package/dist/src/harness/publication.js +1 -0
  600. package/dist/src/harness/request-envelope.d.ts +0 -3
  601. package/dist/src/harness/request-envelope.js +1 -1
  602. package/dist/src/harness/running-work.d.ts +10 -0
  603. package/dist/src/harness/running-work.js +1 -0
  604. package/dist/src/harness/session-machine/cascade.d.ts +17 -0
  605. package/dist/src/harness/session-machine/cascade.js +1 -0
  606. package/dist/src/harness/session-machine/commit.d.ts +16 -16
  607. package/dist/src/harness/session-machine/commit.js +1 -1
  608. package/dist/src/harness/session-machine/current.d.ts +25 -9
  609. package/dist/src/harness/session-machine/current.js +1 -1
  610. package/dist/src/harness/session-machine/state.d.ts +43 -16
  611. package/dist/src/harness/session-machine/state.js +1 -1
  612. package/dist/src/harness/session-machine/suspended-steps.d.ts +22 -0
  613. package/dist/src/harness/session-machine/suspended-steps.js +1 -0
  614. package/dist/src/harness/session-machine/transitions.d.ts +144 -120
  615. package/dist/src/harness/session-machine/transitions.js +1 -1
  616. package/dist/src/harness/session-machine/view.d.ts +12 -8
  617. package/dist/src/harness/session-machine/view.js +1 -1
  618. package/dist/src/harness/session-machine/waiting.d.ts +16 -0
  619. package/dist/src/harness/session-machine/waiting.js +1 -0
  620. package/dist/src/harness/session-usage.d.ts +22 -0
  621. package/dist/src/harness/session-usage.js +1 -0
  622. package/dist/src/harness/step/after-model.d.ts +1 -4
  623. package/dist/src/harness/step/after-model.js +1 -1
  624. package/dist/src/harness/step/context.d.ts +21 -21
  625. package/dist/src/harness/step/context.js +1 -1
  626. package/dist/src/harness/step/intake.d.ts +7 -8
  627. package/dist/src/harness/step/intake.js +1 -1
  628. package/dist/src/harness/step/park.d.ts +19 -0
  629. package/dist/src/harness/step/park.js +1 -0
  630. package/dist/src/harness/step/prompt.d.ts +4 -5
  631. package/dist/src/harness/step/prompt.js +1 -1
  632. package/dist/src/harness/step-hooks.d.ts +24 -24
  633. package/dist/src/harness/step-hooks.js +1 -1
  634. package/dist/src/harness/stream-actions.d.ts +3 -9
  635. package/dist/src/harness/stream-actions.js +1 -1
  636. package/dist/src/harness/token-estimate.js +1 -1
  637. package/dist/src/harness/tool-history-repair.js +1 -1
  638. package/dist/src/harness/tool-loop.js +1 -1
  639. package/dist/src/harness/tools.d.ts +22 -38
  640. package/dist/src/harness/tools.js +1 -1
  641. package/dist/src/harness/types.d.ts +69 -67
  642. package/dist/src/harness/user-parts.d.ts +4 -0
  643. package/dist/src/harness/user-parts.js +1 -0
  644. package/dist/src/harness/workflow-tool-runs.d.ts +0 -1
  645. package/dist/src/harness/workflow-tool-runs.js +1 -1
  646. package/dist/src/instrumentation/ai-sdk-hook-bridge.d.ts +2 -2
  647. package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
  648. package/dist/src/instrumentation/channel-delivery.d.ts +4 -23
  649. package/dist/src/instrumentation/channel-delivery.js +1 -1
  650. package/dist/src/instrumentation/content.d.ts +1 -7
  651. package/dist/src/instrumentation/content.js +1 -1
  652. package/dist/src/instrumentation/dispatch.js +1 -1
  653. package/dist/src/instrumentation/lifecycle.d.ts +135 -198
  654. package/dist/src/instrumentation/lifecycle.js +1 -1
  655. package/dist/src/instrumentation/memory.d.ts +4 -2
  656. package/dist/src/instrumentation/memory.js +1 -1
  657. package/dist/src/instrumentation/native-events.d.ts +17 -10
  658. package/dist/src/instrumentation/native-events.js +1 -1
  659. package/dist/src/instrumentation/prepare-trace-context.d.ts +3 -3
  660. package/dist/src/instrumentation/provider.d.ts +20 -28
  661. package/dist/src/instrumentation/providers.js +1 -1
  662. package/dist/src/instrumentation/runtime-context.d.ts +1 -0
  663. package/dist/src/instrumentation/runtime-context.js +1 -1
  664. package/dist/src/instrumentation/runtime.d.ts +9 -30
  665. package/dist/src/instrumentation/runtime.js +1 -1
  666. package/dist/src/instrumentation/scope.d.ts +6 -0
  667. package/dist/src/instrumentation/scope.js +1 -0
  668. package/dist/src/instrumentation/session-context.d.ts +1 -1
  669. package/dist/src/instrumentation/session-context.js +1 -1
  670. package/dist/src/instrumentation/session-init.js +1 -1
  671. package/dist/src/instrumentation/setup-context.d.ts +2 -2
  672. package/dist/src/instrumentation/setup-context.js +1 -1
  673. package/dist/src/instrumentation/state.d.ts +0 -21
  674. package/dist/src/instrumentation/state.js +1 -1
  675. package/dist/src/internal/application/dev-environment.d.ts +8 -2
  676. package/dist/src/internal/application/dev-environment.js +1 -1
  677. package/dist/src/internal/application/optional-package-install.js +1 -1
  678. package/dist/src/internal/application/stamped-package-version.js +1 -1
  679. package/dist/src/internal/authored-asset-import-plugin.d.ts +8 -7
  680. package/dist/src/internal/authored-asset-import-plugin.js +1 -1
  681. package/dist/src/internal/authored-definition/approval.d.ts +2 -4
  682. package/dist/src/internal/authored-definition/approval.js +1 -1
  683. package/dist/src/internal/authored-definition/connection.js +1 -1
  684. package/dist/src/internal/authored-definition/core.d.ts +1 -1
  685. package/dist/src/internal/authored-definition/core.js +1 -1
  686. package/dist/src/internal/authored-definition/memory.js +1 -1
  687. package/dist/src/internal/authored-definition/schema-backed.d.ts +0 -3
  688. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  689. package/dist/src/internal/authored-module-loader.d.ts +0 -1
  690. package/dist/src/internal/authored-module-loader.js +1 -1
  691. package/dist/src/internal/authored-package-boundary.js +1 -1
  692. package/dist/src/internal/git.d.ts +2 -0
  693. package/dist/src/internal/git.js +1 -0
  694. package/dist/src/internal/grep.d.ts +1 -0
  695. package/dist/src/internal/grep.js +1 -0
  696. package/dist/src/internal/helpers/markdown.js +1 -1
  697. package/dist/src/internal/invocation/agent-invocation.d.ts +16 -19
  698. package/dist/src/internal/invocation/metadata.d.ts +0 -2
  699. package/dist/src/internal/invocation/metadata.js +1 -1
  700. package/dist/src/internal/invocation/workflow-execution.d.ts +4 -4
  701. package/dist/src/internal/invocation/workflow-execution.js +1 -1
  702. package/dist/src/internal/legacy-events.d.ts +5 -0
  703. package/dist/src/internal/legacy-events.js +1 -0
  704. package/dist/src/internal/logging.d.ts +0 -12
  705. package/dist/src/internal/logging.js +1 -1
  706. package/dist/src/internal/mcp/protected-resource.js +1 -1
  707. package/dist/src/internal/mcp/published-tools.js +1 -1
  708. package/dist/src/internal/model-auth/api-key.js +1 -1
  709. package/dist/src/internal/model-auth/development-broker-client.js +1 -1
  710. package/dist/src/internal/model-auth/development-broker-server.js +1 -1
  711. package/dist/src/internal/model-auth/transport.js +1 -1
  712. package/dist/src/internal/nitro/dev-client-address.d.ts +12 -0
  713. package/dist/src/internal/nitro/dev-client-address.js +1 -1
  714. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  715. package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -1
  716. package/dist/src/internal/nitro/host/build-extension.js +2 -2
  717. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  718. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  719. package/dist/src/internal/nitro/host/dev-server-state.js +1 -1
  720. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  721. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  722. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  723. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  724. package/dist/src/internal/nitro/routes/channel-request-instrumentation.d.ts +6 -3
  725. package/dist/src/internal/nitro/routes/channel-request-instrumentation.js +1 -1
  726. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +8 -1
  727. package/dist/src/internal/nitro/routes/info.js +1 -1
  728. package/dist/src/internal/nitro/routes/schedule-task.js +1 -1
  729. package/dist/src/internal/scaffold.d.ts +5 -0
  730. package/dist/src/internal/scaffold.js +1 -0
  731. package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -1
  732. package/dist/src/internal/workflow/development-world-client.js +1 -1
  733. package/dist/src/internal/workflow/development-world-server.js +1 -1
  734. package/dist/src/internal/workflow/local-world-data-directory.js +1 -1
  735. package/dist/src/internal/workspace.d.ts +1 -0
  736. package/dist/src/internal/workspace.js +1 -0
  737. package/dist/src/models/auto.d.ts +27 -14
  738. package/dist/src/models/auto.js +2 -2
  739. package/dist/src/protocol/delivery.d.ts +11 -0
  740. package/dist/src/protocol/delivery.js +1 -0
  741. package/dist/src/protocol/descendant-observation.d.ts +12 -0
  742. package/dist/src/protocol/descendant-observation.js +1 -0
  743. package/dist/src/protocol/interaction-json.d.ts +66 -0
  744. package/dist/src/protocol/interaction-json.js +1 -0
  745. package/dist/src/protocol/interaction-options.d.ts +4 -0
  746. package/dist/src/protocol/interaction-options.js +1 -0
  747. package/dist/src/protocol/remote-agent-protocol.d.ts +28 -1
  748. package/dist/src/protocol/remote-agent-protocol.js +1 -1
  749. package/dist/src/protocol/routes.d.ts +3 -2
  750. package/dist/src/protocol/routes.js +1 -1
  751. package/dist/src/protocol/session-event.d.ts +22 -0
  752. package/dist/src/protocol/session-event.js +1 -0
  753. package/dist/src/protocol/session-events/authoring.d.ts +2 -0
  754. package/dist/src/protocol/session-events/authoring.js +1 -0
  755. package/dist/src/protocol/session-events/catalog.d.ts +50 -0
  756. package/dist/src/protocol/session-events/catalog.js +1 -0
  757. package/dist/src/protocol/session-events/checker.d.ts +23 -0
  758. package/dist/src/protocol/session-events/checker.js +1 -0
  759. package/dist/src/protocol/session-events/common.d.ts +105 -0
  760. package/dist/src/protocol/session-events/common.js +1 -0
  761. package/dist/src/protocol/session-events/envelope.d.ts +174 -0
  762. package/dist/src/protocol/session-events/envelope.js +1 -0
  763. package/dist/src/protocol/session-events/facts.d.ts +24 -0
  764. package/dist/src/protocol/session-events/facts.js +1 -0
  765. package/dist/src/protocol/session-events/families/call.d.ts +142 -0
  766. package/dist/src/protocol/session-events/families/call.js +1 -0
  767. package/dist/src/protocol/session-events/families/child.d.ts +51 -0
  768. package/dist/src/protocol/session-events/families/child.js +1 -0
  769. package/dist/src/protocol/session-events/families/content.d.ts +56 -0
  770. package/dist/src/protocol/session-events/families/content.js +1 -0
  771. package/dist/src/protocol/session-events/families/context.d.ts +55 -0
  772. package/dist/src/protocol/session-events/families/context.js +1 -0
  773. package/dist/src/protocol/session-events/families/delivery.d.ts +86 -0
  774. package/dist/src/protocol/session-events/families/delivery.js +1 -0
  775. package/dist/src/protocol/session-events/families/interaction.d.ts +163 -0
  776. package/dist/src/protocol/session-events/families/interaction.js +1 -0
  777. package/dist/src/protocol/session-events/families/model.d.ts +88 -0
  778. package/dist/src/protocol/session-events/families/model.js +1 -0
  779. package/dist/src/protocol/session-events/families/response.d.ts +66 -0
  780. package/dist/src/protocol/session-events/families/response.js +1 -0
  781. package/dist/src/protocol/session-events/families/session.d.ts +73 -0
  782. package/dist/src/protocol/session-events/families/session.js +1 -0
  783. package/dist/src/protocol/session-events/families/task.d.ts +46 -0
  784. package/dist/src/protocol/session-events/families/task.js +1 -0
  785. package/dist/src/protocol/session-events/families/turn.d.ts +68 -0
  786. package/dist/src/protocol/session-events/families/turn.js +1 -0
  787. package/dist/src/protocol/session-events/families/usage.d.ts +30 -0
  788. package/dist/src/protocol/session-events/families/usage.js +1 -0
  789. package/dist/src/protocol/session-events/guards.d.ts +11 -0
  790. package/dist/src/protocol/session-events/guards.js +1 -0
  791. package/dist/src/protocol/session-events/index.d.ts +16 -0
  792. package/dist/src/protocol/session-events/index.js +1 -0
  793. package/dist/src/protocol/session-events/json.d.ts +20 -0
  794. package/dist/src/protocol/session-events/json.js +1 -0
  795. package/dist/src/protocol/session-events/schemas.d.ts +320 -0
  796. package/dist/src/protocol/session-events/schemas.js +1 -0
  797. package/dist/src/protocol/session-http.d.ts +7 -0
  798. package/dist/src/protocol/session-http.js +1 -0
  799. package/dist/src/protocol/session-lines.d.ts +19 -0
  800. package/dist/src/protocol/session-lines.js +1 -0
  801. package/dist/src/protocol/session-projection/fold.d.ts +75 -0
  802. package/dist/src/protocol/session-projection/fold.js +1 -0
  803. package/dist/src/protocol/session-projection/index.d.ts +4 -0
  804. package/dist/src/protocol/session-projection/index.js +1 -0
  805. package/dist/src/protocol/session-projection/observations.d.ts +150 -0
  806. package/dist/src/protocol/session-projection/observations.js +1 -0
  807. package/dist/src/protocol/session-projection/public-view.d.ts +74 -0
  808. package/dist/src/protocol/session-projection/public-view.js +1 -0
  809. package/dist/src/protocol/session-projection/reader.d.ts +62 -0
  810. package/dist/src/protocol/session-projection/reader.js +1 -0
  811. package/dist/src/protocol/session-projection/request-status.d.ts +7 -0
  812. package/dist/src/protocol/session-projection/request-status.js +1 -0
  813. package/dist/src/protocol/session-projection/selectors.d.ts +169 -0
  814. package/dist/src/protocol/session-projection/selectors.js +2 -0
  815. package/dist/src/protocol/session-projection/session-view.d.ts +18 -0
  816. package/dist/src/protocol/session-projection/session-view.js +1 -0
  817. package/dist/src/protocol/session-projection/tables.d.ts +237 -0
  818. package/dist/src/protocol/session-projection/tables.js +1 -0
  819. package/dist/src/protocol/session-projection/tree.d.ts +72 -0
  820. package/dist/src/protocol/session-projection/tree.js +1 -0
  821. package/dist/src/protocol/session-projection.d.ts +38 -157
  822. package/dist/src/protocol/session-projection.js +1 -1
  823. package/dist/src/protocol/task-tools.d.ts +8 -6
  824. package/dist/src/protocol/task-tools.js +1 -1
  825. package/dist/src/protocol/v26-interactions.d.ts +11 -0
  826. package/dist/src/protocol/v26-interactions.js +1 -0
  827. package/dist/src/protocol/v26-lines.d.ts +5 -0
  828. package/dist/src/protocol/v26-lines.js +1 -0
  829. package/dist/src/public/agents/auth.d.ts +2 -2
  830. package/dist/src/public/agents/auth.js +1 -1
  831. package/dist/src/public/ai/index.d.ts +1 -0
  832. package/dist/src/public/channels/auth.d.ts +2 -518
  833. package/dist/src/public/channels/auth.js +1 -1
  834. package/dist/src/public/channels/chat-sdk/authorization.d.ts +5 -2
  835. package/dist/src/public/channels/chat-sdk/authorization.js +1 -3
  836. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +16 -11
  837. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -3
  838. package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
  839. package/dist/src/public/channels/chat-sdk/index.js +1 -1
  840. package/dist/src/public/channels/chat-sdk/input-actions.d.ts +4 -4
  841. package/dist/src/public/channels/chat-sdk/input-actions.js +3 -3
  842. package/dist/src/public/channels/chat-sdk/{messageToUserContent.d.ts → message-content.d.ts} +3 -3
  843. package/dist/src/public/channels/chat-sdk/message-content.js +1 -0
  844. package/dist/src/public/channels/discord/api.d.ts +8 -11
  845. package/dist/src/public/channels/discord/api.js +1 -1
  846. package/dist/src/public/channels/discord/attachments.d.ts +2 -2
  847. package/dist/src/public/channels/discord/authorization.d.ts +3 -13
  848. package/dist/src/public/channels/discord/authorization.js +2 -2
  849. package/dist/src/public/channels/discord/credentials.d.ts +11 -0
  850. package/dist/src/public/channels/discord/credentials.js +1 -0
  851. package/dist/src/public/channels/discord/defaults.d.ts +7 -1
  852. package/dist/src/public/channels/discord/defaults.js +1 -3
  853. package/dist/src/public/channels/discord/discordChannel.d.ts +36 -48
  854. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  855. package/dist/src/public/channels/discord/hitl.d.ts +5 -4
  856. package/dist/src/public/channels/discord/hitl.js +1 -1
  857. package/dist/src/public/channels/discord/index.d.ts +4 -12
  858. package/dist/src/public/channels/discord/index.js +1 -1
  859. package/dist/src/public/channels/discord/messages.js +1 -1
  860. package/dist/src/public/channels/github/defaults.js +2 -4
  861. package/dist/src/public/channels/github/githubChannel.d.ts +23 -36
  862. package/dist/src/public/channels/github/githubChannel.js +1 -1
  863. package/dist/src/public/channels/github/index.d.ts +3 -2
  864. package/dist/src/public/channels/github/index.js +1 -1
  865. package/dist/src/public/channels/github/state.d.ts +2 -0
  866. package/dist/src/public/channels/imessage-tapbacks.d.ts +1 -1
  867. package/dist/src/public/channels/index.d.ts +16 -37
  868. package/dist/src/public/channels/index.js +1 -1
  869. package/dist/src/public/channels/linear/defaults.js +2 -4
  870. package/dist/src/public/channels/linear/hitl.d.ts +3 -3
  871. package/dist/src/public/channels/linear/hitl.js +2 -2
  872. package/dist/src/public/channels/linear/inbound-uploads.d.ts +3 -3
  873. package/dist/src/public/channels/linear/inbound-uploads.js +1 -1
  874. package/dist/src/public/channels/linear/inbound.d.ts +5 -3
  875. package/dist/src/public/channels/linear/inbound.js +1 -1
  876. package/dist/src/public/channels/linear/index.d.ts +4 -6
  877. package/dist/src/public/channels/linear/index.js +1 -1
  878. package/dist/src/public/channels/linear/linearChannel.d.ts +19 -30
  879. package/dist/src/public/channels/linear/linearChannel.js +1 -1
  880. package/dist/src/public/channels/linq/inboundContent.d.ts +2 -2
  881. package/dist/src/public/channels/linq/inboundContent.js +1 -1
  882. package/dist/src/public/channels/linq/index.d.ts +1 -1
  883. package/dist/src/public/channels/linq/linqChannel.d.ts +1 -2
  884. package/dist/src/public/channels/mcp.d.ts +2 -2
  885. package/dist/src/public/channels/mcp.js +1 -1
  886. package/dist/src/public/channels/photon/inboundContent.d.ts +2 -2
  887. package/dist/src/public/channels/photon/inboundContent.js +1 -1
  888. package/dist/src/public/channels/photon/index.d.ts +1 -1
  889. package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +1 -2
  890. package/dist/src/public/channels/reply.d.ts +22 -0
  891. package/dist/src/public/channels/reply.js +3 -0
  892. package/dist/src/public/channels/slack/action-status.js +1 -1
  893. package/dist/src/public/channels/slack/{input-response.d.ts → answers.d.ts} +5 -5
  894. package/dist/src/public/channels/slack/answers.js +1 -0
  895. package/dist/src/public/channels/slack/api.d.ts +5 -2
  896. package/dist/src/public/channels/slack/api.js +1 -1
  897. package/dist/src/public/channels/slack/approval-cards.d.ts +15 -5
  898. package/dist/src/public/channels/slack/approval-cards.js +2 -2
  899. package/dist/src/public/channels/slack/attachments.d.ts +6 -6
  900. package/dist/src/public/channels/slack/attachments.js +1 -1
  901. package/dist/src/public/channels/slack/blocks.d.ts +1 -1
  902. package/dist/src/public/channels/slack/blocks.js +1 -1
  903. package/dist/src/public/channels/slack/cards.d.ts +576 -0
  904. package/dist/src/public/channels/slack/cards.js +1 -0
  905. package/dist/src/public/channels/slack/connections.d.ts +4 -22
  906. package/dist/src/public/channels/slack/connections.js +1 -1
  907. package/dist/src/public/channels/slack/defaults.d.ts +13 -2
  908. package/dist/src/public/channels/slack/defaults.js +5 -5
  909. package/dist/src/public/channels/slack/hitl.d.ts +20 -19
  910. package/dist/src/public/channels/slack/hitl.js +3 -3
  911. package/dist/src/public/channels/slack/index.d.ts +7 -16
  912. package/dist/src/public/channels/slack/index.js +1 -1
  913. package/dist/src/public/channels/slack/interaction-cards.js +1 -1
  914. package/dist/src/public/channels/slack/interactions.d.ts +2 -2
  915. package/dist/src/public/channels/slack/interactions.js +1 -1
  916. package/dist/src/public/channels/slack/limits.js +1 -1
  917. package/dist/src/public/channels/slack/private-approval-delivery.d.ts +3 -3
  918. package/dist/src/public/channels/slack/private-approval-delivery.js +1 -1
  919. package/dist/src/public/channels/slack/renderers.d.ts +21 -27
  920. package/dist/src/public/channels/slack/renderers.js +1 -1
  921. package/dist/src/public/channels/slack/reply-delivery.d.ts +5 -11
  922. package/dist/src/public/channels/slack/reply-delivery.js +1 -1
  923. package/dist/src/public/channels/slack/session-operations.d.ts +4 -4
  924. package/dist/src/public/channels/slack/sign-in-cancel.js +1 -1
  925. package/dist/src/public/channels/slack/slackChannel.d.ts +32 -43
  926. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  927. package/dist/src/public/channels/slack/task-card.d.ts +9 -9
  928. package/dist/src/public/channels/slack/task-card.js +1 -1
  929. package/dist/src/public/channels/teams/api.d.ts +3 -7
  930. package/dist/src/public/channels/teams/attachments.d.ts +4 -4
  931. package/dist/src/public/channels/teams/authorization.d.ts +5 -9
  932. package/dist/src/public/channels/teams/authorization.js +1 -1
  933. package/dist/src/public/channels/teams/credentials.d.ts +13 -0
  934. package/dist/src/public/channels/teams/credentials.js +1 -0
  935. package/dist/src/public/channels/teams/defaults.d.ts +2 -6
  936. package/dist/src/public/channels/teams/defaults.js +1 -3
  937. package/dist/src/public/channels/teams/hitl.d.ts +8 -7
  938. package/dist/src/public/channels/teams/hitl.js +1 -1
  939. package/dist/src/public/channels/teams/index.d.ts +6 -8
  940. package/dist/src/public/channels/teams/index.js +1 -1
  941. package/dist/src/public/channels/teams/teamsChannel.d.ts +25 -44
  942. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  943. package/dist/src/public/channels/telegram/api.d.ts +3 -4
  944. package/dist/src/public/channels/telegram/attachments.d.ts +5 -5
  945. package/dist/src/public/channels/telegram/authorization-callback.js +1 -1
  946. package/dist/src/public/channels/telegram/authorization.d.ts +4 -8
  947. package/dist/src/public/channels/telegram/authorization.js +2 -2
  948. package/dist/src/public/channels/telegram/credentials.d.ts +9 -0
  949. package/dist/src/public/channels/telegram/credentials.js +1 -0
  950. package/dist/src/public/channels/telegram/defaults.js +1 -3
  951. package/dist/src/public/channels/telegram/hitl.d.ts +22 -20
  952. package/dist/src/public/channels/telegram/hitl.js +2 -2
  953. package/dist/src/public/channels/telegram/index.d.ts +5 -7
  954. package/dist/src/public/channels/telegram/index.js +1 -1
  955. package/dist/src/public/channels/telegram/telegramChannel.d.ts +23 -36
  956. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  957. package/dist/src/public/channels/text.d.ts +4 -0
  958. package/dist/src/public/channels/text.js +1 -0
  959. package/dist/src/public/channels/twilio/api.d.ts +8 -8
  960. package/dist/src/public/channels/twilio/api.js +1 -1
  961. package/dist/src/public/channels/twilio/credentials.d.ts +7 -0
  962. package/dist/src/public/channels/twilio/credentials.js +1 -0
  963. package/dist/src/public/channels/twilio/defaults.d.ts +0 -1
  964. package/dist/src/public/channels/twilio/defaults.js +1 -5
  965. package/dist/src/public/channels/twilio/inbound.d.ts +2 -2
  966. package/dist/src/public/channels/twilio/index.d.ts +4 -4
  967. package/dist/src/public/channels/twilio/index.js +1 -1
  968. package/dist/src/public/channels/twilio/twilioChannel.d.ts +24 -37
  969. package/dist/src/public/channels/twilio/twilioChannel.js +1 -1
  970. package/dist/src/public/channels/twilio/verify.d.ts +6 -4
  971. package/dist/src/public/channels/undelivered-reply.d.ts +30 -0
  972. package/dist/src/public/channels/undelivered-reply.js +1 -0
  973. package/dist/src/public/channels/upload-policy.d.ts +7 -7
  974. package/dist/src/public/connections/index.d.ts +3 -5
  975. package/dist/src/public/context/index.d.ts +3 -2
  976. package/dist/src/public/definitions/agent.d.ts +18 -18
  977. package/dist/src/public/definitions/agent.js +1 -1
  978. package/dist/src/public/definitions/approval.d.ts +1 -1
  979. package/dist/src/public/definitions/channel.d.ts +57 -60
  980. package/dist/src/public/definitions/channel.js +1 -1
  981. package/dist/src/public/definitions/connections/dynamic.d.ts +3 -15
  982. package/dist/src/public/definitions/connections/dynamic.js +1 -1
  983. package/dist/src/public/definitions/connections/events.d.ts +9 -9
  984. package/dist/src/public/definitions/connections/mcp.d.ts +5 -3
  985. package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
  986. package/dist/src/public/definitions/extension.d.ts +2 -4
  987. package/dist/src/public/definitions/extension.js +1 -1
  988. package/dist/src/public/definitions/hook.d.ts +63 -85
  989. package/dist/src/public/definitions/hook.js +1 -1
  990. package/dist/src/public/definitions/instructions.d.ts +3 -10
  991. package/dist/src/public/definitions/instructions.js +1 -1
  992. package/dist/src/public/definitions/model.d.ts +21 -0
  993. package/dist/src/public/definitions/model.js +1 -0
  994. package/dist/src/public/definitions/removed-event-keys.d.ts +2 -0
  995. package/dist/src/public/definitions/removed-event-keys.js +1 -0
  996. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  997. package/dist/src/public/definitions/schedule.d.ts +4 -4
  998. package/dist/src/public/definitions/skill.d.ts +5 -0
  999. package/dist/src/public/definitions/skill.js +1 -1
  1000. package/dist/src/public/events/index.d.ts +27 -0
  1001. package/dist/src/public/events/index.js +1 -0
  1002. package/dist/src/public/experimental/connections/index.d.ts +1 -0
  1003. package/dist/src/public/experimental/connections/index.js +1 -0
  1004. package/dist/src/public/experimental/schedules/client.js +1 -1
  1005. package/dist/src/public/hooks/index.d.ts +4 -3
  1006. package/dist/src/public/index.d.ts +3 -2
  1007. package/dist/src/public/instructions/index.d.ts +2 -2
  1008. package/dist/src/public/instrumentation/index.d.ts +9 -28
  1009. package/dist/src/public/instrumentation/index.js +1 -1
  1010. package/dist/src/public/instrumentation/otel.d.ts +1 -1
  1011. package/dist/src/public/instrumentation/otel.js +1 -1
  1012. package/dist/src/public/instrumentation/provider.d.ts +1 -1
  1013. package/dist/src/public/instrumentation/provider.js +1 -1
  1014. package/dist/src/public/local-dev.d.ts +3 -1
  1015. package/dist/src/public/memory/file/backend.d.ts +1 -1
  1016. package/dist/src/public/memory/file/backends/in-memory.js +1 -1
  1017. package/dist/src/public/memory/file/backends/vercel-blob.js +1 -1
  1018. package/dist/src/public/memory/file/provider.js +1 -1
  1019. package/dist/src/public/memory/index.d.ts +14 -20
  1020. package/dist/src/public/models/index.d.ts +3 -0
  1021. package/dist/src/public/models/index.js +1 -1
  1022. package/dist/src/public/models/openai/index.d.ts +0 -2
  1023. package/dist/src/public/models/openai/index.js +1 -1
  1024. package/dist/src/public/next/index.d.ts +5 -36
  1025. package/dist/src/public/next/index.js +1 -1
  1026. package/dist/src/public/nuxt/index.d.ts +1 -1
  1027. package/dist/src/public/nuxt/module.d.ts +5 -2
  1028. package/dist/src/public/sandbox/index.d.ts +1 -1
  1029. package/dist/src/public/sandbox/vercel-sandbox.d.ts +52 -12
  1030. package/dist/src/public/sandbox/vercel.d.ts +1 -1
  1031. package/dist/src/public/schedules/subscription.d.ts +5 -8
  1032. package/dist/src/public/server/index.d.ts +2 -14
  1033. package/dist/src/public/server/index.js +1 -1
  1034. package/dist/src/public/sessions/index.d.ts +6 -0
  1035. package/dist/src/public/sessions/index.js +1 -0
  1036. package/dist/src/public/skills/index.d.ts +2 -2
  1037. package/dist/src/public/skills/index.js +1 -1
  1038. package/dist/src/public/sveltekit/routing.d.ts +0 -4
  1039. package/dist/src/public/sveltekit/routing.js +1 -1
  1040. package/dist/src/public/tools/approval/index.d.ts +1 -1
  1041. package/dist/src/public/tools/bash.d.ts +1 -1
  1042. package/dist/src/public/tools/bash.js +1 -1
  1043. package/dist/src/public/tools/glob.d.ts +1 -1
  1044. package/dist/src/public/tools/glob.js +1 -1
  1045. package/dist/src/public/tools/grep.d.ts +1 -1
  1046. package/dist/src/public/tools/grep.js +1 -1
  1047. package/dist/src/public/tools/index.d.ts +5 -9
  1048. package/dist/src/public/tools/index.js +1 -1
  1049. package/dist/src/public/tools/read-file.d.ts +1 -1
  1050. package/dist/src/public/tools/read-file.js +1 -1
  1051. package/dist/src/public/tools/result.d.ts +17 -9
  1052. package/dist/src/public/tools/result.js +1 -1
  1053. package/dist/src/public/tools/web-fetch.d.ts +1 -1
  1054. package/dist/src/public/tools/web-fetch.js +1 -1
  1055. package/dist/src/public/tools/web-search.d.ts +1 -3
  1056. package/dist/src/public/tools/web-search.js +1 -1
  1057. package/dist/src/public/tools/write-file.d.ts +1 -1
  1058. package/dist/src/public/tools/write-file.js +1 -1
  1059. package/dist/src/public/workflow-modules.d.ts +8 -2
  1060. package/dist/src/react/index.d.ts +4 -7
  1061. package/dist/src/react/index.js +1 -1
  1062. package/dist/src/react/use-eve-agent.d.ts +68 -50
  1063. package/dist/src/react/use-eve-agent.js +1 -1
  1064. package/dist/src/reactions/bundle.d.ts +4 -0
  1065. package/dist/src/reactions/bundle.js +1 -0
  1066. package/dist/src/reactions/frame.d.ts +13 -0
  1067. package/dist/src/reactions/frame.js +1 -0
  1068. package/dist/src/reactions/intents.d.ts +22 -0
  1069. package/dist/src/reactions/intents.js +1 -0
  1070. package/dist/src/reactions/kinds/connection.d.ts +18 -0
  1071. package/dist/src/reactions/kinds/connection.js +1 -0
  1072. package/dist/src/reactions/kinds/hook.d.ts +8 -0
  1073. package/dist/src/reactions/kinds/hook.js +1 -0
  1074. package/dist/src/reactions/kinds/instructions.d.ts +21 -0
  1075. package/dist/src/reactions/kinds/instructions.js +1 -0
  1076. package/dist/src/reactions/kinds/memory.d.ts +72 -0
  1077. package/dist/src/reactions/kinds/memory.js +1 -0
  1078. package/dist/src/reactions/kinds/model.d.ts +21 -0
  1079. package/dist/src/reactions/kinds/model.js +1 -0
  1080. package/dist/src/reactions/kinds/skill.d.ts +27 -0
  1081. package/dist/src/reactions/kinds/skill.js +1 -0
  1082. package/dist/src/reactions/kinds/subagent.d.ts +16 -0
  1083. package/dist/src/reactions/kinds/subagent.js +1 -0
  1084. package/dist/src/reactions/kinds/tool.d.ts +16 -0
  1085. package/dist/src/reactions/kinds/tool.js +1 -0
  1086. package/dist/src/reactions/policy.d.ts +13 -0
  1087. package/dist/src/reactions/policy.js +1 -0
  1088. package/dist/src/reactions/reaction.d.ts +83 -0
  1089. package/dist/src/reactions/reaction.js +1 -0
  1090. package/dist/src/reactions/records.d.ts +40 -0
  1091. package/dist/src/reactions/records.js +1 -0
  1092. package/dist/src/reactions/remote.d.ts +25 -0
  1093. package/dist/src/reactions/remote.js +1 -0
  1094. package/dist/src/reactions/runner.d.ts +45 -0
  1095. package/dist/src/reactions/runner.js +1 -0
  1096. package/dist/src/reactions/state.d.ts +102 -0
  1097. package/dist/src/reactions/state.js +1 -0
  1098. package/dist/src/reactions/turn.d.ts +12 -0
  1099. package/dist/src/reactions/turn.js +2 -0
  1100. package/dist/src/runtime/agent/bootstrap.d.ts +1 -3
  1101. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  1102. package/dist/src/runtime/agent/resolve-model.js +1 -1
  1103. package/dist/src/runtime/connections/mcp-client.d.ts +5 -2
  1104. package/dist/src/runtime/connections/mcp-client.js +1 -1
  1105. package/dist/src/runtime/connections/openapi-client.js +1 -1
  1106. package/dist/src/runtime/connections/openapi-operations.d.ts +4 -0
  1107. package/dist/src/runtime/connections/openapi-operations.js +1 -1
  1108. package/dist/src/runtime/connections/openapi-schema.d.ts +19 -14
  1109. package/dist/src/runtime/connections/openapi-schema.js +1 -1
  1110. package/dist/src/runtime/connections/principal.d.ts +2 -0
  1111. package/dist/src/runtime/connections/principal.js +1 -1
  1112. package/dist/src/runtime/connections/registry.d.ts +2 -2
  1113. package/dist/src/runtime/connections/registry.js +1 -1
  1114. package/dist/src/runtime/connections/scoped-authorization.d.ts +8 -1
  1115. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  1116. package/dist/src/runtime/graph.d.ts +0 -6
  1117. package/dist/src/runtime/local-dev-capability.d.ts +4 -5
  1118. package/dist/src/runtime/local-dev-capability.js +1 -1
  1119. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  1120. package/dist/src/runtime/resolve-agent.js +1 -1
  1121. package/dist/src/runtime/resolve-connection.js +1 -1
  1122. package/dist/src/runtime/resolve-dynamic.d.ts +9 -0
  1123. package/dist/src/runtime/resolve-dynamic.js +1 -0
  1124. package/dist/src/runtime/resolve-hook.js +1 -1
  1125. package/dist/src/runtime/resolve-memory.js +1 -1
  1126. package/dist/src/runtime/resolve-tool.js +1 -1
  1127. package/dist/src/runtime/schedules/collection-client.js +1 -1
  1128. package/dist/src/runtime/schedules/dispatch-occurrence.js +1 -1
  1129. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +0 -2
  1130. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  1131. package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
  1132. package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +16 -3
  1133. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  1134. package/dist/src/runtime/subagents/workflow.js +1 -1
  1135. package/dist/src/runtime/types.d.ts +22 -39
  1136. package/dist/src/sandbox/provider.d.ts +3 -3
  1137. package/dist/src/sandbox/providers/default.d.ts +4 -2
  1138. package/dist/src/sandbox/providers/default.js +1 -1
  1139. package/dist/src/self-modification/agent.d.ts +3 -3
  1140. package/dist/src/self-modification/agent.js +1 -1
  1141. package/dist/src/self-modification/config.d.ts +1 -1
  1142. package/dist/src/self-modification/config.js +1 -1
  1143. package/dist/src/self-modification/deployed-sandbox.js +1 -1
  1144. package/dist/src/self-modification/extension/extension.d.ts +1 -0
  1145. package/dist/src/self-modification/extension/local-only.d.ts +1 -1
  1146. package/dist/src/self-modification/extension/local-only.js +1 -1
  1147. package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +15 -4
  1148. package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
  1149. package/dist/src/self-modification/extension/subagents/agent/instructions.d.ts +1 -1
  1150. package/dist/src/self-modification/extension/subagents/agent/instructions.js +2 -2
  1151. package/dist/src/self-modification/extension/subagents/agent/sandbox.d.ts +2 -2
  1152. package/dist/src/self-modification/extension/subagents/agent/sandbox.js +1 -1
  1153. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.d.ts +3 -3
  1154. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.js +1 -1
  1155. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace.d.ts +1 -1
  1156. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace_spans.d.ts +1 -1
  1157. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.d.ts +1 -1
  1158. package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.d.ts +1 -1
  1159. package/dist/src/self-modification/mode.d.ts +8 -0
  1160. package/dist/src/self-modification/mode.js +1 -1
  1161. package/dist/src/self-modification/remote/config.d.ts +3 -6
  1162. package/dist/src/self-modification/remote/extension.d.ts +1 -0
  1163. package/dist/src/self-modification/remote/production-registry-add.js +1 -1
  1164. package/dist/src/self-modification/remote/subagents/agent/agent.d.ts +6 -3
  1165. package/dist/src/self-modification/remote/subagents/agent/agent.js +1 -1
  1166. package/dist/src/self-modification/remote/subagents/agent/instructions.d.ts +1 -1
  1167. package/dist/src/self-modification/remote/subagents/agent/instructions.js +2 -2
  1168. package/dist/src/self-modification/remote/subagents/agent/tools/publish.d.ts +1 -3
  1169. package/dist/src/self-modification/remote/subagents/agent/tools/publish.js +1 -1
  1170. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.d.ts +1 -3
  1171. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.js +1 -1
  1172. package/dist/src/self-modification/scaffold.js +1 -1
  1173. package/dist/src/self-modification/setup.js +3 -6
  1174. package/dist/src/services/dev-client/client-options.js +1 -1
  1175. package/dist/src/services/dev-client.d.ts +4 -4
  1176. package/dist/src/services/dev-client.js +1 -1
  1177. package/dist/src/setup/integrations/self-modification/setup.d.ts +1 -4
  1178. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  1179. package/dist/src/setup/scaffold/create/project.js +1 -1
  1180. package/dist/src/setup/scaffold/create/web-template.d.ts +9 -18
  1181. package/dist/src/setup/scaffold/create/web-template.js +1015 -2537
  1182. package/dist/src/setup/verified-remote-agent.js +1 -1
  1183. package/dist/src/shared/action-label.d.ts +5 -3
  1184. package/dist/src/shared/action-label.js +1 -1
  1185. package/dist/src/shared/action-types.d.ts +5 -0
  1186. package/dist/src/shared/action-types.js +1 -1
  1187. package/dist/src/shared/agent-definition.d.ts +14 -9
  1188. package/dist/src/shared/answers-delivery-id.d.ts +1 -0
  1189. package/dist/src/shared/answers-delivery-id.js +1 -0
  1190. package/dist/src/shared/channel-context.d.ts +12 -0
  1191. package/dist/src/shared/channel-context.js +1 -0
  1192. package/dist/src/shared/channel-definition.d.ts +19 -26
  1193. package/dist/src/shared/channel-delivery.d.ts +16 -0
  1194. package/dist/src/shared/channel-delivery.js +1 -0
  1195. package/dist/src/shared/connection-events.d.ts +2 -2
  1196. package/dist/src/shared/connection-types.d.ts +12 -32
  1197. package/dist/src/shared/conversation-context.d.ts +4 -13
  1198. package/dist/src/shared/delivery.d.ts +38 -0
  1199. package/dist/src/shared/delivery.js +1 -0
  1200. package/dist/src/shared/history-message.d.ts +190 -0
  1201. package/dist/src/shared/history-message.js +1 -0
  1202. package/dist/src/shared/input.d.ts +23 -97
  1203. package/dist/src/shared/input.js +1 -1
  1204. package/dist/src/shared/instructions-definition.d.ts +2 -8
  1205. package/dist/src/shared/instrumentation-channel-kind.d.ts +1 -1
  1206. package/dist/src/shared/instrumentation-channel.d.ts +12 -0
  1207. package/dist/src/shared/instrumentation-channel.js +1 -0
  1208. package/dist/src/shared/json.d.ts +2 -18
  1209. package/dist/src/shared/memory-state.d.ts +4 -40
  1210. package/dist/src/shared/memory-state.js +1 -1
  1211. package/dist/src/shared/message-content.d.ts +19 -0
  1212. package/dist/src/shared/message-content.js +1 -0
  1213. package/dist/src/shared/network-address.d.ts +9 -0
  1214. package/dist/src/shared/network-address.js +1 -1
  1215. package/dist/src/shared/sandbox-environment.d.ts +2 -2
  1216. package/dist/src/shared/sandbox-provider.d.ts +1 -1
  1217. package/dist/src/shared/sandbox-session.d.ts +60 -85
  1218. package/dist/src/shared/schedule-definition.d.ts +5 -5
  1219. package/dist/src/shared/serialized-observability-state.d.ts +0 -2
  1220. package/dist/src/shared/serialized-observability-state.js +1 -1
  1221. package/dist/src/shared/session-history.d.ts +2 -2
  1222. package/dist/src/shared/session.d.ts +22 -0
  1223. package/dist/src/shared/session.js +1 -0
  1224. package/dist/src/shared/skill-definition.d.ts +1 -1
  1225. package/dist/src/shared/skill-package.d.ts +2 -2
  1226. package/dist/src/shared/skill-package.js +1 -1
  1227. package/dist/src/shared/token-usage-math.d.ts +5 -0
  1228. package/dist/src/shared/token-usage-math.js +1 -0
  1229. package/dist/src/shared/token-usage.d.ts +0 -2
  1230. package/dist/src/shared/token-usage.js +1 -1
  1231. package/dist/src/shared/validate-authorization.js +1 -1
  1232. package/dist/src/shared/wait-with-signal.d.ts +2 -0
  1233. package/dist/src/shared/wait-with-signal.js +1 -0
  1234. package/dist/src/subagents/adapter.d.ts +3 -5
  1235. package/dist/src/subagents/adapter.js +1 -1
  1236. package/dist/src/subagents/callback-route.js +1 -1
  1237. package/dist/src/subagents/event-proxy-step.d.ts +6 -9
  1238. package/dist/src/subagents/event-proxy-step.js +1 -1
  1239. package/dist/src/subagents/hitl-proxy.d.ts +11 -23
  1240. package/dist/src/subagents/hitl-proxy.js +1 -1
  1241. package/dist/src/subagents/invocation.d.ts +8 -8
  1242. package/dist/src/subagents/invocation.js +2 -2
  1243. package/dist/src/subagents/parent-notification.d.ts +5 -0
  1244. package/dist/src/subagents/parent-notification.js +1 -1
  1245. package/dist/src/subagents/protocol-two-callback.d.ts +27 -0
  1246. package/dist/src/subagents/protocol-two-callback.js +1 -0
  1247. package/dist/src/svelte/index.d.ts +3 -6
  1248. package/dist/src/svelte/index.js +2 -39
  1249. package/dist/src/svelte/use-eve-agent.d.ts +67 -56
  1250. package/dist/src/svelte/use-eve-agent.js +1 -1
  1251. package/dist/src/tool-stubs/rules.js +1 -1
  1252. package/dist/src/tools/approval/policies.d.ts +4 -16
  1253. package/dist/src/tools/approval/policies.js +1 -1
  1254. package/dist/src/tools/auth.d.ts +3 -3
  1255. package/dist/src/tools/definition.d.ts +13 -35
  1256. package/dist/src/tools/definition.js +1 -1
  1257. package/dist/src/tools/dynamic.d.ts +13 -72
  1258. package/dist/src/tools/dynamic.js +1 -1
  1259. package/dist/src/tools/framework/agent.js +1 -1
  1260. package/dist/src/tools/provided/ask-question-workflow.d.ts +3 -3
  1261. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  1262. package/dist/src/tools/provided/ask-question.d.ts +2 -2
  1263. package/dist/src/tools/provided/ask-question.js +1 -1
  1264. package/dist/src/tools/provided/grep.d.ts +2 -15
  1265. package/dist/src/tools/provided/grep.js +1 -2
  1266. package/dist/src/tools/provided/no-reply.d.ts +2 -2
  1267. package/dist/src/tools/provided/no-reply.js +1 -1
  1268. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  1269. package/dist/src/tools/provided/sleep.d.ts +2 -2
  1270. package/dist/src/tools/provided/sleep.js +1 -1
  1271. package/dist/src/tools/provided/workflow.js +1 -1
  1272. package/dist/src/tools/schema.d.ts +2 -0
  1273. package/dist/src/tools/schema.js +1 -1
  1274. package/dist/src/tools/signature.js +1 -1
  1275. package/dist/src/tools/workflow-definition.d.ts +17 -15
  1276. package/dist/src/tracing/eve/agent-approval-instrumentation.d.ts +1 -1
  1277. package/dist/src/tracing/eve/agent-approval-instrumentation.js +1 -1
  1278. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.d.ts +2 -2
  1279. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.js +1 -1
  1280. package/dist/src/tracing/eve/agent-invocation-coordinator.d.ts +2 -2
  1281. package/dist/src/tracing/eve/agent-otel-provider.js +1 -1
  1282. package/dist/src/tracing/eve/agent-tool-instrumentation.d.ts +6 -7
  1283. package/dist/src/tracing/eve/agent-tool-instrumentation.js +1 -1
  1284. package/dist/src/tracing/eve/agent-trace-context-store.d.ts +3 -3
  1285. package/dist/src/tracing/eve/agent-trace-state.d.ts +1 -6
  1286. package/dist/src/tracing/eve/delegation.d.ts +4 -4
  1287. package/dist/src/tracing/eve/install-instrumentation-runtime.js +1 -1
  1288. package/dist/src/tracing/eve/invoke-tool-span.d.ts +3 -2
  1289. package/dist/src/tracing/eve/invoke-tool-span.js +1 -1
  1290. package/dist/src/tracing/eve/otel-declaration.d.ts +9 -10
  1291. package/dist/src/tracing/eve/otel-declaration.js +1 -1
  1292. package/dist/src/tracing/eve/policy.d.ts +2 -2
  1293. package/dist/src/tracing/eve/policy.js +1 -1
  1294. package/dist/src/tracing/eve/session.d.ts +4 -3
  1295. package/dist/src/tracing/eve/session.js +1 -1
  1296. package/dist/src/vue/index.d.ts +3 -6
  1297. package/dist/src/vue/index.js +2 -39
  1298. package/dist/src/vue/use-eve-agent.d.ts +70 -59
  1299. package/dist/src/vue/use-eve-agent.js +1 -1
  1300. package/docs/agent-config.md +40 -44
  1301. package/docs/channels/chat-sdk.mdx +19 -13
  1302. package/docs/channels/custom.mdx +106 -85
  1303. package/docs/channels/discord.mdx +12 -12
  1304. package/docs/channels/eve.mdx +48 -15
  1305. package/docs/channels/github.mdx +2 -2
  1306. package/docs/channels/linear.mdx +8 -8
  1307. package/docs/channels/linq.mdx +1 -1
  1308. package/docs/channels/mcp.mdx +2 -2
  1309. package/docs/channels/overview.mdx +11 -1
  1310. package/docs/channels/photon.mdx +1 -1
  1311. package/docs/channels/slack.mdx +65 -58
  1312. package/docs/channels/teams.mdx +4 -4
  1313. package/docs/channels/telegram.mdx +1 -1
  1314. package/docs/channels/twilio.mdx +2 -2
  1315. package/docs/code-extension.mdx +19 -7
  1316. package/docs/concepts/built-in-tools.md +21 -9
  1317. package/docs/concepts/context-control.md +5 -8
  1318. package/docs/concepts/default-harness.md +8 -9
  1319. package/docs/concepts/execution-model-and-durability.mdx +119 -12
  1320. package/docs/concepts/meta.json +1 -0
  1321. package/docs/concepts/sessions-runs-and-streaming.md +244 -138
  1322. package/docs/concepts/state.md +1 -1
  1323. package/docs/concepts/upgrade-to-v27-events.md +128 -0
  1324. package/docs/connections/mcp.mdx +38 -34
  1325. package/docs/connections/openapi.mdx +24 -3
  1326. package/docs/connections/overview.mdx +66 -57
  1327. package/docs/evals/assertions.mdx +30 -24
  1328. package/docs/evals/cases.mdx +19 -24
  1329. package/docs/evals/judge.mdx +2 -2
  1330. package/docs/evals/overview.mdx +7 -7
  1331. package/docs/evals/reporters.mdx +15 -11
  1332. package/docs/evals/targets.mdx +5 -3
  1333. package/docs/evals/tool-stubs.mdx +2 -2
  1334. package/docs/extensions.md +6 -3
  1335. package/docs/guides/auth-and-route-protection.md +4 -0
  1336. package/docs/guides/client/continuations.mdx +10 -10
  1337. package/docs/guides/client/messages.mdx +50 -48
  1338. package/docs/guides/client/output-schema.mdx +13 -13
  1339. package/docs/guides/client/overview.mdx +12 -12
  1340. package/docs/guides/client/streaming.mdx +160 -123
  1341. package/docs/guides/decide.md +15 -9
  1342. package/docs/guides/deployment/self-hosting.md +5 -40
  1343. package/docs/guides/dynamic-capabilities.md +151 -406
  1344. package/docs/guides/frontend/nextjs.mdx +1 -1
  1345. package/docs/guides/frontend/nuxt.mdx +2 -2
  1346. package/docs/guides/frontend/overview.mdx +257 -181
  1347. package/docs/guides/frontend/sveltekit.mdx +4 -4
  1348. package/docs/guides/frontend/tanstack.mdx +5 -5
  1349. package/docs/guides/frontend/use-eve-agent-svelte.mdx +30 -38
  1350. package/docs/guides/frontend/use-eve-agent-vue.mdx +35 -36
  1351. package/docs/guides/hooks.md +67 -55
  1352. package/docs/guides/instrumentation/instrumentation.mdx +33 -27
  1353. package/docs/guides/instrumentation/otel.mdx +4 -2
  1354. package/docs/guides/remote-agents.md +116 -50
  1355. package/docs/guides/self-modification.md +11 -7
  1356. package/docs/instructions.mdx +4 -6
  1357. package/docs/memory/custom-provider.md +63 -56
  1358. package/docs/memory/file.md +1 -1
  1359. package/docs/memory/overview.mdx +10 -18
  1360. package/docs/patterns/durable-cross-channel-notifications.md +4 -3
  1361. package/docs/patterns/multi-tenant-approvals.md +3 -3
  1362. package/docs/patterns/multi-tenant-auth.md +3 -3
  1363. package/docs/patterns/multi-tenant-memory.md +6 -7
  1364. package/docs/patterns/voice-notes.md +1 -1
  1365. package/docs/reference/cli.md +11 -25
  1366. package/docs/reference/typescript-api.md +88 -61
  1367. package/docs/sandbox/custom-providers.mdx +13 -14
  1368. package/docs/sandbox/default.mdx +1 -1
  1369. package/docs/sandbox/docker.mdx +10 -0
  1370. package/docs/sandbox/index.mdx +4 -0
  1371. package/docs/sandbox/vercel.mdx +6 -6
  1372. package/docs/schedules.mdx +4 -4
  1373. package/docs/skills.mdx +6 -6
  1374. package/docs/subagents/index.mdx +25 -34
  1375. package/docs/tools/human-in-the-loop.md +42 -34
  1376. package/docs/tools/overview.mdx +14 -12
  1377. package/docs/tools/tasks-upgrade.md +13 -1
  1378. package/docs/tools/tasks.md +58 -89
  1379. package/docs/tools/workflows.mdx +44 -33
  1380. package/docs/tutorial/guard-the-spend.mdx +1 -1
  1381. package/docs/tutorial/run-analysis.mdx +15 -12
  1382. package/docs/tutorial/team-playbooks.mdx +19 -23
  1383. package/package.json +148 -93
  1384. package/dist/src/chunks/use-eve-agent-DnbG9c7c.js +0 -4921
  1385. package/dist/src/chunks/use-eve-agent-ZY7NQ2VW.js +0 -4963
  1386. package/dist/src/cli/invoke/command.d.ts +0 -19
  1387. package/dist/src/cli/invoke/command.js +0 -1
  1388. package/dist/src/cli/invoke/invoke.d.ts +0 -27
  1389. package/dist/src/cli/invoke/invoke.js +0 -1
  1390. package/dist/src/cli/invoke/result.d.ts +0 -137
  1391. package/dist/src/cli/invoke/result.js +0 -1
  1392. package/dist/src/client/agent-host.d.ts +0 -4
  1393. package/dist/src/client/agent-host.js +0 -1
  1394. package/dist/src/client/authorization-message-parts.d.ts +0 -4
  1395. package/dist/src/client/authorization-message-parts.js +0 -1
  1396. package/dist/src/client/conversation-projection.d.ts +0 -4
  1397. package/dist/src/client/conversation-projection.js +0 -1
  1398. package/dist/src/client/conversation-reducer.d.ts +0 -29
  1399. package/dist/src/client/conversation-reducer.js +0 -1
  1400. package/dist/src/client/eve-agent-projection.d.ts +0 -28
  1401. package/dist/src/client/eve-agent-projection.js +0 -1
  1402. package/dist/src/client/eve-agent-store-helpers.d.ts +0 -34
  1403. package/dist/src/client/eve-agent-store-helpers.js +0 -2
  1404. package/dist/src/client/eve-agent-store-state.d.ts +0 -96
  1405. package/dist/src/client/eve-agent-store.d.ts +0 -45
  1406. package/dist/src/client/eve-agent-store.js +0 -1
  1407. package/dist/src/client/message-action-parts.d.ts +0 -37
  1408. package/dist/src/client/message-action-parts.js +0 -1
  1409. package/dist/src/client/message-reducer-primitives.d.ts +0 -6
  1410. package/dist/src/client/message-reducer-primitives.js +0 -1
  1411. package/dist/src/client/message-reducer-types.d.ts +0 -244
  1412. package/dist/src/client/message-reducer.d.ts +0 -14
  1413. package/dist/src/client/message-reducer.js +0 -1
  1414. package/dist/src/client/message-response.d.ts +0 -74
  1415. package/dist/src/client/message-response.js +0 -1
  1416. package/dist/src/client/message-run-parts.d.ts +0 -22
  1417. package/dist/src/client/message-run-parts.js +0 -1
  1418. package/dist/src/client/output-schema.d.ts +0 -5
  1419. package/dist/src/client/output-schema.js +0 -1
  1420. package/dist/src/client/reducer.d.ts +0 -67
  1421. package/dist/src/client/session-turn-dispatch.d.ts +0 -15
  1422. package/dist/src/client/session-turn-dispatch.js +0 -1
  1423. package/dist/src/client/tool-call-state.d.ts +0 -23
  1424. package/dist/src/client/tool-call-state.js +0 -1
  1425. package/dist/src/client/tool-part-state.d.ts +0 -7
  1426. package/dist/src/client/tool-part-state.js +0 -1
  1427. package/dist/src/client/transcript-reducer.d.ts +0 -49
  1428. package/dist/src/client/transcript-reducer.js +0 -2
  1429. package/dist/src/context/build-dynamic-tools.d.ts +0 -10
  1430. package/dist/src/context/build-dynamic-tools.js +0 -1
  1431. package/dist/src/context/dynamic-connection-lifecycle.d.ts +0 -15
  1432. package/dist/src/context/dynamic-connection-lifecycle.js +0 -1
  1433. package/dist/src/context/dynamic-instruction-lifecycle.d.ts +0 -31
  1434. package/dist/src/context/dynamic-instruction-lifecycle.js +0 -1
  1435. package/dist/src/context/dynamic-model-lifecycle.d.ts +0 -19
  1436. package/dist/src/context/dynamic-model-lifecycle.js +0 -1
  1437. package/dist/src/context/dynamic-resolve-context.d.ts +0 -12
  1438. package/dist/src/context/dynamic-resolve-context.js +0 -1
  1439. package/dist/src/context/dynamic-skill-lifecycle.d.ts +0 -15
  1440. package/dist/src/context/dynamic-skill-lifecycle.js +0 -1
  1441. package/dist/src/context/dynamic-subagent-lifecycle.d.ts +0 -27
  1442. package/dist/src/context/dynamic-subagent-lifecycle.js +0 -1
  1443. package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -46
  1444. package/dist/src/context/dynamic-tool-lifecycle.js +0 -1
  1445. package/dist/src/context/dynamic-tool-metadata.d.ts +0 -47
  1446. package/dist/src/context/dynamic-tool-metadata.js +0 -1
  1447. package/dist/src/context/effective-model.d.ts +0 -5
  1448. package/dist/src/context/effective-model.js +0 -1
  1449. package/dist/src/context/hook-lifecycle.d.ts +0 -15
  1450. package/dist/src/context/hook-lifecycle.js +0 -1
  1451. package/dist/src/context/memory-event-lifecycle.d.ts +0 -15
  1452. package/dist/src/context/memory-event-lifecycle.js +0 -1
  1453. package/dist/src/context/memory-lifecycle.d.ts +0 -47
  1454. package/dist/src/context/memory-lifecycle.js +0 -1
  1455. package/dist/src/context/serialized-dynamic-model-selection.d.ts +0 -2
  1456. package/dist/src/context/serialized-dynamic-model-selection.js +0 -1
  1457. package/dist/src/execution/cancel-descendant-turns-step.d.ts +0 -6
  1458. package/dist/src/execution/cancel-descendant-turns-step.js +0 -1
  1459. package/dist/src/execution/dynamic-connection-recovery.d.ts +0 -14
  1460. package/dist/src/execution/dynamic-connection-recovery.js +0 -1
  1461. package/dist/src/execution/dynamic-connections.d.ts +0 -12
  1462. package/dist/src/execution/dynamic-connections.js +0 -1
  1463. package/dist/src/execution/history-view.d.ts +0 -10
  1464. package/dist/src/execution/history-view.js +0 -1
  1465. package/dist/src/execution/legacy-remote-agent/protocol.d.ts +0 -49
  1466. package/dist/src/execution/legacy-remote-agent/protocol.js +0 -1
  1467. package/dist/src/execution/runtime-errors.d.ts +0 -13
  1468. package/dist/src/execution/runtime-errors.js +0 -1
  1469. package/dist/src/execution/sandbox/grep-tool.d.ts +0 -26
  1470. package/dist/src/execution/sandbox/grep-tool.js +0 -3
  1471. package/dist/src/execution/session/turn-waiting-step.d.ts +0 -4
  1472. package/dist/src/execution/session/turn-waiting-step.js +0 -1
  1473. package/dist/src/execution/tools/workflow/cancel.d.ts +0 -13
  1474. package/dist/src/execution/tools/workflow/cancel.js +0 -1
  1475. package/dist/src/execution/workflow-trace-context.d.ts +0 -8
  1476. package/dist/src/execution/workflow-trace-context.js +0 -1
  1477. package/dist/src/extensions/code/extension/instructions/github.d.ts +0 -3
  1478. package/dist/src/extensions/code/extension/instructions/github.js +0 -1
  1479. package/dist/src/extensions/code/extension/lib/github-compat.d.ts +0 -28
  1480. package/dist/src/extensions/code/extension/lib/github-compat.js +0 -1
  1481. package/dist/src/extensions/code/extension/lib/grep-search.js +0 -6
  1482. package/dist/src/extensions/code/extension/skills/pr.d.ts +0 -6
  1483. package/dist/src/extensions/code/extension/skills/pr.js +0 -1
  1484. package/dist/src/extensions/code/extension/tools/gh.d.ts +0 -28
  1485. package/dist/src/extensions/code/extension/tools/gh.js +0 -1
  1486. package/dist/src/harness/approval-recheck.d.ts +0 -7
  1487. package/dist/src/harness/approval-recheck.js +0 -1
  1488. package/dist/src/harness/authorization-event-fields.d.ts +0 -16
  1489. package/dist/src/harness/authorization-event-fields.js +0 -1
  1490. package/dist/src/harness/hitl/candidates.d.ts +0 -139
  1491. package/dist/src/harness/hitl/candidates.js +0 -1
  1492. package/dist/src/harness/hitl/coordinator.d.ts +0 -35
  1493. package/dist/src/harness/hitl/coordinator.js +0 -1
  1494. package/dist/src/harness/input-extraction.d.ts +0 -13
  1495. package/dist/src/harness/input-extraction.js +0 -1
  1496. package/dist/src/harness/input-request-class.d.ts +0 -3
  1497. package/dist/src/harness/input-request-class.js +0 -1
  1498. package/dist/src/harness/input-request-resolution.d.ts +0 -39
  1499. package/dist/src/harness/input-request-resolution.js +0 -1
  1500. package/dist/src/harness/open-input-request.d.ts +0 -8
  1501. package/dist/src/harness/open-input-request.js +0 -1
  1502. package/dist/src/harness/session-machine/events.d.ts +0 -6
  1503. package/dist/src/harness/session-machine/events.js +0 -1
  1504. package/dist/src/harness/session-machine/resolver-events.d.ts +0 -12
  1505. package/dist/src/harness/session-machine/resolver-events.js +0 -1
  1506. package/dist/src/harness/tool-call-action.d.ts +0 -9
  1507. package/dist/src/harness/tool-call-action.js +0 -1
  1508. package/dist/src/harness/tool-interrupts.d.ts +0 -22
  1509. package/dist/src/harness/tool-interrupts.js +0 -1
  1510. package/dist/src/harness/tool-presentation.d.ts +0 -5
  1511. package/dist/src/harness/tool-presentation.js +0 -1
  1512. package/dist/src/harness/turn-tag-state.d.ts +0 -115
  1513. package/dist/src/harness/turn-tag-state.js +0 -1
  1514. package/dist/src/internal/dynamic-tool-rebind.d.ts +0 -3
  1515. package/dist/src/internal/dynamic-tool-rebind.js +0 -1
  1516. package/dist/src/internal/nitro/host/extension-capability-requirements.d.ts +0 -14
  1517. package/dist/src/internal/nitro/host/extension-capability-requirements.js +0 -1
  1518. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.d.ts +0 -12
  1519. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +0 -1
  1520. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.d.ts +0 -7
  1521. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.js +0 -3
  1522. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.d.ts +0 -79
  1523. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.js +0 -1
  1524. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -14
  1525. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +0 -3
  1526. package/dist/src/protocol/event-dedupe.d.ts +0 -26
  1527. package/dist/src/protocol/event-dedupe.js +0 -1
  1528. package/dist/src/protocol/event-id.d.ts +0 -10
  1529. package/dist/src/protocol/event-id.js +0 -1
  1530. package/dist/src/protocol/message-version.d.ts +0 -53
  1531. package/dist/src/protocol/message-version.js +0 -1
  1532. package/dist/src/protocol/message.d.ts +0 -1198
  1533. package/dist/src/protocol/message.js +0 -2
  1534. package/dist/src/public/channels/chat-sdk/messageToUserContent.js +0 -1
  1535. package/dist/src/public/channels/slack/input-response.js +0 -1
  1536. package/dist/src/runtime/hooks/registry.d.ts +0 -34
  1537. package/dist/src/runtime/hooks/registry.js +0 -1
  1538. package/dist/src/runtime/resolve-dynamic-connection.d.ts +0 -5
  1539. package/dist/src/runtime/resolve-dynamic-connection.js +0 -1
  1540. package/dist/src/runtime/resolve-dynamic-instructions.d.ts +0 -4
  1541. package/dist/src/runtime/resolve-dynamic-instructions.js +0 -1
  1542. package/dist/src/runtime/resolve-dynamic-skill.d.ts +0 -8
  1543. package/dist/src/runtime/resolve-dynamic-skill.js +0 -1
  1544. package/dist/src/runtime/resolve-dynamic-subagent.d.ts +0 -9
  1545. package/dist/src/runtime/resolve-dynamic-subagent.js +0 -1
  1546. package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -12
  1547. package/dist/src/runtime/resolve-dynamic-tool.js +0 -1
  1548. package/dist/src/self-modification/migration.d.ts +0 -9
  1549. package/dist/src/self-modification/migration.js +0 -28
  1550. package/dist/src/shared/history-view.d.ts +0 -22
  1551. package/dist/src/shared/history-view.js +0 -1
  1552. package/dist/src/shared/package-version.d.ts +0 -2
  1553. package/dist/src/shared/package-version.js +0 -1
  1554. package/dist/src/tools/durable-callbacks.d.ts +0 -118
  1555. package/dist/src/tools/durable-callbacks.js +0 -1
  1556. package/dist/src/tools/durable-schema.d.ts +0 -16
  1557. package/dist/src/tools/durable-schema.js +0 -1
  1558. /package/dist/src/{client/eve-agent-store-state.js → ai/decision-types.js} +0 -0
  1559. /package/dist/src/client/{message-reducer-types.js → agent-info-types.js} +0 -0
  1560. /package/dist/src/client/{reducer.js → health-types.js} +0 -0
  1561. /package/dist/src/{shared → protocol/session-projection}/display-name.d.ts +0 -0
  1562. /package/dist/src/{shared → protocol/session-projection}/display-name.js +0 -0
@@ -1,60 +1,71 @@
1
- import { type EveAgentStoreCallbacks, type EveAgentStoreSnapshot, type EveAgentStoreStatus, type PrepareSend } from "#client/eve-agent-store.js";
2
- import type { EveAgentReducer } from "#client/reducer.js";
1
+ import type { Delivery } from "#shared/delivery.js";
2
+ import type { SessionStreamEvent } from "#protocol/session-event.js";
3
+ import { type SessionStoreCallbacks, type SessionStoreInit, type SessionStoreSnapshot, type SessionStoreStatus, type PrepareSend } from "#client/session-store.js";
3
4
  import type { ClientSession } from "#client/session.js";
4
- import type { ConversationState } from "#client/conversation-state.js";
5
- import type { MessageStreamEvent } from "#protocol/message.js";
6
- import type { UserContent } from "ai";
7
- import type { CancelSessionResult, ClientAuth, HeadersValue, RespondTurnOptions, SendTurnOptions, ClientSessionState } from "#client/types.js";
5
+ import type { MessageContent } from "#shared/message-content.js";
6
+ import type { ClientAuth, HeadersValue, RespondTurnOptions, SendTurnOptions, ClientSessionState } from "#client/types.js";
8
7
  export type { PrepareSend };
9
8
  /**
10
- * Lifecycle status of an eve agent session.
9
+ * Outstanding work this binding has observed or still owes. Failures are reported separately in
10
+ * `error`.
11
11
  *
12
- * - `"ready"`: idle, accepting a new turn.
13
- * - `"resuming"`: checking an attached session for events; submission is disabled.
14
- * - `"submitted"`: a turn was sent, no stream events received yet.
15
- * - `"streaming"`: stream events are arriving for the active turn.
16
- * - `"error"`: the last turn ended in a terminal failure (see `snapshot.error`).
12
+ * - `"idle"`: no command, answer, or followed receipt is pending, and the last observed view is
13
+ * idle. A turn waiting only on a person can still be open; read `activeTurn(view)`.
14
+ * - `"resuming"`: catching up on an attached session; submission is disabled.
15
+ * - `"busy"`: a send, answer, or control command is pending, a followed receipt has not settled,
16
+ * or the session has running or queued work.
17
+ *
18
+ * After `followWhile` closes the stream, `status` reflects the last observed view, not the
19
+ * current server state.
17
20
  */
18
- export type UseEveAgentStatus = EveAgentStoreStatus;
21
+ export type UseEveAgentStatus = SessionStoreStatus;
19
22
  /**
20
- * Snapshot of an eve agent session: `conversation` (canonical state), `data`
21
- * (the selected view), `events` (the authoritative server stream), `session`
22
- * (resumable cursor), `status`, and `error`.
23
+ * Snapshot of an eve agent session: the conversation (`messages`, `agents`, `view`),
24
+ * `events` (the authoritative server stream), `session` (resumable cursor),
25
+ * `status`, and `error`.
23
26
  */
24
- export type UseEveAgentSnapshot<TData> = EveAgentStoreSnapshot<TData>;
27
+ export type UseEveAgentSnapshot = SessionStoreSnapshot;
25
28
  /**
26
29
  * Snapshot plus commands returned by `useEveAgent`.
27
30
  */
28
- export interface UseEveAgentHelpers<TData> extends UseEveAgentSnapshot<TData> {
29
- /** Requests durable cancellation of the active turn while continuing to receive its events. */
30
- readonly cancel: () => Promise<CancelSessionResult>;
31
- /** Replays the attached durable session and follows its in-flight turn, if any. */
31
+ export interface UseEveAgentReturn extends UseEveAgentSnapshot {
32
+ /**
33
+ * Requests durable cancellation of the active turn while continuing to receive its events.
34
+ * Offer it while `activeTurn(view)` returns a turn, including one waiting on a person.
35
+ */
36
+ readonly cancel: () => Promise<Delivery>;
37
+ /** Follow a same-session delivery receipt from this or another store until settlement. */
38
+ readonly follow: (receipt: Pick<Delivery, "sessionId" | "deliveryId">) => void;
39
+ /** Resolves at the durable tail; subsequent following obeys `followWhile`. */
32
40
  readonly resume: () => Promise<void>;
33
41
  /** Creates the session without starting its first turn. */
34
42
  readonly prewarm: () => Promise<void>;
35
43
  /** Resets the session: detaches any local stream and clears events and projected data. */
36
- readonly reset: () => void;
37
- /** Sends a message. While a turn is active, pass `turnPolicy: "steer"` to replace it. */
38
- readonly send: <TOutput = unknown>(message: string | UserContent, options?: SendTurnOptions<TOutput>) => Promise<void>;
39
- /** Answers pending HITL input requests. Rejects if a turn is already in flight. */
40
- readonly respond: <TOutput = unknown>(inputResponses: Parameters<ClientSession["respond"]>[0], options?: RespondTurnOptions<TOutput>) => Promise<void>;
44
+ readonly newSession: () => void;
45
+ readonly reset: () => Promise<Delivery>;
46
+ readonly clear: () => Promise<Delivery>;
47
+ readonly compact: () => Promise<Delivery>;
48
+ /** Resolves on acceptance. Use `turnPolicy` to steer or queue during a running turn. */
49
+ readonly send: <TOutput = unknown>(message: MessageContent, options?: SendTurnOptions<TOutput>) => Promise<Delivery<TOutput>>;
50
+ /** Submits answers to open interactions and resolves on acceptance, not execution. */
51
+ readonly respond: <TOutput = unknown>(answers: Parameters<ClientSession["respond"]>[0], options?: RespondTurnOptions<TOutput>) => Promise<Delivery<TOutput>>;
41
52
  }
42
53
  /**
43
54
  * Configuration for creating or binding a React eve agent session.
44
55
  *
45
56
  * Session configuration is read when the hook creates its internal store;
46
- * remount the component to point at a different host, reducer, or session.
57
+ * remount the component to point at a different base URL or session.
47
58
  * Lifecycle callbacks update on every render.
48
59
  *
49
60
  * For credentials or headers that must change without remounting, pass function
50
61
  * values to `auth` or `headers`; the client resolves those before each request.
51
62
  */
52
- export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData> {
63
+ export interface UseEveAgentOptions extends SessionStoreCallbacks {
53
64
  /**
54
65
  * Named agent mounted by a framework integration such as `withEve({ agents })`.
55
66
  *
56
67
  * `agent: "support"` targets same-origin routes under
57
- * `/eve/support/v1/...`. Do not combine with `host`.
68
+ * `/eve/support/v1/...`. Do not combine with `baseUrl`.
58
69
  */
59
70
  readonly agent?: string;
60
71
  readonly auth?: ClientAuth;
@@ -68,32 +79,29 @@ export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData>
68
79
  *
69
80
  * @default ""
70
81
  */
71
- readonly host?: string;
82
+ readonly baseUrl?: string;
72
83
  /** Ordered prefix of the session stream used to rehydrate projected state. */
73
- readonly initialEvents?: readonly MessageStreamEvent[];
84
+ readonly initialEvents?: readonly SessionStreamEvent[];
74
85
  readonly initialSession?: ClientSessionState;
75
86
  /**
76
87
  * Project submitted user messages before eve confirms them with a
77
- * `message.received` stream event.
88
+ * `delivery.consumed` fact.
78
89
  *
79
- * Optimistic events are reducer-facing projection events only. They are not
80
- * exposed through `events`, which remains the authoritative eve stream.
90
+ * Such a message shows in `messages` only; `events` remains the
91
+ * authoritative eve stream.
81
92
  *
82
93
  * @default true
83
94
  */
84
95
  readonly optimistic?: boolean;
85
- /** Follow each subagent call's session into `conversation.agents` while mounted. @default false */
86
- readonly followSubagents?: boolean;
87
- /**
88
- * Keep the session stream open between turns to show events that arrive from schedules,
89
- * channels, or other clients. Set to false to close it once the session is idle and reopen it
90
- * on the next send, answer, or resume. @default true
91
- */
92
- readonly followIdle?: boolean;
96
+ /** Recursively observe recorded children, or select relationships with a predicate, within store safety limits. @default false */
97
+ readonly followAgents?: SessionStoreInit["followAgents"];
98
+ /** Keep following while the committed view matches; local obligations always keep the stream open. @default () => true */
99
+ readonly followWhile?: (view: SessionStoreSnapshot["view"]) => boolean;
93
100
  /**
94
- * Create a session or prepare its existing idle owner when true. React observes this value across renders;
95
- * changing it from false to true prepares the current session, and reset checks
96
- * the latest rendered value before preparing the next session.
101
+ * Create a session or prepare its existing idle owner when true. React observes
102
+ * this value across renders; changing it from false to true prepares the current
103
+ * session, and `newSession()` checks the latest rendered value before preparing
104
+ * the next session.
97
105
  *
98
106
  * Changing the value to false does not discard an existing session or abort
99
107
  * session creation already in flight.
@@ -101,7 +109,6 @@ export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData>
101
109
  * @default false
102
110
  */
103
111
  readonly prewarm?: boolean;
104
- readonly reducer?: EveAgentReducer<TData>;
105
112
  /**
106
113
  * Replay the attached durable session after mount and follow its in-flight
107
114
  * turn, if any. Requires `initialSession` or `session`.
@@ -111,7 +118,18 @@ export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData>
111
118
  readonly resume?: boolean;
112
119
  readonly session?: ClientSession;
113
120
  }
114
- export declare function useEveAgent(options?: UseEveAgentOptions<ConversationState>): UseEveAgentHelpers<ConversationState>;
115
- export declare function useEveAgent<TData>(options: UseEveAgentOptions<TData> & {
116
- readonly reducer: EveAgentReducer<TData>;
117
- }): UseEveAgentHelpers<TData>;
121
+ /**
122
+ * React hook that drives an eve session and projects its event stream into UI data.
123
+ *
124
+ * Returns the current snapshot (the conversation's `messages`, `agents`, and `view`, plus
125
+ * `events`, `session`, `status`, and `error`) and the commands `prewarm`, `send`, `respond`,
126
+ * `resume`, `cancel`, `newSession`, and `reset`. Read lifecycle from `view` with selectors
127
+ * from `eve/events`.
128
+ *
129
+ * Session-shaping options (`baseUrl`, `session`, `initialEvents`,
130
+ * `initialSession`, `auth`, `headers`, `optimistic`, `resume`) are read once
131
+ * when the store is created; remount to change them. `prewarm` and lifecycle
132
+ * callbacks (`onError`, `onEvent`, `onFinish`, `onSessionChange`, `prepareSend`)
133
+ * and `followWhile` refresh on every render.
134
+ */
135
+ export declare function useEveAgent(options?: UseEveAgentOptions): UseEveAgentReturn;
@@ -1 +1 @@
1
- import{EveAgentStore,attachEveAgentStore,detachEveAgentStore}from"#client/eve-agent-store.js";import{conversationReducer}from"#client/conversation-reducer.js";import{useCallback,useEffect,useMemo,useRef,useState,useSyncExternalStore}from"react";import{resolveEveAgentHost}from"#client/agent-host.js";function useEveAgent(e={}){let t=useRef(void 0),n=useRef(!1),r=useRef(e.resume??!1),[i,a]=useState(r.current),[o,s]=useState(0),c=e.prewarm??!1;if(!t.current){if(r.current&&e.initialSession===void 0&&e.session===void 0)throw Error(`useEveAgent({ resume: true }) requires initialSession or session.`);let n=e.reducer??conversationReducer;t.current=new EveAgentStore({auth:e.auth,headers:e.headers,host:resolveEveAgentHost({agent:e.agent,host:e.host}),initialEvents:e.initialEvents,initialSession:e.initialSession,optimistic:e.optimistic,followSubagents:e.followSubagents,followIdle:e.followIdle,reducer:n,session:e.session})}let l=t.current;l.setCallbacks({onError:e.onError,onEvent:e.onEvent,onFinish:e.onFinish,onSessionChange:e.onSessionChange,prepareSend:e.prepareSend});let u=useCallback(e=>l.subscribe(e),[l]),d=useSyncExternalStore(u,()=>l.snapshot,()=>l.snapshot);useEffect(()=>{n.current=!0;let e=setTimeout(()=>attachEveAgentStore(l),0);return()=>{n.current=!1,clearTimeout(e),queueMicrotask(()=>{n.current||detachEveAgentStore(l)})}},[l]),useEffect(()=>{if(!c)return;let e=setTimeout(()=>void l.prewarm().catch(()=>{}),0);return()=>clearTimeout(e)},[o,c,l]),useEffect(()=>{if(!r.current)return;let e=!0,finish=()=>{e&&a(!1)},t=setTimeout(()=>void l.resume().then(finish,finish),0);return()=>{e=!1,clearTimeout(t)}},[l]);let f=useCallback(()=>l.cancel(),[l]),p=useCallback(()=>{l.reset(),s(e=>e+1)},[l]),m=useCallback(()=>l.prewarm(),[l]),h=useCallback(()=>l.resume(),[l]),g=useCallback((e,t)=>l.send({...t,message:e}),[l]),_=useCallback((e,t)=>l.send({...t,inputResponses:e}),[l]),v=i&&d.status===`ready`?{...d,status:`resuming`}:d;return useMemo(()=>({...v,cancel:f,prewarm:m,reset:p,respond:_,resume:h,send:g}),[f,m,p,_,h,g,v])}export{useEveAgent};
1
+ import{SessionStore,attachSessionStore,detachSessionStore}from"#client/session-store.js";import{useCallback,useEffect,useMemo,useRef,useState,useSyncExternalStore}from"react";import{resolveEveAgentBaseUrl}from"#client/agent-base-url.js";function useEveAgent(e={}){let t=useRef(void 0),n=useRef(e.followWhile);n.current=e.followWhile;let r=useRef(!1),i=useRef(e.resume??!1),[a,o]=useState(i.current),[s,c]=useState(0),l=e.prewarm??!1;if(!t.current){if(i.current&&e.initialSession===void 0&&e.session===void 0)throw Error(`useEveAgent({ resume: true }) requires initialSession or session.`);t.current=new SessionStore({auth:e.auth,headers:e.headers,baseUrl:resolveEveAgentBaseUrl({agent:e.agent,baseUrl:e.baseUrl}),initialEvents:e.initialEvents,initialSession:e.initialSession,optimistic:e.optimistic,followAgents:e.followAgents,followWhile:e=>n.current?.(e)??!0,session:e.session})}let u=t.current;u.setCallbacks({onError:e.onError,onEvent:e.onEvent,onFinish:e.onFinish,onSessionChange:e.onSessionChange,prepareSend:e.prepareSend});let d=useCallback(e=>u.subscribe(e),[u]),f=useSyncExternalStore(d,()=>u.snapshot,()=>u.snapshot);useEffect(()=>{r.current=!0;let e=setTimeout(()=>attachSessionStore(u),0);return()=>{r.current=!1,clearTimeout(e),queueMicrotask(()=>{r.current||detachSessionStore(u)})}},[u]),useEffect(()=>{if(!l)return;let e=setTimeout(()=>void u.prewarm().catch(()=>{}),0);return()=>clearTimeout(e)},[s,l,u]),useEffect(()=>{if(!i.current)return;let e=!0,finish=()=>{e&&o(!1)},t=setTimeout(()=>void u.resume().then(finish,finish),0);return()=>{e=!1,clearTimeout(t)}},[u]);let p=useCallback(()=>u.cancel(),[u]),m=useCallback(()=>u.reset(),[u]),h=useCallback(()=>u.clear(),[u]),g=useCallback(()=>u.compact(),[u]),_=useCallback(()=>{u.newSession(),c(e=>e+1)},[u]),v=useCallback(()=>u.prewarm(),[u]),y=useCallback(()=>u.resume(),[u]),b=useCallback(e=>u.follow(e),[u]),x=useCallback((e,t)=>u.send({...t,message:e}),[u]),S=useCallback((e,t)=>u.send({...t,answers:e}),[u]),C=a&&f.status===`idle`?{...f,status:`resuming`}:f;return useMemo(()=>({...C,cancel:p,clear:h,compact:g,newSession:_,prewarm:v,reset:m,respond:S,resume:y,follow:b,send:x}),[p,h,g,b,_,v,m,S,y,x,C])}export{useEveAgent};
@@ -0,0 +1,4 @@
1
+ import type { ContextReader } from "#context/key.js";
2
+ import { type BundleReactions } from "./reaction.js";
3
+ /** The reactions the session's agent declares, in run order. */
4
+ export declare function bundleReactions(ctx: Pick<ContextReader, "get" | "has">): Promise<BundleReactions>;
@@ -0,0 +1 @@
1
+ import{REACTION_ORDER}from"./reaction.js";import{toolReaction}from"./kinds/tool.js";import{connectionReaction,installDynamicConnections}from"./kinds/connection.js";import{hookReaction}from"./kinds/hook.js";import{instructionsReaction}from"./kinds/instructions.js";import{loadModelReaction}from"./kinds/model.js";import{memoryReactions}from"./kinds/memory.js";import{skillReaction,syncDynamicSkillFiles}from"./kinds/skill.js";import{subagentReaction}from"./kinds/subagent.js";import{AgentSessionRuntimeOverridesKey,DynamicSubagentAgentConfigKey}from"#context/keys.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";const cache=new WeakMap,EMPTY={effects:{},reactions:[]};async function bundleReactions(e){let t=e.get(BundleKey);if(t===void 0)return EMPTY;let n=cache.get(t);n===void 0&&(n=buildReactions(t),cache.set(t,n),n.catch(()=>cache.delete(t)));let r=await n;return!e.has(DynamicSubagentAgentConfigKey)&&!e.has(AgentSessionRuntimeOverridesKey)?r:{...r,reactions:r.reactions.filter(e=>e.kind!==`model`)}}async function buildReactions(e){let t=e.resolvedAgent,n=await loadModelReaction(e),r=[...t.hooks.map(hookReaction),...t.memories.flatMap(memoryReactions),...n===void 0?[]:[n],...(t.dynamicConnectionResolvers??[]).map(connectionReaction),...e.subagentRegistry.dynamicResolvers.map(subagentReaction),...t.dynamicToolResolvers.map(toolReaction),...t.dynamicSkillResolvers.map(skillReaction),...t.dynamicInstructionsResolvers.map(instructionsReaction)];return r.sort((e,t)=>REACTION_ORDER.indexOf(e.kind)-REACTION_ORDER.indexOf(t.kind)),{effects:{...(t.dynamicConnectionResolvers??[]).length===0?{}:{connection:installDynamicConnections},...t.dynamicSkillResolvers.length!==0&&{skill:syncDynamicSkillFiles}},reactions:r}}export{bundleReactions};
@@ -0,0 +1,13 @@
1
+ import type { ContextReader } from "#context/key.js";
2
+ import type { SessionFrame } from "#dynamic/definition.js";
3
+ import type { SessionView } from "#protocol/session-projection/tables.js";
4
+ /** The channel the session's latest delivery came through. */
5
+ export declare function channelOf(ctx: ContextReader): SessionFrame["channel"];
6
+ /**
7
+ * The session as of its latest commit, or as of the commit `at` the given view: what every
8
+ * dynamic value and hook handler reads.
9
+ */
10
+ export declare function sessionFrameOf(ctx: ContextReader, input?: {
11
+ readonly view?: SessionView;
12
+ readonly at?: string;
13
+ }): SessionFrame;
@@ -0,0 +1 @@
1
+ import{readReactionsState,sessionIdOf}from"./state.js";import{latestTurn}from"./turn.js";import{normalizeInstrumentationChannelKind}from"#shared/instrumentation-channel-kind.js";import{ConversationContextKey}from"#shared/conversation-context.js";import{getAdapterKind}from"#channel/adapter.js";import{snapshotOf}from"#protocol/session-projection/session-view.js";import{AuthKey,ChannelInstrumentationKey,ContinuationTokenKey,InitiatorAuthKey,ParentSessionKey,SessionPredecessorKey}from"#context/keys.js";import{readSessionSchedule}from"#context/session-schedule.js";import{ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{currentView}from"#harness/session-machine/current.js";function channelOf(e){let t=e.get(ChannelKey),n=e.get(ChannelInstrumentationKey);return{continuationToken:e.get(ContinuationTokenKey),kind:normalizeInstrumentationChannelKind(n?.kind??(t===void 0?void 0:getAdapterKind(t))),metadata:n?.metadata??{}}}function sessionFrameOf(e,t={}){let n=e.get(ConversationContextKey),r=e.get(ParentSessionKey),i=t.view??currentView(e),a=t.at??readReactionsState(e).at??i.session.startedAt;return{channel:channelOf(e),...n!==void 0&&{conversation:n},now:new Date(a??0),session:{auth:{current:e.get(AuthKey)??null,initiator:e.get(InitiatorAuthKey)??null},id:sessionIdOf(e),...r!==void 0&&{parent:r},predecessor:e.get(SessionPredecessorKey),schedule:readSessionSchedule(e)},turn:latestTurn(i),view:snapshotOf(i)}}export{channelOf,sessionFrameOf};
@@ -0,0 +1,22 @@
1
+ import type { ContextContainer } from "#context/container.js";
2
+ import type { Reaction } from "./reaction.js";
3
+ import { type PendingIntent } from "./state.js";
4
+ /** A command a hook asked for, before it's queued. */
5
+ export interface Command {
6
+ readonly type: "cancel";
7
+ readonly reason?: string;
8
+ }
9
+ /**
10
+ * Adds cancellations to the session's queue. Requests between turns are dropped.
11
+ */
12
+ export declare function queueCommands(ctx: ContextContainer, reactionId: string, occurrence: string, commands: readonly Command[]): void;
13
+ /** Removes and returns the waiting intents that match, because the session acted on them. */
14
+ export declare function takeIntents(ctx: ContextContainer, matches: (intent: PendingIntent) => boolean): readonly PendingIntent[];
15
+ /**
16
+ * A hook, or an effect eve runs after a commit, failed. During a turn, the turn fails at its next
17
+ * boundary: before its next model call, or as it would settle. Between turns, there's no turn to
18
+ * fail, and the failure is logged.
19
+ */
20
+ export declare function reportReactionFailure(ctx: ContextContainer, reaction: Pick<Reaction, "id" | "kind" | "label">, error: unknown, occurrence?: string): void;
21
+ /** Takes the failure a hook reported for the running turn, if any. */
22
+ export declare function takeTurnFailure(ctx: ContextContainer | undefined): string | undefined;
@@ -0,0 +1 @@
1
+ import{readReactionsState,writeReactionsState}from"./state.js";import{createLogger}from"#internal/logging.js";import{toErrorMessage}from"#shared/errors.js";import{currentProjection}from"#harness/session-machine/current.js";import{activeTurnIdOf}from"#protocol/session-projection.js";const log=createLogger(`hooks`);function queueCommands(e,t,n,r){if(r.length===0)return;let i=readReactionsState(e),a=[...i.intents??[]],o=activeTurnIdOf(currentProjection(e)),s=!1;for(let e of r)o!==void 0&&i.cancelledTurnId!==o&&(a.some(e=>e.type===`cancel`&&e.turnId===o)||(a.push({occurrence:n,reactionId:t,type:e.type,...e.reason!==void 0&&{reason:e.reason},turnId:o}),s=!0));s&&writeReactionsState(e,{...i,intents:a})}function takeIntents(e,t){let n=readReactionsState(e),r=(n.intents??[]).filter(t);if(r.length===0)return r;let i=(n.intents??[]).filter(e=>!t(e));return writeReactionsState(e,{...n,intents:i}),r}function reportReactionFailure(e,t,n,r){let i=activeTurnIdOf(currentProjection(e)),a=toErrorMessage(n),o=`${t.kind===`memory`?`Memory`:`Hook`} "${t.label}"`;if(log.error(`${o} failed.`,{error:a,occurrence:r,turnId:i}),i===void 0)return;let s=readReactionsState(e),c=s.intents??[];c.some(e=>e.type===`fail`&&e.turnId===i)||writeReactionsState(e,{...s,intents:[...c,{occurrence:r??`fail:${i}`,reactionId:t.id,reason:`${o} failed: ${a}`,turnId:i,type:`fail`}]})}function takeTurnFailure(e){if(e===void 0)return;let t=activeTurnIdOf(currentProjection(e));if(t===void 0)return;let[n]=takeIntents(e,e=>e.type===`fail`&&e.turnId===t);return n?.reason}export{queueCommands,reportReactionFailure,takeIntents,takeTurnFailure};
@@ -0,0 +1,18 @@
1
+ import type { ContextContainer } from "#context/container.js";
2
+ import type { ContextReader } from "#context/key.js";
3
+ import type { ResolvedDynamicConnectionResolver } from "#runtime/types.js";
4
+ import { type ValueReaction } from "../reaction.js";
5
+ /**
6
+ * A `defineDynamic()` in `agent/connections/`: one connection named after the file, or a map.
7
+ * Rebuild callbacks even when the target is unchanged: the current policy can have changed.
8
+ */
9
+ export declare function connectionReaction(resolver: ResolvedDynamicConnectionResolver): ValueReaction;
10
+ /** Installs the slots' connections in the step's registry, which starts with the static ones. */
11
+ export declare function installDynamicConnections(ctx: ContextContainer): Promise<void>;
12
+ /**
13
+ * Every connection name the session has: the registry's, and those dynamic connections this
14
+ * evaluation already returned, which the registry installs only after every value has run.
15
+ */
16
+ export declare function sessionConnectionNames(ctx: Pick<ContextReader, "get">): readonly string[];
17
+ /** The version of each dynamic connection, by name: what it reaches, and its memo results. */
18
+ export declare function dynamicConnectionVersions(ctx: Pick<ContextReader, "get"> | undefined): ReadonlyMap<string, string>;
@@ -0,0 +1 @@
1
+ import{authoredEvaluate}from"../reaction.js";import{entryVersions,slotsOf}from"../state.js";import{dynamicToolNames}from"./tool.js";import{assertNotConnectionOwned}from"#connections/ownership.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{readStampedConnectionProtocol}from"#public/definitions/connections/protocol.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";import{ConnectionRegistryKey}from"#context/providers/connection-key.js";import{ConnectionRegistryImpl}from"#runtime/connections/registry.js";import{CONNECTION_SLUG_PATTERN}from"#discover/grammar.js";import{resolveDynamicConnectionValue}from"#runtime/resolve-connection.js";function connectionReaction(e){return{contribute:(t,{ctx:n})=>{let r=namedConnections(e,t).map(({name:t,value:n})=>resolveDynamicConnectionValue(n,{connectionName:t,exportName:e.exportName,logicalPath:e.logicalPath,sourceId:e.sourceId,sourceKind:`module`}));return assertOwnsNoEntries(n,r,e),r.length===0?{value:null}:{live:r,value:r.map(target)}},id:`connection:${e.extensionNamespace??``}:${e.slug}`,kind:`connection`,evaluate:authoredEvaluate(e.evaluate,{framework:e.framework}),label:e.logicalPath}}function target(e){let t=e.authorization,n=typeof t==`object`&&t?t.principalType:void 0;return{name:e.connectionName,protocol:e.protocol,url:e.url,...e.instanceId!==void 0&&{instanceId:e.instanceId},...n!==void 0&&{principalType:n}}}async function installDynamicConnections(e){let t=e.get(ConnectionRegistryKey);t instanceof ConnectionRegistryImpl&&await t.replaceDynamicConnections(new Map(slotsOf(e,`connection`).map(({id:e,live:t})=>[e,t??[]])))}function sessionConnectionNames(e){return[...new Set([...e.get(ConnectionRegistryKey)?.getConnectionNames()??[],...dynamicConnectionVersions(e).keys()])]}function dynamicConnectionVersions(e){let t=new Map;for(let{id:n,slot:r}of slotsOf(e,`connection`)){let i=entryVersions(e,n);for(let e of Array.isArray(r.value)?r.value:[]){let n=e?.name;typeof n==`string`&&!t.has(n)&&t.set(n,i(e))}}return t}function namedConnections(e,t){if(t==null)return[];if(readStampedConnectionProtocol(t)!==void 0)return[{name:e.slug,value:t}];if(typeof t!=`object`||Array.isArray(t))throw Error(`The defineDynamic() in "${e.logicalPath}" must return a connection definition, a map of connection definitions, or null.`);let n=e.extensionNamespace===void 0?``:`${e.extensionNamespace}__`;return Object.entries(t).map(([t,r])=>{if(!CONNECTION_SLUG_PATTERN.test(t))throw Error(`The defineDynamic() in "${e.logicalPath}" returned illegal connection name "${t}". Expected lowercase ASCII letters, digits, and dashes only, starting with a letter, up to 64 characters.`);if(readStampedConnectionProtocol(r)===void 0)throw Error(`The defineDynamic() in "${e.logicalPath}" returned "${t}" without defineMcpClientConnection() or defineOpenAPIConnection().`);return{name:`${n}${t}`,value:r}})}function assertOwnsNoEntries(e,t,n){for(let{connectionName:e}of t){let t=eveNamespaceReservation(e);if(t!==void 0)throw Error(`The defineDynamic() in "${n.logicalPath}" returned the reserved connection name "${e}". ${t}; rename the connection.`)}let r=e.get(BundleKey),i=[...r?.toolRegistry.toolsByName.keys()??[],...r?.subagentRegistry.subagentsByName.keys()??[],...r?.subagentRegistry.dynamicResolvers.map(e=>e.name)??[],...dynamicToolNames(e)],a=t.map(e=>e.connectionName);for(let e of i)assertNotConnectionOwned({connectionNames:a,name:e,remedy:`Rename it, or the dynamic connection that "${n.logicalPath}" returned.`,subject:`Tool or subagent`})}export{connectionReaction,dynamicConnectionVersions,installDynamicConnections,sessionConnectionNames};
@@ -0,0 +1,8 @@
1
+ import type { ResolvedHookDefinition } from "#runtime/types.js";
2
+ import type { CommitReaction } from "../reaction.js";
3
+ /**
4
+ * An authored hook as a reaction: its handlers run after every commit, once for each fact of
5
+ * their type, typed handler first, then `*`. Its occurrence identifies the fact for external
6
+ * services that support idempotency.
7
+ */
8
+ export declare function hookReaction(hook: ResolvedHookDefinition): CommitReaction;
@@ -0,0 +1 @@
1
+ import{discardedByDeployment,keepMemos,mergeMemos,readReactionsState}from"../state.js";import{queueCommands,reportReactionFailure}from"../intents.js";import{sessionFrameOf}from"../frame.js";import{openMemos}from"../records.js";import{buildCallbackContext}from"#context/build-callback-context.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";import{currentProjection}from"#harness/session-machine/current.js";import{activeTurnIdOf}from"#protocol/session-projection.js";function hookReaction(e){let t={id:`hook:${e.slug}`,kind:`hook`,label:e.logicalPath};return{...t,onCommit:async n=>{for(let{event:r,position:i,progress:a,view:o}of n.written){let{meta:s,...c}=r;for(let r of a?[c.type]:[c.type,`*`]){let a=e.events[r];a!==void 0&&await runHandler({at:s?.at,event:c,handler:a,input:n,key:r,occurrence:`${i.line}.${i.index}`,position:i,reaction:t,view:o})}}},timing:`commit`}}async function runHandler(e){let{ctx:t,abortSignal:n}=e.input,{id:r,label:i}=e.reaction,a=buildCallbackContext(),o=sessionFrameOf(t,{at:e.at,view:e.view}),s=a.session.id,c=`${s}:${r}:${e.occurrence}:${e.key}`,l=`${r}#${e.key}`,u=!1,d=openMemos({abortSignal:n,afterDeployment:discardedByDeployment(t,l),kept:readReactionsState(t).memos?.[l],label:i,scope:l,sessionId:s}),f=[],command=e=>t=>{if(u)throw Error(`Hook "${i}" called ctx.${e}() after its handler settled. Await the work that calls it before the handler returns.`);f.push(t===void 0?{type:e}:{reason:t,type:e})},p={...a,...o,agent:agentOf(t),cancel:command(`cancel`),memo:d.memo,occurrence:{abortSignal:n,idempotencyKey:c},position:e.position,session:{...a.session,...o.session}};try{await e.handler(e.event,p),keepMemos(t,l,d.used()),u=!0;let n=e.event.type===`delivery.admitted`&&activeTurnIdOf(currentProjection(t))===void 0?e.input.cancelBeforeTurn:void 0;if(n===void 0)queueCommands(t,r,c,f);else for(let{reason:e}of f)n({hook:i,...e!==void 0&&{reason:e}})}catch(n){mergeMemos(t,l,d.used()),reportReactionFailure(t,e.reaction,n,c)}finally{u=!0,d.close()}}function agentOf(e){let t=e.require(BundleKey);return{name:t.turnAgent.id,nodeId:t.nodeId}}export{hookReaction};
@@ -0,0 +1,21 @@
1
+ import type { SystemModelMessage } from "ai";
2
+ import type { AlsContext } from "#context/container.js";
3
+ import type { ContextReader } from "#context/key.js";
4
+ import { type UserModelMessage } from "#harness/messages.js";
5
+ import type { ResolvedDynamicInstructionsResolver } from "#runtime/types.js";
6
+ import { type ValueReaction } from "../reaction.js";
7
+ /**
8
+ * A `defineDynamic()` in `agent/instructions/`. A system instruction is part of every model call
9
+ * while its definition returns it; a user instruction joins the conversation when its content
10
+ * changes, and stays there.
11
+ */
12
+ export declare function instructionsReaction(resolver: ResolvedDynamicInstructionsResolver): ValueReaction;
13
+ /** The system instructions the session's slots hold, in run order. */
14
+ export declare function dynamicInstructionMessages(ctx: Pick<ContextReader, "get"> | undefined): SystemModelMessage[];
15
+ /**
16
+ * User instructions whose content differs from what their definition last added; records each
17
+ * one's digest. A definition that returns `null`, or a system instruction, resets it, so the same
18
+ * content returned later joins again. The digests outlive deployments: new code doesn't add the
19
+ * same text again.
20
+ */
21
+ export declare function takeUserInstructionMessages(ctx: AlsContext): UserModelMessage[];
@@ -0,0 +1 @@
1
+ import{authoredEvaluate}from"../reaction.js";import{readReactionsState,slotsOf,writeReactionsState}from"../state.js";import{normalizeInstructionsDefinition}from"#internal/authored-definition/core.js";import{createFrameworkUserMessage}from"#harness/messages.js";import{isBrandedInstructionsEntry}from"#shared/instructions-definition.js";function instructionsReaction(e){return{contribute:t=>{if(t==null)return{value:null};if(!isBrandedInstructionsEntry(t))throw Error(`The dynamic instructions "${e.slug}" returned an unbranded value — wrap with defineInstructions().`);let n=normalizeInstructionsDefinition(t,`Expected dynamic instructions to match the public eve shape.`),r=n.content.trim();return{value:r.length===0?null:{content:r,role:n.role??`system`}}},id:`instructions:${e.slug}`,kind:`instructions`,evaluate:authoredEvaluate(e.evaluate,{framework:e.framework}),label:e.logicalPath}}function dynamicInstructionMessages(e){return slotsOf(e,`instructions`).flatMap(({slot:e})=>{let t=e.value;return t?.role===`system`?[{content:t.content,role:`system`}]:[]})}function takeUserInstructionMessages(e){let t=readReactionsState(e),n={...t.appended},r=[],i=!1;for(let{id:t,slot:a}of slotsOf(e,`instructions`)){let e=a.value;if(e?.role!==`user`){n[t]!==void 0&&(delete n[t],i=!0);continue}n[t]!==a.digest&&(n[t]=a.digest,i=!0,r.push(createFrameworkUserMessage(`context.instruction`,e.content)))}return i&&writeReactionsState(e,{...t,appended:n}),r}export{dynamicInstructionMessages,instructionsReaction,takeUserInstructionMessages};
@@ -0,0 +1,72 @@
1
+ import type { SessionAuthContext } from "#channel/types.js";
2
+ import type { AnchoredContext } from "#harness/current-messages.js";
3
+ import { type JsonValue } from "#shared/json.js";
4
+ import type { ContextContainer } from "#context/container.js";
5
+ import type { ContextReader } from "#context/key.js";
6
+ import type { SessionFrame } from "#dynamic/definition.js";
7
+ import { type MemoryInstrumentation } from "#instrumentation/memory.js";
8
+ import { type MemoryScope } from "#public/memory/index.js";
9
+ import type { ResolvedMemoryDefinition } from "#runtime/types.js";
10
+ import { type NormalizedMemoryRecallMessage } from "#shared/memory-state.js";
11
+ import { type InternalContext, type Reaction } from "../reaction.js";
12
+ export declare function bindMemoryInstrumentation(ctx: ContextContainer, instrumentation: MemoryInstrumentation | undefined): void;
13
+ /**
14
+ * A memory slot's reactions. Recall runs before the first model call of each turn, and what it
15
+ * brings back joins what earlier turns' recalls brought: each model call reads every turn's
16
+ * recall just ahead of that turn's input, where earlier calls read it, so the prompt ahead of it
17
+ * stays cached. A message with an `id` replaces the one with that `id` an earlier turn recalled.
18
+ * A clear or a new scope starts over. Capture runs after the commit that completes a turn.
19
+ */
20
+ export declare function memoryReactions(memory: ResolvedMemoryDefinition): readonly Reaction[];
21
+ /**
22
+ * Takes the error a memory slot's capture threw for the compaction this step started: the
23
+ * compaction then fails before it rewrites history.
24
+ */
25
+ export declare function takeCompactionCaptureFailure(ctx: object | undefined): unknown;
26
+ /** One turn's recall, as `record` returns it. */
27
+ interface RecallRecord {
28
+ /** The latest clear when it recalled: a clear starts over. */
29
+ readonly cleared: number | null;
30
+ readonly result: unknown;
31
+ /** The scope it recalled under: another scope starts over. */
32
+ readonly scope: string;
33
+ readonly turnId: string;
34
+ }
35
+ interface RecalledMessage {
36
+ readonly content: string;
37
+ readonly id?: string;
38
+ }
39
+ interface RecallBatch {
40
+ readonly turnId: string;
41
+ readonly messages: readonly RecalledMessage[];
42
+ }
43
+ /** What a slot's recalls brought, for the session so far: each turn's, in turn order. */
44
+ interface Recalls {
45
+ readonly cleared: number | null;
46
+ readonly scope: string;
47
+ readonly batches: readonly RecallBatch[];
48
+ }
49
+ /**
50
+ * Joins a turn's recall to what earlier turns' recalls brought. A message with an `id` an earlier
51
+ * turn recalled replaces it, unless its content is the same; a recall for a turn that already has
52
+ * one, as on a new deployment, replaces that turn's.
53
+ */
54
+ export declare function accumulate(previous: JsonValue, recalled: RecallRecord, messages: readonly NormalizedMemoryRecallMessage[]): Recalls;
55
+ /** What the memory slots recalled, each with the turn whose input it belongs ahead of. */
56
+ export declare function memoryRecallContents(ctx: Pick<ContextReader, "get"> | undefined): readonly AnchoredContext[];
57
+ /** What resolving a memory slot's scope reads. */
58
+ export interface ScopeContext {
59
+ readonly abortSignal: AbortSignal;
60
+ readonly channel: SessionFrame["channel"];
61
+ readonly ctx: InternalContext["ctx"];
62
+ readonly session: Pick<SessionFrame["session"], "auth" | "id">;
63
+ }
64
+ /** The scope a memory slot operates under for this session, or `null` when it's disabled. */
65
+ export declare function resolveMemoryScope(memory: Pick<ResolvedMemoryDefinition, "namespace" | "scope" | "slot">, ctx: ScopeContext): Promise<MemoryScope | null>;
66
+ /**
67
+ * Who the session acts for, as a memory selection reads it: the whole principal, since a scope
68
+ * tells principals apart by type, authenticator, issuer, and id, and an authored scope can read
69
+ * its attributes too. Two principals that share an id never share a selection.
70
+ */
71
+ export declare function principalOf(ctx: Pick<SessionFrame, "session">): SessionAuthContext | null;
72
+ export {};
@@ -0,0 +1 @@
1
+ import{requireHistory}from"../reaction.js";import{readReactionsState,readSlot,sessionIdOf,slotsOf}from"../state.js";import{channelOf}from"../frame.js";import{effectiveModelId}from"./model.js";import{createLogger}from"#internal/logging.js";import{isEveDevEnvironment}from"#internal/application/dev-environment.js";import{parseJsonValue}from"#shared/json.js";import{buildCallbackContext}from"#context/build-callback-context.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";import{currentProjection}from"#harness/session-machine/current.js";import{activeTurnIdOf,latestTurnIdOf,turnCoordinatesOf}from"#protocol/session-projection.js";import{instrumentMemoryOperation}from"#instrumentation/memory.js";import{defaultNamespace}from"#public/memory/index.js";import{createMemoryScope,validateMemoryRecallResult}from"#shared/memory-state.js";const log=createLogger(`memory`),instrumentations=new WeakMap;function bindMemoryInstrumentation(e,t){t===void 0?instrumentations.delete(e):instrumentations.set(e,t)}function memoryReactions(e){let t=`memory:${e.slot}:recall`,n=[{contribute:(n,r)=>{if(n===null)return{value:null};let i=n,a=validateMemoryRecallResult(i.result,e.slot),o=accumulate(readSlot(r.ctx,t)?.value??null,i,a);return{value:o.batches.length===0?null:parseJsonValue(o)}},evaluate:async t=>{let n=readReactionsState(t.ctx).latest,r=n[`turn.started`]??null;if(r===null)return null;let i=n[`context.settled:clear`]??null;return await t.memo({cleared:i,principal:principalOf(t),turn:r},()=>recallOnce(e,t,i))},id:t,kind:`memory`,label:e.logicalPath}],r=compactionCapture(e);r!==void 0&&n.push(r);let i=e.provider.capture?.[`turn.completed`];return i===void 0?n:[...n,{id:`memory:${e.slot}:capture`,kind:`memory`,label:e.logicalPath,onCommit:async t=>{if(t.facts.find(e=>e.type===`turn.settled`&&e.data.outcome===`completed`)===void 0)return;let n=requireHistory(t,e.logicalPath),r=activeTurn(n),a=await resolveMemoryScope(e,commitScopeContext(t));if(a===null)return;let o=operationId(sessionIdOf(t.ctx),e.slot,`turn.completed`,r);try{await instrumentMemoryOperation(instrumentations.get(t.ctx),{idempotencyKey:o,operationName:`upsert_memory`,phase:`turn.completed`,slot:e.slot,storeId:a.key,turnId:r.id},async()=>(await i({...buildCallbackContext(),abortSignal:t.abortSignal,memory:{scope:a,slot:e.slot},messages:n,operationId:o,turn:r}),{value:void 0}))}catch(t){log.error(`Completed-turn memory capture failed.`,{error:t,slot:e.slot})}},timing:`commit`}]}async function recallOnce(e,t,n){let r=requireHistory(t,e.logicalPath),i=activeTurn(r),a=await resolveMemoryScope(e,t);if(a===null)return null;let o=operationId(t.session.id,e.slot,`turn.started`,i);return{cleared:n,result:await instrumentMemoryOperation(instrumentations.get(t.ctx),{idempotencyKey:o,operationName:`search_memory`,phase:`turn.started`,slot:e.slot,storeId:a.key,turnId:i.id},async()=>{let n=await e.provider.recall[`turn.started`]({...buildCallbackContext(),abortSignal:t.abortSignal,memory:{scope:a,slot:e.slot},messages:r,operationId:o,turn:i}),s=(n?.messages??[]).map(e=>e.id===void 0?{content:e.content}:{content:e.content,id:e.id});return{outputRecords:s,recordCount:s.length,value:n}})??null,scope:a.key,turnId:i.id}}function commitScopeContext(e){let t=buildCallbackContext();return{abortSignal:e.abortSignal,channel:channelOf(e.ctx),ctx:e.ctx,session:{auth:t.session.auth,id:t.session.id}}}const compactionCaptureFailures=new WeakMap;function takeCompactionCaptureFailure(e){if(e===void 0||!compactionCaptureFailures.has(e))return;let t=compactionCaptureFailures.get(e);return compactionCaptureFailures.delete(e),t??Error(`A memory capture failed.`)}function compactionCapture(e){let t=e.provider.capture?.[`compaction.requested`];if(t!==void 0)return{id:`memory:${e.slot}:compaction`,kind:`memory`,label:e.logicalPath,timing:`commit`,onCommit:async n=>{let r=n.facts.find(e=>e.type===`context.started`&&e.data.kind===`compaction`);if(r!==void 0)try{let i=requireHistory(n,e.logicalPath),a=await resolveMemoryScope(e,commitScopeContext(n));if(a===null)return;let o=r.data.turnId===void 0?null:activeTurn(i),s=[`eve-memory-operation-v1`,sessionIdOf(n.ctx),`compaction.requested`,r.data.changeId,e.slot].join(`:`);await instrumentMemoryOperation(instrumentations.get(n.ctx),{idempotencyKey:s,operationName:`upsert_memory`,phase:`compaction.requested`,slot:e.slot,storeId:a.key,...o!==null&&{turnId:o.id}},async()=>(await t({...buildCallbackContext(),abortSignal:n.abortSignal,compaction:{modelId:n.ctx.get(BundleKey)?.turnAgent.compactionModel?.id??effectiveModelId(n.ctx)??`unknown`,usageInputTokens:r.data.trigger?.inputTokens??null},memory:{scope:a,slot:e.slot},messages:i,operationId:s,turn:o}),{value:void 0}))}catch(t){log.error(`Memory capture before compaction failed; the compaction fails.`,{error:t,slot:e.slot}),compactionCaptureFailures.has(n.ctx)||compactionCaptureFailures.set(n.ctx,t)}}}}function accumulate(e,t,n){let r=e,i=r?.batches!==void 0&&r.cleared===t.cleared&&r.scope===t.scope?r.batches.filter(({turnId:e})=>e!==t.turnId):[],a=new Map;for(let e of i)for(let t of e.messages)t.id!==void 0&&a.set(t.id,t.content);let o=n.filter(({content:e,itemKey:t})=>t===void 0||a.get(t)!==e).map(({content:e,itemKey:t})=>t===void 0?{content:e}:{content:e,id:t}),s=new Set(o.flatMap(({id:e})=>e===void 0?[]:[e])),c=i.map(e=>({...e,messages:e.messages.filter(({id:e})=>e===void 0||!s.has(e))})).filter(({messages:e})=>e.length>0);return o.length>0&&c.push({messages:o,turnId:t.turnId}),{batches:c,cleared:t.cleared,scope:t.scope}}function memoryRecallContents(e){return slotsOf(e,`memory`).flatMap(({slot:e})=>(e.value?.batches??[]).flatMap(({messages:e,turnId:t})=>e.map(({content:e})=>({content:e,turnId:t}))))}async function resolveMemoryScope(e,t){let n=typeof e.scope==`function`?await e.scope({abortSignal:t.abortSignal,channel:t.channel,session:{auth:t.session.auth,id:t.session.id}}):e.scope;if(n===null)return disabled(e.slot,`scope`);let r=t.ctx.get(BundleKey),i={appRoot:r?.resolvedAgent.metadata.appRoot??``,node:r?.nodeId??`__root__`,slot:e.slot},a=e.namespace===void 0?defaultNamespace(i):typeof e.namespace==`function`?await e.namespace(i):e.namespace;return a===null?disabled(e.slot,`namespace`):createMemoryScope({namespace:a,scope:n,slot:e.slot})}function disabled(e,t){return isEveDevEnvironment()&&log.info(`Memory slot is disabled for this operation`,{resolver:t,slot:e}),null}function principalOf(e){return e.session.auth.current}function activeTurn(e){let t=currentProjection(),n=activeTurnIdOf(t)??latestTurnIdOf(t)??``,{sequence:r}=turnCoordinatesOf(t,n),i=e.length;for(;i>0&&e[i-1].role!==`user`;)--i;let a=i;for(;a>0&&e[a-1].role===`user`;)--a;return Object.freeze({id:n,input:Object.freeze(e.slice(a,i)),sequence:r})}function operationId(e,t,n,r){return[`eve-memory-operation-v1`,e,String(r.sequence),r.id.length===0?`standalone`:r.id,n,t].join(`:`)}export{accumulate,bindMemoryInstrumentation,memoryReactions,memoryRecallContents,principalOf,resolveMemoryScope,takeCompactionCaptureFailure};
@@ -0,0 +1,21 @@
1
+ import type { ContextReader } from "#context/key.js";
2
+ import { type LiveDynamicModelSelection } from "#context/keys.js";
3
+ import type { CompiledBundle } from "#runtime/sessions/runtime-context-keys.js";
4
+ import { type ValueReaction } from "../reaction.js";
5
+ /** A dynamic `model` failed to choose a model: the model call that needs it fails. */
6
+ export declare class DynamicModelSelectionError extends Error {
7
+ readonly code = "EVE_DYNAMIC_MODEL_SELECTION_FAILED";
8
+ readonly name = "DynamicModelSelectionError";
9
+ constructor(error: unknown);
10
+ }
11
+ export declare function isDynamicModelSelectionError(error: unknown): error is DynamicModelSelectionError;
12
+ /**
13
+ * An agent's dynamic `model` field: its function returns the model, as a gateway ID, a provider
14
+ * object, or `{ model, reasoning?, modelContextWindowTokens?, modelOptions? }`. It runs first
15
+ * among dynamic values, so every later one can read `ctx.model`. A model call needs a model, so
16
+ * `null` fails it.
17
+ */
18
+ export declare function loadModelReaction(bundle: CompiledBundle): Promise<ValueReaction | undefined>;
19
+ /** The model the next call uses: the dynamic agent's, or the static one. */
20
+ export declare function getEffectiveModelSelection(ctx: Pick<ContextReader, "get">): LiveDynamicModelSelection | null;
21
+ export declare function effectiveModelId(ctx: Pick<ContextReader, "get">): string | undefined;
@@ -0,0 +1 @@
1
+ import{authoredEvaluate}from"../reaction.js";import{readLive,readReactionsState,slotValueOf}from"../state.js";import{StaticModelReferenceKey}from"#context/keys.js";import{toErrorMessage}from"#shared/errors.js";import{parseJsonValue}from"#shared/json.js";import{isMockModel}from"#internal/mock-model-identity.js";import{isFrameworkDefinition}from"#dynamic/definition.js";import{loadDynamicRuntimeModelDefinition,resolveRuntimeModelSelection,shouldMockAuthoredRuntimeModels}from"#runtime/agent/resolve-model.js";const MODEL_REACTION_ID=`model:agent`,DYNAMIC_MODEL_SELECTION_ERROR_CODE=`EVE_DYNAMIC_MODEL_SELECTION_FAILED`;var DynamicModelSelectionError=class extends Error{code=DYNAMIC_MODEL_SELECTION_ERROR_CODE;name=`DynamicModelSelectionError`;constructor(e){super(toErrorMessage(e),{cause:e})}};function isDynamicModelSelectionError(e){return e instanceof DynamicModelSelectionError||typeof e==`object`&&!!e&&e.code===DYNAMIC_MODEL_SELECTION_ERROR_CODE}async function loadModelReaction(e){let t=e.turnAgent.dynamicModel;if(t===void 0)return;let n=await loadDynamicRuntimeModelDefinition({dynamicModel:t,scope:{moduleMap:e.moduleMap,nodeId:e.nodeId}}),r=`${t.logicalPath}#model`;return{contribute:async(e,{ctx:t})=>{try{return await contributionOf(e,t)}catch(e){throw new DynamicModelSelectionError(e)}},evaluate:authoredEvaluate(n.evaluate,{framework:isFrameworkDefinition(n)}),id:MODEL_REACTION_ID,kind:`model`,label:r}}async function contributionOf(e,t){let n=await resolveRuntimeModelSelection({durability:`live`,selection:e,state:t}),r=n.model===void 0||!isMockModel(n.model)&&shouldMockAuthoredRuntimeModels()?void 0:n,i={reference:n.reference};return{live:r,value:parseJsonValue(i)}}function getEffectiveModelSelection(e){let t=readReactionsState(e).slots[MODEL_REACTION_ID];if(t!==void 0&&t.value!==null)return readLive(e,MODEL_REACTION_ID,t)?.live??{reference:slotValueOf(t.value).reference};let n=e.get(StaticModelReferenceKey);return n==null?null:{reference:n}}function effectiveModelId(e){try{return getEffectiveModelSelection(e)?.reference.id}catch{return}}export{DynamicModelSelectionError,effectiveModelId,getEffectiveModelSelection,isDynamicModelSelectionError,loadModelReaction};
@@ -0,0 +1,27 @@
1
+ import type { ContextContainer } from "#context/container.js";
2
+ import type { ContextReader } from "#context/key.js";
3
+ import { type DynamicSkillManifest } from "#context/keys.js";
4
+ import type { ResolvedDynamicSkillResolver } from "#runtime/types.js";
5
+ import { type ValueReaction } from "../reaction.js";
6
+ /**
7
+ * A `defineDynamic()` in `agent/skills/`: one skill named after the file, or a map of them. The
8
+ * slot records what the model sees: each skill's name, description, markdown, and a revision of
9
+ * its files. The files themselves are built again wherever a sandbox needs them, not stored.
10
+ */
11
+ export declare function skillReaction(resolver: ResolvedDynamicSkillResolver): ValueReaction;
12
+ /**
13
+ * The dynamic skills the session's slots hold, by reaction. A dynamic skill overrides a same-named
14
+ * authored one; when two reactions name the same skill, the first keeps it.
15
+ */
16
+ export declare function dynamicSkillManifest(ctx: Pick<ContextReader, "get"> | undefined): DynamicSkillManifest;
17
+ /**
18
+ * Queues the writes of skills with supporting files, so the model call never waits for the
19
+ * sandbox; anything that uses the sandbox waits for them. A package already written at its
20
+ * revision to the same sandbox is skipped, and a session with nothing to write or withdraw never
21
+ * touches the sandbox.
22
+ *
23
+ * Files are removed only when no slot holds a skill by that name anymore. A skill that stops
24
+ * returning supporting files keeps them, since the sandbox may already provide them, for example
25
+ * from its snapshot.
26
+ */
27
+ export declare function syncDynamicSkillFiles(ctx: ContextContainer): Promise<void>;
@@ -0,0 +1 @@
1
+ import{authoredEvaluate}from"../reaction.js";import{slotValueOf,slotsOf}from"../state.js";import{createLogger}from"#internal/logging.js";import{DynamicSkillSandboxKey,SandboxKey}from"#context/keys.js";import{parseJsonValue}from"#shared/json.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{normalizeSkillPackage,removeSkillPackageFromSandbox,skillPackageRevision,writeSkillPackageToSandbox}from"#shared/skill-package.js";import{SKILL_NAME_PATTERN,SKILL_NAME_RULE}from"#discover/grammar.js";import{isBrandedSkillEntry}from"#shared/skill-definition.js";const log=createLogger(`dynamic-skills`);function skillReaction(e){return{contribute:t=>{let n=namedSkills(e,t).map(({entry:e,name:t})=>normalizeSkillPackage({...e,name:t}));if(n.length===0)return{value:null};let r=n.map(toDurableSkill),i=n.filter(e=>e.files.length>1);return{value:parseJsonValue(r),...i.length>0&&{live:i}}},id:`skill:${e.extensionNamespace??``}:${e.slug}`,kind:`skill`,evaluate:authoredEvaluate(e.evaluate,{framework:e.framework}),label:e.logicalPath}}function dynamicSkillManifest(e){let t={};for(let{id:n,skills:r}of ownedSkills(e,(e,t,n)=>log.error(`Dynamic skill "${e}" from "${t}" collides with "${n}".`)))r.length>0&&(t[n]=r);return t}function ownedSkills(e,t){let n=new Map;return slotsOf(e,`skill`).map(({id:e,live:r,slot:i})=>({id:e,live:r,skills:(slotValueOf(i.value)??[]).filter(r=>{let i=n.get(r.name);return i===void 0?(n.set(r.name,e),!0):(t?.(r.name,e,i),!1)})}))}async function syncDynamicSkillFiles(e){let t=e.get(SandboxKey);if(t===void 0)return;let n=new Set,r=new Map,i=new Map;for(let{live:t,skills:a}of ownedSkills(e)){let e=new Map((t??[]).map(e=>[e.name,e]));for(let t of a){if(n.add(t.name),t.revision===void 0)continue;r.set(t.name,t.revision);let a=e.get(t.name)?.files;a!==void 0&&i.set(t.name,{description:t.description,files:a,content:t.markdown,name:t.name})}}(r.size!==0||Object.keys(e.get(DynamicSkillSandboxKey)??{}).length!==0)&&t.prepare(async a=>{let o=e.get(DynamicSkillSandboxKey)??{},s=sandboxIdentity(await t.captureState()),mark=e=>`${s}#${r.get(e)??``}`,c=Object.keys(o).filter(e=>!n.has(e)),l=c.filter(e=>s!==null&&o[e]?.startsWith(`${s}#`)===!0),u=[...r.keys()].filter(e=>i.has(e)&&(s===null||o[e]!==mark(e)));if(c.length===0&&u.length===0)return;let d={...o};for(let e of c)l.includes(e)||delete d[e];if(l.length===0&&u.length===0){e.set(DynamicSkillSandboxKey,d);return}let f=await a();for(let e of l)await removeSkillPackageFromSandbox({name:e,sandbox:f}),delete d[e];for(let n of u){let a=i.get(n);if(a===void 0)continue;delete d[n],e.set(DynamicSkillSandboxKey,{...d}),await removeSkillPackageFromSandbox({name:n,sandbox:f}),await writeSkillPackageToSandbox({sandbox:f,skill:a});let o=sandboxIdentity(await t.captureState());o!==null&&(d[n]=`${o}#${r.get(n)}`)}e.set(DynamicSkillSandboxKey,d)})}function namedSkills(e,t){if(t==null)return[];let n=isBrandedSkillEntry(t),r=n?{_single:t}:t,i=e.extensionNamespace===void 0?``:`${e.extensionNamespace}__`;return Object.entries(r).map(([t,r])=>{let a=n?e.slug:`${i}${t}`,o=eveNamespaceReservation(a);if(o!==void 0)throw Error(`The defineDynamic() in "${e.logicalPath}" returned the reserved skill name "${a}". ${o}; rename the skill.`);if(!SKILL_NAME_PATTERN.test(a))throw Error(`The defineDynamic() in "${e.logicalPath}" returned illegal skill name "${a}". ${SKILL_NAME_RULE}`);return{entry:r,name:a}})}function toDurableSkill(e){let t={markdown:e.content,description:e.description,name:e.name};return e.deferred===!0&&(t.deferred=!0),e.files.length>1&&(t.revision=skillPackageRevision(e)),t}function sandboxIdentity(e){return e.session===null?null:JSON.stringify(e.session)}export{dynamicSkillManifest,skillReaction,syncDynamicSkillFiles};
@@ -0,0 +1,16 @@
1
+ import type { ContextReader } from "#context/key.js";
2
+ import type { DurableDynamicSubagentSelection } from "#context/keys.js";
3
+ import type { HarnessToolDefinition } from "#harness/execute-tool.js";
4
+ import { type ResolvedDynamicSubagentResolver } from "#runtime/subagents/registry.js";
5
+ import { type ValueReaction } from "../reaction.js";
6
+ type Selection = Exclude<DurableDynamicSubagentSelection, null>;
7
+ /** A dynamic `subagents/<name>/agent.ts`: `defineAgent(...)`, `defineRemoteAgent(...)`, or `null`. */
8
+ export declare function subagentReaction(resolver: ResolvedDynamicSubagentResolver): ValueReaction;
9
+ /**
10
+ * The dynamic subagents the session's slots select, by node id. A remote agent with credentials
11
+ * carries the binding a child opened now keeps, from which they're built again.
12
+ */
13
+ export declare function readDynamicSubagentSelections(ctx: ContextReader | undefined): Readonly<Record<string, Selection>>;
14
+ /** The model-visible tools of the selected dynamic subagents. */
15
+ export declare function buildDynamicSubagentTools(ctx: ContextReader): readonly HarnessToolDefinition[];
16
+ export {};
@@ -0,0 +1 @@
1
+ import{authoredEvaluate}from"../reaction.js";import{entryVersions,slotValueOf,slotsOf}from"../state.js";import{sessionConnectionNames}from"./connection.js";import{bindingOf}from"../remote.js";import{parseJsonValue}from"#shared/json.js";import{assertNotConnectionOwned}from"#connections/ownership.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";import{normalizeDynamicRemoteAgent}from"#runtime/subagents/dynamic-remote-agent-config.js";import{createPreparedWorkflowToolHarnessDefinition}from"#execution/tools/workflow/harness-definition.js";import{normalizeDynamicSubagentAgentConfig}from"#runtime/subagents/dynamic-agent-config.js";import{createPreparedRuntimeSubagentTool}from"#runtime/subagents/registry.js";function subagentReaction(e){return{contribute:async(t,{ctx:n})=>{if(t==null)return{value:null};let{credentials:r,selection:i}=await selectionOf(n,e,t),a=parseJsonValue(JSON.parse(JSON.stringify(i)));return r===void 0?{value:a}:{live:r,value:a}},id:`subagent:${e.nodeId}`,kind:`subagent`,evaluate:authoredEvaluate(e.evaluate,{framework:e.framework}),label:e.logicalPath}}function readDynamicSubagentSelections(e){let t={};for(let{id:n,slot:r}of slotsOf(e,`subagent`)){let i=slotValueOf(r.value);if(i===null)continue;let a=n.slice(9);t[a]=i.kind===`remote`&&i.remoteAgent.credentials===!0?{...i,binding:bindingOf(e,a)}:i}return t}function buildDynamicSubagentTools(e){return slotsOf(e,`subagent`).flatMap(({id:t,slot:n})=>{let r=slotValueOf(n.value);return r===null||(r.kind===`subagent`?r.agentConfig.tool:r.remoteAgent.tool)===!1?[]:[{...createPreparedWorkflowToolHarnessDefinition(r.prepared),version:entryVersions(e,t)(n.value)}]})}async function selectionOf(e,t,n){assertNotConnectionOwned({connectionNames:sessionConnectionNames(e),name:t.name,remedy:`Rename the subagent directory.`,subject:`Dynamic subagent`});let r={logicalPath:t.logicalPath,name:t.name,nodeId:t.nodeId,sourceId:t.sourceId,sourceKind:t.sourceKind};if(n.kind===`remote`){let{config:i,credentials:a}=await normalizeDynamicRemoteAgent({name:t.name,value:n}),o=t.tool===!1?{...i,tool:!1}:i;assertToolNameAvailable(e,t,o.tool);let s={kind:`remote`,prepared:createPreparedRuntimeSubagentTool({...r,description:o.description,kind:`remote`,path:o.path,tool:o.tool,url:o.url}),remoteAgent:o};return a===void 0?{selection:s}:{credentials:a,selection:s}}let i=await normalizeDynamicSubagentAgentConfig({name:t.name,state:e,value:n}),a=t.tool===!1?{...i,tool:!1}:i;return assertToolNameAvailable(e,t,a.tool),{selection:{agentConfig:a,kind:`subagent`,prepared:createPreparedRuntimeSubagentTool({...r,description:a.description,kind:`subagent`,tool:a.tool})}}}function assertToolNameAvailable(e,t,n){let r=eveNamespaceReservation(t.name);if(r!==void 0)throw Error(`Dynamic subagent "${t.name}" from "${t.logicalPath}" uses the reserved name "${t.name}". ${r}; rename the subagent.`);if(n!==!1&&e.get(BundleKey)?.toolRegistry.toolsByName.has(t.name)===!0)throw Error(`Dynamic subagent "${t.name}" from "${t.logicalPath}" collides with the tool "${t.name}". Set the subagent's tool to false when that tool wraps it.`)}export{buildDynamicSubagentTools,readDynamicSubagentSelections,subagentReaction};
@@ -0,0 +1,16 @@
1
+ import type { ContextReader } from "#context/key.js";
2
+ import type { HarnessToolDefinition } from "#harness/execute-tool.js";
3
+ import type { ResolvedDynamicToolResolver } from "#runtime/types.js";
4
+ import { type ValueReaction } from "../reaction.js";
5
+ /**
6
+ * A `defineDynamic()` in `agent/tools/`: one tool named after the file, or a map of them. The slot
7
+ * records what the model is offered; the tools themselves are code.
8
+ */
9
+ export declare function toolReaction(resolver: ResolvedDynamicToolResolver): ValueReaction;
10
+ /**
11
+ * Every dynamic tool the session's slots hold, in run order. The first reaction to name a tool
12
+ * keeps it; a later one that names it again is logged and left out.
13
+ */
14
+ export declare function dynamicTools(ctx: Pick<ContextReader, "get"> | undefined): HarnessToolDefinition[];
15
+ /** The names of the dynamic tools the session's slots hold, live or not. */
16
+ export declare function dynamicToolNames(ctx: Pick<ContextReader, "get"> | undefined): readonly string[];
@@ -0,0 +1 @@
1
+ import{authoredEvaluate}from"../reaction.js";import{entryVersions,slotsOf}from"../state.js";import{sessionConnectionNames}from"./connection.js";import{createLogger}from"#internal/logging.js";import{serializeInputSchema,serializeOutputSchema,toInputSchema,toOutputSchema}from"#tools/schema.js";import{assertNotConnectionOwned}from"#connections/ownership.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{isBrandedToolEntry}from"#tools/dynamic.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";import{TOOL_SLUG_PATTERN,TOOL_SLUG_RULE}from"#discover/grammar.js";import{isFrameworkTool}from"#tools/provided/framework-tool.js";import{workflowIdForHandling}from"#runtime/subagents/workflow-reference.js";import{createToolExecuteWithAuth}from"#execution/tool-auth.js";import{isWorkflowToolDefinition}from"#tools/workflow-definition.js";const log=createLogger(`dynamic-tools`);function toolReaction(e){return{contribute:(t,{ctx:n})=>{let r=namedTools(e,t).map(({entry:t,name:r})=>(assertToolNameAvailable(n,e,r),liveTool(r,t)));return r.length===0?{value:null}:{live:r,value:r.map(declaration)}},id:`tool:${e.extensionNamespace??``}:${e.slug}`,kind:`tool`,evaluate:authoredEvaluate(e.evaluate,{framework:e.framework}),label:e.logicalPath}}function dynamicTools(e){let t=new Map;for(let{id:n,live:r,slot:i}of slotsOf(e,`tool`)){let a=entryVersions(e,n),o=Array.isArray(i.value)?i.value:[];for(let[e,i]of(r??[]).entries()){let r={...i,version:a(o[e]??null)};if(t.has(r.name)){log.error(`Dynamic tool "${r.name}" from "${n}" collides with another dynamic tool.`);continue}t.set(r.name,r)}}return[...t.values()]}function dynamicToolNames(e){return slotsOf(e,`tool`).flatMap(({slot:e})=>Array.isArray(e.value)?e.value.map(e=>e.name):[])}function namedTools(e,t){if(t==null)return[];let assertOrdinaryTool=t=>{if(isWorkflowToolDefinition(t))throw Error(`The defineDynamic() in "${e.logicalPath}" cannot return defineWorkflowTool(). Workflow tools must be static tools; use defineTool() for dynamic entries.`)};if(assertOrdinaryTool(t),isBrandedToolEntry(t))return[{entry:t,name:e.slug}];if(typeof t!=`object`||Array.isArray(t))throw Error(`The defineDynamic() in "${e.logicalPath}" must return defineTool(), a map of defineTool() values, or null.`);let n=e.extensionNamespace===void 0?``:`${e.extensionNamespace}__`;return Object.entries(t).map(([t,r])=>{if(assertOrdinaryTool(r),!isBrandedToolEntry(r))throw Error(`The defineDynamic() in "${e.logicalPath}" returned "${t}" without defineTool(). Wrap every dynamic tool entry in defineTool().`);let i=`${n}${t}`;if(!TOOL_SLUG_PATTERN.test(i))throw Error(`The defineDynamic() in "${e.logicalPath}" returned illegal tool name "${i}". ${TOOL_SLUG_RULE}`);let a=eveNamespaceReservation(i);if(a!==void 0)throw Error(`The defineDynamic() in "${e.logicalPath}" returned the reserved tool name "${i}". ${a}; rename the map key.`);return{entry:r,name:i}})}function assertToolNameAvailable(e,t,n){assertNotConnectionOwned({connectionNames:sessionConnectionNames(e),name:n,remedy:`Rename the map key.`,subject:`Dynamic tool`});let r=e.get(BundleKey);if(r===void 0)return;let{subagentRegistry:i,toolRegistry:a}=r;if(new Set([...[...a.toolsByName.values()].filter(({prepared:e})=>workflowIdForHandling(e.behavior?.handling)!==void 0).map(({prepared:e})=>e.name),...i.preparedTools.map(e=>e.name),...i.dynamicResolvers.map(e=>e.name)]).has(n))throw Error(`Dynamic tool "${n}" from "${t.logicalPath}" collides with the workflow tool or agent "${n}". Rename the map key.`)}function liveTool(e,t){let n=t,r=n;return{approval:n.approval,availableInSubagents:n.availableInSubagents,deferred:n.deferred,description:n.description,endsTurn:n.endsTurn,execute:createToolExecuteWithAuth({execute:(e,t)=>n.execute(e,t),scope:e}),frameworkTool:isFrameworkTool(n)||void 0,inputSchema:toInputSchema(n.inputSchema),label:r.label,name:e,outputSchema:n.outputSchema===void 0?void 0:toOutputSchema(n.outputSchema),toModelOutput:n.toModelOutput}}function declaration(e){return{description:e.description,inputSchema:serializeInputSchema(e.inputSchema),name:e.name,...e.outputSchema===void 0?{}:{outputSchema:serializeOutputSchema(e.outputSchema)},...e.deferred===!0&&{deferred:!0},...e.endsTurn===!0&&{endsTurn:!0},...e.availableInSubagents===!1&&{availableInSubagents:!1}}}export{dynamicToolNames,dynamicTools,toolReaction};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * How the policies that answer one question combine. A policy can only restrict, so the answer
3
+ * is the most restrictive one and the policies' order never matters. `meet` is associative,
4
+ * commutative, and idempotent, and `open` restricts nothing.
5
+ */
6
+ export interface Restriction<D> {
7
+ readonly open: D;
8
+ readonly meet: (a: D, b: D) => D;
9
+ }
10
+ /** Answers one question; the session acts on what every policy for it answered together. */
11
+ export type Policy<Q, D> = (question: Q) => D;
12
+ /** What `policies` answer together for `question`. */
13
+ export declare function decide<Q, D>(law: Restriction<D>, policies: readonly Policy<Q, D>[], question: Q): D;
@@ -0,0 +1 @@
1
+ function decide(e,t,n){return t.reduce((t,r)=>e.meet(t,r(n)),e.open)}export{decide};