@qduc/term2 0.25.0 → 0.26.1

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 (355) hide show
  1. package/dist/acp-v2/agent.d.ts +37 -0
  2. package/dist/acp-v2/agent.d.ts.map +1 -0
  3. package/dist/acp-v2/agent.js +171 -0
  4. package/dist/acp-v2/agent.js.map +1 -0
  5. package/dist/acp-v2/serve-args.d.ts +26 -0
  6. package/dist/acp-v2/serve-args.d.ts.map +1 -0
  7. package/dist/acp-v2/serve-args.js +29 -0
  8. package/dist/acp-v2/serve-args.js.map +1 -0
  9. package/dist/acp-v2/serve.d.ts +32 -0
  10. package/dist/acp-v2/serve.d.ts.map +1 -0
  11. package/dist/acp-v2/serve.js +232 -0
  12. package/dist/acp-v2/serve.js.map +1 -0
  13. package/dist/acp-v2/session-backend.d.ts +58 -0
  14. package/dist/acp-v2/session-backend.d.ts.map +1 -0
  15. package/dist/acp-v2/session-backend.js +554 -0
  16. package/dist/acp-v2/session-backend.js.map +1 -0
  17. package/dist/agent.d.ts +3 -0
  18. package/dist/agent.d.ts.map +1 -1
  19. package/dist/agent.js +3 -4
  20. package/dist/agent.js.map +1 -1
  21. package/dist/app.d.ts.map +1 -1
  22. package/dist/app.js +12 -6
  23. package/dist/app.js.map +1 -1
  24. package/dist/cli.js +24 -0
  25. package/dist/cli.js.map +1 -1
  26. package/dist/commands/retry-failed-turn-command.d.ts +1 -0
  27. package/dist/commands/retry-failed-turn-command.d.ts.map +1 -1
  28. package/dist/commands/retry-failed-turn-command.js +3 -0
  29. package/dist/commands/retry-failed-turn-command.js.map +1 -1
  30. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  31. package/dist/components/MarkdownRenderer.js +111 -19
  32. package/dist/components/MarkdownRenderer.js.map +1 -1
  33. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  34. package/dist/components/input/ModelMenuSession.js +5 -2
  35. package/dist/components/input/ModelMenuSession.js.map +1 -1
  36. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  37. package/dist/components/input/SettingsValueMenuSession.js +55 -35
  38. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  39. package/dist/components/input/SubagentPoolMenuSession.d.ts.map +1 -1
  40. package/dist/components/input/SubagentPoolMenuSession.js +3 -3
  41. package/dist/components/input/SubagentPoolMenuSession.js.map +1 -1
  42. package/dist/components/input/menu-bindings.d.ts +8 -4
  43. package/dist/components/input/menu-bindings.d.ts.map +1 -1
  44. package/dist/components/input/menu-bindings.js +14 -2
  45. package/dist/components/input/menu-bindings.js.map +1 -1
  46. package/dist/components/input/settings-intent-host.d.ts.map +1 -1
  47. package/dist/components/input/settings-intent-host.js +2 -1
  48. package/dist/components/input/settings-intent-host.js.map +1 -1
  49. package/dist/components/layout/Banner.d.ts.map +1 -1
  50. package/dist/components/layout/Banner.js +5 -1
  51. package/dist/components/layout/Banner.js.map +1 -1
  52. package/dist/components/menu/ModelSelectionMenu.d.ts +2 -1
  53. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  54. package/dist/components/menu/ModelSelectionMenu.js +19 -19
  55. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  56. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  57. package/dist/components/menu/SettingsSelectionMenu.js +32 -10
  58. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  59. package/dist/components/menu/SettingsValueSelectionMenu.d.ts +8 -1
  60. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  61. package/dist/components/menu/SettingsValueSelectionMenu.js +52 -34
  62. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  63. package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -1
  64. package/dist/components/menu/StandaloneModelPickerApp.js +5 -2
  65. package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -1
  66. package/dist/components/menu/settings-value-formatter.d.ts +11 -0
  67. package/dist/components/menu/settings-value-formatter.d.ts.map +1 -1
  68. package/dist/components/menu/settings-value-formatter.js +37 -2
  69. package/dist/components/menu/settings-value-formatter.js.map +1 -1
  70. package/dist/components/message/ChatMessage.js +2 -2
  71. package/dist/components/message/ChatMessage.js.map +1 -1
  72. package/dist/components/message/command-message-helpers.d.ts +7 -7
  73. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  74. package/dist/gateway/gateway.d.ts.map +1 -1
  75. package/dist/gateway/gateway.js +8 -1
  76. package/dist/gateway/gateway.js.map +1 -1
  77. package/dist/gateway/interaction-protocol.d.ts +2 -1
  78. package/dist/gateway/interaction-protocol.d.ts.map +1 -1
  79. package/dist/gateway/interaction-protocol.js +15 -14
  80. package/dist/gateway/interaction-protocol.js.map +1 -1
  81. package/dist/gateway/runtime-factory.d.ts.map +1 -1
  82. package/dist/gateway/runtime-factory.js +6 -2
  83. package/dist/gateway/runtime-factory.js.map +1 -1
  84. package/dist/hooks/settings-completion-config.d.ts +4 -0
  85. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  86. package/dist/hooks/settings-completion-config.js +1 -1
  87. package/dist/hooks/settings-completion-config.js.map +1 -1
  88. package/dist/hooks/use-app-commands.d.ts +3 -1
  89. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  90. package/dist/hooks/use-app-commands.js +2 -2
  91. package/dist/hooks/use-app-commands.js.map +1 -1
  92. package/dist/hooks/use-conversation-messages.d.ts +1 -0
  93. package/dist/hooks/use-conversation-messages.d.ts.map +1 -1
  94. package/dist/hooks/use-conversation-messages.js +11 -0
  95. package/dist/hooks/use-conversation-messages.js.map +1 -1
  96. package/dist/hooks/use-conversation.d.ts +1 -0
  97. package/dist/hooks/use-conversation.d.ts.map +1 -1
  98. package/dist/hooks/use-conversation.js +2 -1
  99. package/dist/hooks/use-conversation.js.map +1 -1
  100. package/dist/hooks/use-model-selection.d.ts +25 -6
  101. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  102. package/dist/hooks/use-model-selection.js +37 -18
  103. package/dist/hooks/use-model-selection.js.map +1 -1
  104. package/dist/hooks/use-profile-selection.d.ts.map +1 -1
  105. package/dist/hooks/use-profile-selection.js +1 -0
  106. package/dist/hooks/use-profile-selection.js.map +1 -1
  107. package/dist/hooks/use-provider-selection.js +4 -4
  108. package/dist/hooks/use-provider-selection.js.map +1 -1
  109. package/dist/hooks/use-settings-completion.d.ts +7 -1
  110. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  111. package/dist/hooks/use-settings-completion.js +21 -1
  112. package/dist/hooks/use-settings-completion.js.map +1 -1
  113. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  114. package/dist/hooks/use-settings-value-completion.js +7 -2
  115. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  116. package/dist/hooks/use-standalone-model-picker.d.ts +9 -4
  117. package/dist/hooks/use-standalone-model-picker.d.ts.map +1 -1
  118. package/dist/hooks/use-standalone-model-picker.js +44 -18
  119. package/dist/hooks/use-standalone-model-picker.js.map +1 -1
  120. package/dist/hooks/use-subagent-pool-selection.d.ts +3 -2
  121. package/dist/hooks/use-subagent-pool-selection.d.ts.map +1 -1
  122. package/dist/hooks/use-subagent-pool-selection.js +11 -7
  123. package/dist/hooks/use-subagent-pool-selection.js.map +1 -1
  124. package/dist/lib/agent-client.d.ts +1 -0
  125. package/dist/lib/agent-client.d.ts.map +1 -1
  126. package/dist/lib/agent-client.js +38 -1
  127. package/dist/lib/agent-client.js.map +1 -1
  128. package/dist/lib/agent-configuration.d.ts +1 -0
  129. package/dist/lib/agent-configuration.d.ts.map +1 -1
  130. package/dist/lib/agent-configuration.js +3 -0
  131. package/dist/lib/agent-configuration.js.map +1 -1
  132. package/dist/lib/agent-factory.d.ts +1 -0
  133. package/dist/lib/agent-factory.d.ts.map +1 -1
  134. package/dist/lib/agent-factory.js +15 -6
  135. package/dist/lib/agent-factory.js.map +1 -1
  136. package/dist/non-interactive.d.ts.map +1 -1
  137. package/dist/non-interactive.js +2 -0
  138. package/dist/non-interactive.js.map +1 -1
  139. package/dist/prompts/fragments/gpt-6.md +13 -0
  140. package/dist/prompts/fragments/skill-instruction-conflicts.md +5 -0
  141. package/dist/prompts/gpt-5.6.md +1 -1
  142. package/dist/prompts/orchestrator-prompt.test.ts +5 -2
  143. package/dist/prompts/orchestrator.md +1 -1
  144. package/dist/prompts/pair-mode-stub.md +3 -0
  145. package/dist/prompts/pair-mode.md +29 -0
  146. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  147. package/dist/prompts/prompt-constructor.js +1 -0
  148. package/dist/prompts/prompt-constructor.js.map +1 -1
  149. package/dist/prompts/prompt-constructor.test.ts +28 -18
  150. package/dist/prompts/prompt-constructor.ts +1 -0
  151. package/dist/prompts/prompt-profiles.js +3 -3
  152. package/dist/prompts/prompt-profiles.js.map +1 -1
  153. package/dist/prompts/prompt-profiles.ts +3 -3
  154. package/dist/prompts/steering-notice.d.ts +3 -3
  155. package/dist/prompts/steering-notice.d.ts.map +1 -1
  156. package/dist/prompts/steering-notice.js +13 -5
  157. package/dist/prompts/steering-notice.js.map +1 -1
  158. package/dist/prompts/steering-notice.test.ts +36 -0
  159. package/dist/prompts/steering-notice.ts +17 -4
  160. package/dist/prompts/subagents/base-gpt-5-modern.md +1 -1
  161. package/dist/prompts/subagents/worker-prompt.test.ts +13 -1
  162. package/dist/prompts/subagents/worker.md +4 -2
  163. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  164. package/dist/providers/codex-responses-model.js +14 -14
  165. package/dist/providers/codex-responses-model.js.map +1 -1
  166. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  167. package/dist/providers/fetch/logging-middleware.js +15 -5
  168. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  169. package/dist/providers/model-catalog/catalog.generated.d.ts +505 -361
  170. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  171. package/dist/providers/model-catalog/catalog.generated.js +505 -361
  172. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  173. package/dist/providers/openrouter-decisions.d.ts +8 -0
  174. package/dist/providers/openrouter-decisions.d.ts.map +1 -1
  175. package/dist/providers/openrouter-decisions.js +59 -12
  176. package/dist/providers/openrouter-decisions.js.map +1 -1
  177. package/dist/scripts/eval-gpt6-prompts.d.ts +2 -0
  178. package/dist/scripts/eval-gpt6-prompts.d.ts.map +1 -0
  179. package/dist/scripts/eval-gpt6-prompts.js +214 -0
  180. package/dist/scripts/eval-gpt6-prompts.js.map +1 -0
  181. package/dist/services/agent-runtime/application-run-loop.d.ts +4 -0
  182. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  183. package/dist/services/agent-runtime/application-run-loop.js +39 -3
  184. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  185. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
  186. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +8 -3
  187. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
  188. package/dist/services/approval/decision-shadow.d.ts +14 -3
  189. package/dist/services/approval/decision-shadow.d.ts.map +1 -1
  190. package/dist/services/approval/decision-shadow.js +11 -12
  191. package/dist/services/approval/decision-shadow.js.map +1 -1
  192. package/dist/services/approval/non-interactive-approval-policy.d.ts +0 -2
  193. package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -1
  194. package/dist/services/approval/non-interactive-approval-policy.js +0 -2
  195. package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
  196. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +1 -3
  197. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  198. package/dist/services/approval/shell-auto-approval-evaluator.js +99 -77
  199. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  200. package/dist/services/conversation/conversation-events.d.ts +27 -5
  201. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  202. package/dist/services/conversation/conversation-events.js +1 -0
  203. package/dist/services/conversation/conversation-events.js.map +1 -1
  204. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  205. package/dist/services/conversation/conversation-orchestrator.js +10 -0
  206. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  207. package/dist/services/conversation-agent-client.d.ts +2 -0
  208. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  209. package/dist/services/decision-shadow/decision-client.d.ts +42 -0
  210. package/dist/services/decision-shadow/decision-client.d.ts.map +1 -0
  211. package/dist/services/decision-shadow/decision-client.js +94 -0
  212. package/dist/services/decision-shadow/decision-client.js.map +1 -0
  213. package/dist/services/decision-shadow/decision-shadow-observer.d.ts +16 -0
  214. package/dist/services/decision-shadow/decision-shadow-observer.d.ts.map +1 -0
  215. package/dist/services/decision-shadow/decision-shadow-observer.js +2 -0
  216. package/dist/services/decision-shadow/decision-shadow-observer.js.map +1 -0
  217. package/dist/services/decision-shadow/decision-shadow-pilot.d.ts +14 -0
  218. package/dist/services/decision-shadow/decision-shadow-pilot.d.ts.map +1 -0
  219. package/dist/services/decision-shadow/decision-shadow-pilot.js +166 -0
  220. package/dist/services/decision-shadow/decision-shadow-pilot.js.map +1 -0
  221. package/dist/services/decision-shadow/failure-observation.d.ts +10 -0
  222. package/dist/services/decision-shadow/failure-observation.d.ts.map +1 -0
  223. package/dist/services/decision-shadow/failure-observation.js +26 -0
  224. package/dist/services/decision-shadow/failure-observation.js.map +1 -0
  225. package/dist/services/decision-shadow/failure-triage.d.ts +33 -0
  226. package/dist/services/decision-shadow/failure-triage.d.ts.map +1 -0
  227. package/dist/services/decision-shadow/failure-triage.js +60 -0
  228. package/dist/services/decision-shadow/failure-triage.js.map +1 -0
  229. package/dist/services/decision-shadow/replay-evaluator.d.ts +44 -0
  230. package/dist/services/decision-shadow/replay-evaluator.d.ts.map +1 -0
  231. package/dist/services/decision-shadow/replay-evaluator.js +65 -0
  232. package/dist/services/decision-shadow/replay-evaluator.js.map +1 -0
  233. package/dist/services/decision-shadow/replay-fixtures.d.ts +8 -0
  234. package/dist/services/decision-shadow/replay-fixtures.d.ts.map +1 -0
  235. package/dist/services/decision-shadow/replay-fixtures.js +14 -0
  236. package/dist/services/decision-shadow/replay-fixtures.js.map +1 -0
  237. package/dist/services/memory/memory-capabilities.d.ts +6 -5
  238. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  239. package/dist/services/memory/memory-capabilities.js +79 -7
  240. package/dist/services/memory/memory-capabilities.js.map +1 -1
  241. package/dist/services/mode-notices.d.ts.map +1 -1
  242. package/dist/services/mode-notices.js +5 -1
  243. package/dist/services/mode-notices.js.map +1 -1
  244. package/dist/services/models/decision-model-listing.d.ts +3 -3
  245. package/dist/services/models/decision-model-listing.d.ts.map +1 -1
  246. package/dist/services/models/decision-model-listing.js +3 -3
  247. package/dist/services/models/decision-model-listing.js.map +1 -1
  248. package/dist/services/models/model-nicknames.d.ts +38 -2
  249. package/dist/services/models/model-nicknames.d.ts.map +1 -1
  250. package/dist/services/models/model-nicknames.js +64 -8
  251. package/dist/services/models/model-nicknames.js.map +1 -1
  252. package/dist/services/models/model-tabs.d.ts +22 -0
  253. package/dist/services/models/model-tabs.d.ts.map +1 -0
  254. package/dist/services/models/model-tabs.js +38 -0
  255. package/dist/services/models/model-tabs.js.map +1 -0
  256. package/dist/services/profiles/labels.d.ts.map +1 -1
  257. package/dist/services/profiles/labels.js +2 -0
  258. package/dist/services/profiles/labels.js.map +1 -1
  259. package/dist/services/profiles/legacy-adapter.d.ts.map +1 -1
  260. package/dist/services/profiles/legacy-adapter.js +1 -0
  261. package/dist/services/profiles/legacy-adapter.js.map +1 -1
  262. package/dist/services/profiles/profile-transition.d.ts.map +1 -1
  263. package/dist/services/profiles/profile-transition.js +3 -0
  264. package/dist/services/profiles/profile-transition.js.map +1 -1
  265. package/dist/services/profiles/registry.d.ts.map +1 -1
  266. package/dist/services/profiles/registry.js +8 -0
  267. package/dist/services/profiles/registry.js.map +1 -1
  268. package/dist/services/session/continuation-recovery-handler.d.ts +4 -2
  269. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  270. package/dist/services/session/continuation-recovery-handler.js +1 -1
  271. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  272. package/dist/services/session/initial-turn-recovery-handler.d.ts +4 -2
  273. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  274. package/dist/services/session/initial-turn-recovery-handler.js +1 -1
  275. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  276. package/dist/services/session/pending-interaction-state.d.ts +2 -0
  277. package/dist/services/session/pending-interaction-state.d.ts.map +1 -1
  278. package/dist/services/session/pending-interaction-state.js +12 -0
  279. package/dist/services/session/pending-interaction-state.js.map +1 -1
  280. package/dist/services/session/session-composition.d.ts +18 -2
  281. package/dist/services/session/session-composition.d.ts.map +1 -1
  282. package/dist/services/session/session-composition.js +74 -46
  283. package/dist/services/session/session-composition.js.map +1 -1
  284. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  285. package/dist/services/session/turn-workflow.js +2 -1
  286. package/dist/services/session/turn-workflow.js.map +1 -1
  287. package/dist/services/settings/ancillary-settings-migration.d.ts.map +1 -1
  288. package/dist/services/settings/ancillary-settings-migration.js +4 -0
  289. package/dist/services/settings/ancillary-settings-migration.js.map +1 -1
  290. package/dist/services/settings/settings-schema.d.ts +4 -4
  291. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  292. package/dist/services/settings/settings-schema.js +17 -17
  293. package/dist/services/settings/settings-schema.js.map +1 -1
  294. package/dist/services/settings/settings-service.d.ts +4 -1
  295. package/dist/services/settings/settings-service.d.ts.map +1 -1
  296. package/dist/services/settings/settings-service.js +19 -24
  297. package/dist/services/settings/settings-service.js.map +1 -1
  298. package/dist/services/settings/settings-sources.d.ts +1 -1
  299. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  300. package/dist/services/settings/settings-sources.js +1 -1
  301. package/dist/services/settings/settings-sources.js.map +1 -1
  302. package/dist/services/settings/settings-ui-metadata.d.ts +4 -0
  303. package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -1
  304. package/dist/services/settings/settings-ui-metadata.js +22 -13
  305. package/dist/services/settings/settings-ui-metadata.js.map +1 -1
  306. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -1
  307. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  308. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +1 -1
  309. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  310. package/dist/services/subagents/execution-runner.js +4 -4
  311. package/dist/services/subagents/execution-runner.js.map +1 -1
  312. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  313. package/dist/services/subagents/mentor-runner.js +2 -2
  314. package/dist/services/subagents/mentor-runner.js.map +1 -1
  315. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  316. package/dist/services/subagents/role-loader.js +1 -0
  317. package/dist/services/subagents/role-loader.js.map +1 -1
  318. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  319. package/dist/services/subagents/subagent-async-registry.js +5 -6
  320. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  321. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  322. package/dist/services/subagents/subagent-notification-store.js +1 -3
  323. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  324. package/dist/services/subagents/utils.d.ts +1 -1
  325. package/dist/services/subagents/utils.d.ts.map +1 -1
  326. package/dist/services/subagents/utils.js +4 -1
  327. package/dist/services/subagents/utils.js.map +1 -1
  328. package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
  329. package/dist/tools/system/run-code/run-code.js +1 -0
  330. package/dist/tools/system/run-code/run-code.js.map +1 -1
  331. package/dist/tools/system/shell.d.ts +2 -0
  332. package/dist/tools/system/shell.d.ts.map +1 -1
  333. package/dist/tools/system/shell.js +9 -4
  334. package/dist/tools/system/shell.js.map +1 -1
  335. package/dist/types/message.d.ts +2 -0
  336. package/dist/types/message.d.ts.map +1 -1
  337. package/dist/types/message.js.map +1 -1
  338. package/dist/utils/clear-input-before-reset.d.ts +19 -0
  339. package/dist/utils/clear-input-before-reset.d.ts.map +1 -0
  340. package/dist/utils/clear-input-before-reset.js +20 -0
  341. package/dist/utils/clear-input-before-reset.js.map +1 -0
  342. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  343. package/dist/utils/conversation/conversation-event-handler.js +6 -1
  344. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  345. package/dist/utils/settings-command.d.ts +2 -0
  346. package/dist/utils/settings-command.d.ts.map +1 -1
  347. package/dist/utils/settings-command.js +30 -1
  348. package/dist/utils/settings-command.js.map +1 -1
  349. package/dist/utils/shell/sandbox/denied-read-detector.d.ts.map +1 -1
  350. package/dist/utils/shell/sandbox/denied-read-detector.js +10 -6
  351. package/dist/utils/shell/sandbox/denied-read-detector.js.map +1 -1
  352. package/dist/utils/value-suggestions.js +3 -3
  353. package/dist/utils/value-suggestions.js.map +1 -1
  354. package/package.json +2 -1
  355. package/dist/prompts/fragments/gpt-6-astra.md +0 -13
@@ -0,0 +1,554 @@
1
+ import path from 'node:path';
2
+ import { realpathSync, statSync } from 'node:fs';
3
+ import { randomUUID } from 'node:crypto';
4
+ import * as acp from '@agentclientprotocol/sdk/experimental/v2';
5
+ import { getConversationsDir, listConversations, loadConversation, } from '../services/conversation/conversation-persistence.js';
6
+ import { createConversationLogWriter, LockConflictError, } from '../services/logging/conversation-log-writer.js';
7
+ import { LoggingService } from '../services/logging/logging-service.js';
8
+ import { describeError } from '../utils/error-helpers.js';
9
+ import { projectPendingInteraction } from '../gateway/interaction-protocol.js';
10
+ const MAX_TEXT = 16_384;
11
+ const MAX_ARGUMENTS = 8_192;
12
+ const PAGE_SIZE = 50;
13
+ const ACP_PERMISSION_KINDS = {
14
+ approve: 'allow_once',
15
+ 'allow-once': 'allow_once',
16
+ 'allow-folder-session': 'allow_always',
17
+ 'allow-edit-file-session': 'allow_always',
18
+ 'allow-edit-folder-session': 'allow_always',
19
+ reject: 'reject_once',
20
+ deny: 'reject_once',
21
+ };
22
+ export function mapAcpPermissionChoices(choices) {
23
+ return choices.flatMap((choice) => {
24
+ const kind = ACP_PERMISSION_KINDS[choice.id];
25
+ return kind ? [{ choice, option: { optionId: choice.id, name: choice.label, kind } }] : [];
26
+ });
27
+ }
28
+ export function createAcpV2SessionBackend(options) {
29
+ const sessions = new Map();
30
+ const active = new Map();
31
+ const createId = options.createId ?? randomUUID;
32
+ const list = options.list ?? listConversations;
33
+ const load = options.load ?? loadConversation;
34
+ const ownerUserId = options.ownerUserId ?? 'acp';
35
+ const pageSize = options.pageSize ?? PAGE_SIZE;
36
+ const logger = options.logger ?? new LoggingService({ disableLogging: true, suppressConsoleOutput: true });
37
+ const writerFactory = options.writerFactory ?? createConversationLogWriter;
38
+ const writers = new Map();
39
+ const permissionClients = new Map();
40
+ const sessionPermissionGrants = new Map();
41
+ const decideApproval = options.decideApproval ?? (async () => ({ answer: 'n', reason: 'Approval is not yet supported over ACP.' }));
42
+ const requestPermission = async (sessionId, snapshot, toolCallId) => {
43
+ const pending = permissionClients.get(sessionId);
44
+ if (!pending)
45
+ return undefined;
46
+ if (snapshot.revision === undefined)
47
+ return { answer: 'n', reason: 'Permission revision is unavailable.' };
48
+ const toolName = snapshot.approval.toolName;
49
+ const dto = projectPendingInteraction(snapshot.approval, String(snapshot.interactionId), snapshot.revision);
50
+ if (dto.kind !== 'tool_approval')
51
+ return { answer: 'n', reason: 'This interaction cannot be approved over ACP.' };
52
+ const optionsById = mapAcpPermissionChoices(dto.choices);
53
+ const grants = sessionPermissionGrants.get(sessionId) ?? [];
54
+ const existingGrant = grants.find((grant) => grant.toolName === toolName &&
55
+ optionsById.some(({ option }) => option.optionId === grant.answer) &&
56
+ grantCovers(grant, snapshot.approval));
57
+ if (existingGrant)
58
+ return { answer: existingGrant.answer };
59
+ try {
60
+ const response = await pending.client.request(acp.methods.client.session.requestPermission, {
61
+ sessionId,
62
+ title: dto.descriptor.toolName,
63
+ description: dto.descriptor.argumentsText,
64
+ subject: {
65
+ type: 'tool_call',
66
+ toolCall: {
67
+ toolCallId: toolCallId ?? dto.descriptor.callId ?? `${sessionId}:approval`,
68
+ title: dto.descriptor.toolName,
69
+ name: dto.descriptor.toolName,
70
+ status: 'pending',
71
+ },
72
+ },
73
+ options: optionsById.map(({ option }) => option),
74
+ }, { cancellationSignal: pending.signal });
75
+ const outcome = response?.outcome;
76
+ if (!outcome ||
77
+ outcome.outcome !== 'selected' ||
78
+ !('optionId' in outcome) ||
79
+ typeof outcome.optionId !== 'string')
80
+ return { answer: 'n', reason: 'Permission request was cancelled.' };
81
+ const selected = optionsById.find(({ option }) => option.optionId === outcome.optionId) ??
82
+ (outcome.optionId === 'allow-once' ? optionsById.find(({ choice }) => choice.id === 'approve') : undefined);
83
+ if (!selected)
84
+ return { answer: 'n', reason: 'Client selected an unknown permission option.' };
85
+ const answer = selected.option.kind === 'reject_once' || selected.option.kind === 'reject_always'
86
+ ? 'n'
87
+ : selected.choice.id === 'approve'
88
+ ? 'y'
89
+ : selected.choice.id === 'allow-once'
90
+ ? 'y'
91
+ : selected.choice.id;
92
+ if (selected.option.kind === 'allow_always') {
93
+ const scope = permissionScope(answer, snapshot.approval);
94
+ if (scope) {
95
+ const current = sessionPermissionGrants.get(sessionId) ?? [];
96
+ current.push({ toolName, answer, ...scope });
97
+ sessionPermissionGrants.set(sessionId, current);
98
+ }
99
+ }
100
+ return { answer, ...(answer === 'n' ? { reason: 'Permission denied by client.' } : {}) };
101
+ }
102
+ catch (error) {
103
+ return {
104
+ answer: 'n',
105
+ reason: error instanceof Error && error.message.includes('Method not found')
106
+ ? 'Approval is not yet supported over ACP.'
107
+ : 'Permission request failed.',
108
+ };
109
+ }
110
+ };
111
+ const invalid = (message) => {
112
+ throw acp.RequestError.invalidParams(undefined, message);
113
+ };
114
+ const missing = (sessionId) => {
115
+ throw new acp.RequestError(-32001, `Session not found: ${sessionId}`);
116
+ };
117
+ const validateCwd = (cwd) => {
118
+ if (!path.isAbsolute(cwd))
119
+ invalid('cwd must be an absolute path');
120
+ try {
121
+ const canonical = realpathSync(cwd);
122
+ if (!statSync(canonical).isDirectory())
123
+ invalid('cwd must be a directory');
124
+ return canonical;
125
+ }
126
+ catch {
127
+ invalid('cwd must exist and be a directory');
128
+ }
129
+ throw new Error('unreachable');
130
+ };
131
+ const mapEvent = async (event, turn) => {
132
+ if (event.type === 'approval_required') {
133
+ const snapshot = turn.session.service.getPendingInteractionSnapshot?.() ?? null;
134
+ let answer = 'n';
135
+ let reason = 'Approval is not yet supported over ACP.';
136
+ let decisionReady = false;
137
+ try {
138
+ const permissionDecision = snapshot
139
+ ? await requestPermission(turn.session.sessionId, snapshot, event.approval.callId)
140
+ : undefined;
141
+ const decision = permissionDecision ??
142
+ (await decideApproval({
143
+ toolName: event.approval.toolName,
144
+ callId: event.approval.callId,
145
+ argumentsText: event.approval.argumentsText,
146
+ }, { sessionId: turn.session.sessionId, cwd: turn.session.binding.canonicalRoot }));
147
+ answer = decision.answer;
148
+ reason = decision.reason ?? (answer === 'y' ? '' : 'Approval denied.');
149
+ if (turn.emit && answer !== 'y' && !answer.startsWith('allow-')) {
150
+ await turn.emit({
151
+ sessionUpdate: 'tool_call_update',
152
+ toolCallId: event.approval.callId ?? `${turn.turnId}:approval`,
153
+ title: 'Approval required',
154
+ kind: toolKind(event.approval.toolName),
155
+ status: 'failed',
156
+ content: [{ type: 'content', content: { type: 'text', text: reason || 'Approval granted.' } }],
157
+ });
158
+ }
159
+ decisionReady = true;
160
+ }
161
+ catch (error) {
162
+ reason = error instanceof Error ? error.message : 'Approval denied.';
163
+ }
164
+ finally {
165
+ if (snapshot) {
166
+ try {
167
+ const resolution = turn.session.resolvePendingInteraction({
168
+ expectedInteractionId: snapshot.interactionId,
169
+ ...(snapshot.revision === undefined ? {} : { expectedRevision: snapshot.revision }),
170
+ answer: decisionReady ? answer : 'n',
171
+ rejectionReason: decisionReady && (answer === 'y' || answer.startsWith('allow-')) ? undefined : reason,
172
+ });
173
+ if ((!resolution || resolution.kind === 'resolved') && decisionReady) {
174
+ await turn.session.service.handleApprovalDecision(answer, answer === 'y' || answer.startsWith('allow-') ? undefined : reason);
175
+ }
176
+ }
177
+ catch {
178
+ await turn.session.abort(turn.turnId).catch(() => undefined);
179
+ turn.resolve?.({ stopReason: 'cancelled' });
180
+ }
181
+ }
182
+ else {
183
+ if (decisionReady) {
184
+ turn.resolve?.({ stopReason: 'end_turn' });
185
+ }
186
+ else {
187
+ await turn.session.abort(turn.turnId).catch(() => undefined);
188
+ turn.resolve?.({ stopReason: 'cancelled' });
189
+ }
190
+ }
191
+ }
192
+ return;
193
+ }
194
+ if (!turn.emit)
195
+ return;
196
+ switch (event.type) {
197
+ case 'text_delta': {
198
+ const text = bound(event.delta, MAX_TEXT);
199
+ turn.streamedAssistantLength += text.length;
200
+ await turn.emit({
201
+ sessionUpdate: 'agent_message_chunk',
202
+ messageId: `${turn.turnId}:assistant`,
203
+ content: { type: 'text', text },
204
+ });
205
+ return;
206
+ }
207
+ case 'reasoning_delta':
208
+ // ConversationEvent reasoning is already the sanitized presentation path.
209
+ await turn.emit({
210
+ sessionUpdate: 'agent_thought_chunk',
211
+ messageId: `${turn.turnId}:thought`,
212
+ content: { type: 'text', text: bound(event.delta, MAX_TEXT) },
213
+ });
214
+ return;
215
+ case 'tool_started':
216
+ await turn.emit({
217
+ sessionUpdate: 'tool_call',
218
+ toolCallId: event.toolCallId,
219
+ title: bound(event.toolName, 256),
220
+ kind: toolKind(event.toolName),
221
+ status: 'pending',
222
+ rawInput: boundedJson(event.arguments, MAX_ARGUMENTS),
223
+ });
224
+ return;
225
+ case 'tool_dispatched':
226
+ await turn.emit({
227
+ sessionUpdate: 'tool_call_update',
228
+ toolCallId: event.toolCallId,
229
+ name: bound(event.toolName, 256),
230
+ title: bound(event.toolName, 256),
231
+ kind: toolKind(event.toolName),
232
+ status: 'in_progress',
233
+ });
234
+ return;
235
+ case 'tool_call_streaming_delta':
236
+ if (event.toolName && event.toolCallId) {
237
+ await turn.emit({
238
+ sessionUpdate: 'tool_call_update',
239
+ toolCallId: event.toolCallId,
240
+ name: bound(event.toolName, 256),
241
+ status: 'in_progress',
242
+ rawInput: { argumentCharCount: Math.min(event.argumentCharCount, MAX_ARGUMENTS) },
243
+ });
244
+ }
245
+ return;
246
+ case 'final':
247
+ if (event.finalText.slice(turn.streamedAssistantLength)) {
248
+ await turn.emit({
249
+ sessionUpdate: 'agent_message_chunk',
250
+ messageId: `${turn.turnId}:assistant`,
251
+ content: { type: 'text', text: bound(event.finalText.slice(turn.streamedAssistantLength), MAX_TEXT) },
252
+ });
253
+ }
254
+ turn.resolve?.({ stopReason: stopReasonForTerminalCause(event.terminalCause) });
255
+ return;
256
+ case 'error':
257
+ turn.reject?.(new Error(bound(event.message, MAX_TEXT)));
258
+ return;
259
+ default:
260
+ return;
261
+ }
262
+ };
263
+ const create = async (cwd, sessionId = createId()) => {
264
+ const root = validateCwd(cwd);
265
+ const binding = {
266
+ sessionId,
267
+ ownerUserId,
268
+ workspaceId: root,
269
+ grantVersion: 1,
270
+ canonicalRoot: root,
271
+ access: 'read_write',
272
+ };
273
+ const created = await options.runtimeFactory.create(binding, {
274
+ eventSink: async (event) => {
275
+ const turn = active.get(sessionId);
276
+ if (turn)
277
+ await mapEvent(event, turn);
278
+ },
279
+ });
280
+ if (!created.service) {
281
+ sessions.set(sessionId, created);
282
+ return created;
283
+ }
284
+ const settings = created.settings;
285
+ let writer;
286
+ try {
287
+ writer = writerFactory({ sessionId, dir: getConversationsDir(), logger });
288
+ writer.init({
289
+ id: sessionId,
290
+ createdAt: new Date().toISOString(),
291
+ projectPath: root,
292
+ ...(settings?.modelId ? { model: settings.modelId } : {}),
293
+ ...(settings?.providerId ? { provider: settings.providerId } : {}),
294
+ });
295
+ created.service.setLogSink((event) => writer.append(event));
296
+ }
297
+ catch (error) {
298
+ await created.dispose();
299
+ if (error instanceof LockConflictError) {
300
+ throw new acp.RequestError(-32009, `Conversation ${sessionId} is locked`);
301
+ }
302
+ throw error;
303
+ }
304
+ writers.set(sessionId, writer);
305
+ sessions.set(sessionId, created);
306
+ return created;
307
+ };
308
+ const cancelSession = async (sessionId) => {
309
+ const turn = active.get(sessionId);
310
+ if (turn)
311
+ await turn.session.abort(turn.turnId);
312
+ };
313
+ const closeSession = async (sessionId) => {
314
+ const session = sessions.get(sessionId);
315
+ if (!session)
316
+ return;
317
+ try {
318
+ await session.dispose();
319
+ }
320
+ finally {
321
+ session.service.setLogSink(null);
322
+ await writers.get(sessionId)?.close();
323
+ writers.delete(sessionId);
324
+ sessions.delete(sessionId);
325
+ }
326
+ };
327
+ return {
328
+ setClient(sessionId, client, signal) {
329
+ permissionClients.set(sessionId, { client, signal });
330
+ },
331
+ clearClient(sessionId) {
332
+ permissionClients.delete(sessionId);
333
+ sessionPermissionGrants.delete(sessionId);
334
+ },
335
+ async createSession(request) {
336
+ const session = await create(request.cwd);
337
+ return { sessionId: session.sessionId };
338
+ },
339
+ async listSessions(request) {
340
+ const entries = list(request.cwd ?? undefined);
341
+ const offset = request.cursor ? parseCursor(request.cursor) : 0;
342
+ const page = entries.slice(offset, offset + pageSize);
343
+ return {
344
+ sessions: page.map(toSessionInfo),
345
+ ...(offset + page.length < entries.length ? { nextCursor: String(offset + page.length) } : {}),
346
+ };
347
+ },
348
+ async resumeSession(request, emit) {
349
+ const existing = sessions.get(request.sessionId);
350
+ if (existing) {
351
+ const requestedRoot = validateCwd(request.cwd);
352
+ if (requestedRoot !== existing.binding.canonicalRoot) {
353
+ invalid('cwd does not match the live session workspace');
354
+ }
355
+ }
356
+ const restored = load(request.sessionId, request.cwd);
357
+ if (!existing) {
358
+ if (!restored)
359
+ missing(request.sessionId);
360
+ const session = await create(request.cwd, request.sessionId);
361
+ const restoredState = restored;
362
+ const providerMatches = !restoredState.provider || restoredState.provider === session.settings.providerId;
363
+ const modelMatches = !restoredState.model || restoredState.model === session.settings.modelId;
364
+ session.service.importState({
365
+ history: restoredState.history,
366
+ previousResponseId: providerMatches && modelMatches ? restoredState.previousResponseId : null,
367
+ toolLedger: restoredState.toolLedger,
368
+ updatedAt: restoredState.updatedAt,
369
+ });
370
+ }
371
+ if (restored && request.replayFrom)
372
+ await replay(restored, emit);
373
+ return {};
374
+ },
375
+ closeSession,
376
+ async preparePrompt(request) {
377
+ const session = sessions.get(request.sessionId);
378
+ if (!session)
379
+ missing(request.sessionId);
380
+ const liveSession = session;
381
+ const input = promptToTurn(request.prompt);
382
+ const prepared = await liveSession.prepareMessage(input, { turnId: createId(), clientRequestId: createId() });
383
+ if (prepared.kind !== 'prepared')
384
+ throw new acp.RequestError(-32000, `Session is ${prepared.reason}`);
385
+ return {
386
+ run: async (emit, signal) => {
387
+ if (signal.aborted)
388
+ return { stopReason: 'cancelled' };
389
+ const turn = {
390
+ session: liveSession,
391
+ turnId: prepared.turnId,
392
+ leaseId: prepared.leaseId,
393
+ emit,
394
+ resolve: null,
395
+ reject: null,
396
+ streamedAssistantLength: 0,
397
+ };
398
+ active.set(request.sessionId, turn);
399
+ const outcome = new Promise((resolve, reject) => {
400
+ turn.resolve = resolve;
401
+ turn.reject = reject;
402
+ });
403
+ const abort = () => {
404
+ void liveSession.abort(prepared.turnId).then(() => turn.resolve?.({ stopReason: 'cancelled' }));
405
+ };
406
+ signal.addEventListener('abort', abort, { once: true });
407
+ try {
408
+ await liveSession.commitMessage(prepared.leaseId);
409
+ return await outcome;
410
+ }
411
+ finally {
412
+ signal.removeEventListener('abort', abort);
413
+ active.delete(request.sessionId);
414
+ }
415
+ },
416
+ };
417
+ },
418
+ cancelSession,
419
+ /**
420
+ * Cancel every in-flight turn, then close every live session. Closing is
421
+ * what flushes the conversation log writer and releases its lock, so this
422
+ * is the flush boundary the launcher's bounded shutdown waits on.
423
+ *
424
+ * Every step settles before the next pass starts: a rejected cancellation
425
+ * must not skip the close pass, because the sessions it never reached would
426
+ * keep their log writers open and their `.lock` files behind. Failures are
427
+ * aggregated and thrown once both passes are done, so the caller still
428
+ * learns about them instead of reading a clean shutdown.
429
+ */
430
+ async shutdown() {
431
+ const sessionIds = [...sessions.keys()];
432
+ const settlements = [
433
+ ...(await Promise.allSettled(sessionIds.map((sessionId) => cancelSession(sessionId)))),
434
+ ...(await Promise.allSettled(sessionIds.map((sessionId) => closeSession(sessionId)))),
435
+ ];
436
+ const failures = settlements.filter((settlement) => settlement.status === 'rejected');
437
+ if (failures.length === 0)
438
+ return;
439
+ throw new AggregateError(failures.map((failure) => failure.reason), `shutdown failed for ${failures.length} of ${settlements.length} teardown step(s): ${failures
440
+ .map((failure) => describeError(failure.reason))
441
+ .join('; ')}`);
442
+ },
443
+ };
444
+ }
445
+ export const createProductionAcpV2SessionBackend = createAcpV2SessionBackend;
446
+ function permissionScope(answer, approval) {
447
+ const scopeKind = answer === 'allow-edit-file-session' ? 'file' : 'folder';
448
+ const outside = approval.outsideWorkspaceEdit;
449
+ if (outside)
450
+ return { scopeKind, scopePath: path.resolve(scopeKind === 'file' ? outside.path : outside.folder) };
451
+ const target = approvalPath(approval.argumentsText);
452
+ return target ? { scopeKind, scopePath: path.resolve(target) } : undefined;
453
+ }
454
+ function grantCovers(grant, approval) {
455
+ const scope = permissionScope(grant.answer, approval);
456
+ if (!scope || scope.scopeKind !== grant.scopeKind)
457
+ return false;
458
+ const target = path.resolve(scope.scopePath);
459
+ const granted = path.resolve(grant.scopePath);
460
+ return grant.scopeKind === 'file'
461
+ ? target === granted
462
+ : target === granted || target.startsWith(`${granted}${path.sep}`);
463
+ }
464
+ function approvalPath(argumentsText) {
465
+ try {
466
+ const parsed = JSON.parse(argumentsText);
467
+ for (const key of ['path', 'filePath', 'filepath', 'target']) {
468
+ if (typeof parsed[key] === 'string' && parsed[key])
469
+ return parsed[key];
470
+ }
471
+ }
472
+ catch {
473
+ // A malformed or non-path approval cannot safely reuse a scoped grant.
474
+ }
475
+ return undefined;
476
+ }
477
+ function bound(value, max) {
478
+ return value.length > max ? `${value.slice(0, max)}…` : value;
479
+ }
480
+ function boundedJson(value, max) {
481
+ const text = bound(JSON.stringify(value) ?? 'null', max);
482
+ try {
483
+ return JSON.parse(text);
484
+ }
485
+ catch {
486
+ return text;
487
+ }
488
+ }
489
+ function toolKind(name) {
490
+ if (/read|search|list|glob/i.test(name))
491
+ return 'read';
492
+ if (/edit|write|patch/i.test(name))
493
+ return 'edit';
494
+ if (/shell|command|exec/i.test(name))
495
+ return 'execute';
496
+ if (/web|fetch/i.test(name))
497
+ return 'fetch';
498
+ return 'other';
499
+ }
500
+ function stopReasonForTerminalCause(cause) {
501
+ return cause === 'budget_exhausted' ? 'max_turn_requests' : 'end_turn';
502
+ }
503
+ function promptToTurn(blocks) {
504
+ const text = blocks
505
+ .map((block) => {
506
+ if (block.type === 'text')
507
+ return block.text;
508
+ if (block.type === 'resource_link')
509
+ return `[Resource: ${bound(String(block.uri), MAX_TEXT)}]`;
510
+ if (block.type === 'resource') {
511
+ const resource = block.resource;
512
+ if (resource.type === 'text' && typeof resource.text === 'string')
513
+ return resource.text;
514
+ }
515
+ invalidBlock(block.type);
516
+ })
517
+ .join('\n');
518
+ if (!text.trim())
519
+ throw acp.RequestError.invalidParams(undefined, 'prompt must contain text');
520
+ return { text };
521
+ }
522
+ function invalidBlock(type) {
523
+ throw acp.RequestError.invalidParams(undefined, `Unsupported prompt content block: ${type}`);
524
+ }
525
+ function parseCursor(cursor) {
526
+ const value = Number.parseInt(cursor, 10);
527
+ return Number.isSafeInteger(value) && value >= 0 ? value : 0;
528
+ }
529
+ function toSessionInfo(entry) {
530
+ return {
531
+ sessionId: entry.id,
532
+ cwd: entry.projectPath ?? '/',
533
+ ...(entry.firstUserMessage ? { title: bound(entry.firstUserMessage, 256) } : {}),
534
+ ...(entry.updatedAt ? { updatedAt: entry.updatedAt } : {}),
535
+ };
536
+ }
537
+ async function replay(state, emit) {
538
+ for (const message of state.messages ?? []) {
539
+ if (message.sender === 'user') {
540
+ await emit({
541
+ sessionUpdate: 'user_message_chunk',
542
+ content: { type: 'text', text: bound(message.text, MAX_TEXT) },
543
+ });
544
+ }
545
+ else if (message.sender === 'bot') {
546
+ await emit({
547
+ sessionUpdate: 'agent_message_chunk',
548
+ messageId: `${state.id}:replay`,
549
+ content: { type: 'text', text: bound(message.text, MAX_TEXT) },
550
+ });
551
+ }
552
+ }
553
+ }
554
+ //# sourceMappingURL=session-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-backend.js","sourceRoot":"","sources":["../../source/acp-v2/session-backend.ts"],"names":[],"mappings":"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"}
package/dist/agent.d.ts CHANGED
@@ -24,6 +24,8 @@ export interface AgentDefinition {
24
24
  instructions: string;
25
25
  tools: ToolRegistry;
26
26
  model: string;
27
+ /** Enable task-relevant memory injection only for profiles exposing root memory context. */
28
+ memoryContextEnabled: boolean;
27
29
  }
28
30
  type SubagentResultLike = Pick<SubagentResult, 'finalText'> & Partial<NestedSubagentResult>;
29
31
  /**
@@ -47,6 +49,7 @@ export declare const getAgentDefinition: (deps: {
47
49
  postExecuteDeniedRead?: boolean;
48
50
  sessionAccess?: SessionAccessState;
49
51
  readOnly?: boolean;
52
+ allowUnsandboxed?: boolean;
50
53
  /** Root-session-only capability. Nested/subagent factories do not receive it. */
51
54
  backgroundShellRegistry?: BackgroundShellRegistry<BackgroundShellExecutionResult>;
52
55
  /** Root-session-only output store + watch layer for background jobs. */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../source/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../source/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAIrF,OAAO,EAGL,KAAK,8BAA8B,EACpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAGhG,OAAO,EAAmC,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAclH,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAChC,MAAM,0CAA0C,CAAC;AAGlD,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAInE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAKpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAK9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC7G,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAElG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,wBAAgB,UAAU,CACxB,eAAe,EAAE,gBAAgB,EACjC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,IAAI,UAAQ,GACX,MAAM,CAsCR;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA8BzD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAsC5F;;GAEG;AACH,eAAO,MAAM,kBAAkB,SACvB;IACJ,eAAe,EAAE,gBAAgB,CAAC;IAClC,cAAc,EAAE,eAAe,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,sBAAsB,CAAC,EAAE,0BAA0B,CAAC;IACpD,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,CACZ,MAAM,EAAE,2BAA2B,EACnC,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,iBAAiB,CAAC,EAAE,CAClB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,iBAAiB,CAAC,EAAE,CAClB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,KACd,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,0BAA0B,CAAC;IAChF,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,wBAAwB,CAAC;IAC1E,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3D,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,uBAAuB,CAAC,EAAE,uBAAuB,CAAC,8BAA8B,CAAC,CAAC;IAClF,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,2BAA2B,CAAC;IACpD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,qFAAqF;IACrF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2FAA2F;IAC3F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oFAAoF;IACpF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,6BAA6B,CAAC;IAC5F,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,0BAA0B,CAAC;IAC1F,oBAAoB,CAAC,EAAE,CACrB,MAAM,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAClD,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,KAChD,IAAI,CAAC;IACV,gFAAgF;IAChF,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,UACO,MAAM,KACb,eA+YF,CAAC"}