@gajae-code/coding-agent 0.10.2 → 0.11.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 (465) hide show
  1. package/CHANGELOG.md +50 -2
  2. package/dist/types/append-only-mode.d.ts +1 -1
  3. package/dist/types/cli/args.d.ts +4 -5
  4. package/dist/types/cli/daemon-cli.d.ts +12 -1
  5. package/dist/types/cli/notify-cli.d.ts +21 -1
  6. package/dist/types/cli.d.ts +3 -0
  7. package/dist/types/commands/daemon.d.ts +39 -0
  8. package/dist/types/commands/launch.d.ts +3 -0
  9. package/dist/types/commands/notify.d.ts +28 -1
  10. package/dist/types/commands/sdk.d.ts +33 -0
  11. package/dist/types/config/atomic-yaml-patch.d.ts +85 -0
  12. package/dist/types/config/model-profile-activation.d.ts +35 -15
  13. package/dist/types/config/model-profiles.d.ts +11 -5
  14. package/dist/types/config/model-registry.d.ts +3 -3
  15. package/dist/types/config/model-resolver.d.ts +39 -6
  16. package/dist/types/config/model-selector-value.d.ts +17 -0
  17. package/dist/types/config/models-config-schema.d.ts +10 -6
  18. package/dist/types/config/settings-schema.d.ts +133 -6
  19. package/dist/types/config/settings.d.ts +63 -35
  20. package/dist/types/coordinator-mcp/model-preset.d.ts +7 -6
  21. package/dist/types/coordinator-mcp/server.d.ts +6 -49
  22. package/dist/types/daemon/builtin.d.ts +6 -5
  23. package/dist/types/daemon/control-types.d.ts +1 -1
  24. package/dist/types/discovery/mcp-json.d.ts +12 -1
  25. package/dist/types/extensibility/custom-tools/types.d.ts +1 -1
  26. package/dist/types/extensibility/extensions/compact-handler.d.ts +4 -2
  27. package/dist/types/extensibility/extensions/get-commands-handler.d.ts +2 -2
  28. package/dist/types/extensibility/extensions/loader.d.ts +10 -1
  29. package/dist/types/extensibility/extensions/runner.d.ts +3 -3
  30. package/dist/types/extensibility/extensions/types.d.ts +141 -16
  31. package/dist/types/extensibility/hooks/types.d.ts +1 -1
  32. package/dist/types/gjc-runtime/launch-tmux.d.ts +3 -2
  33. package/dist/types/gjc-runtime/psmux-detect.d.ts +3 -0
  34. package/dist/types/gjc-runtime/session-state-sidecar.d.ts +3 -0
  35. package/dist/types/gjc-runtime/team-runtime.d.ts +3 -4
  36. package/dist/types/gjc-runtime/tmux-owner-isolation-cli.d.ts +13 -0
  37. package/dist/types/gjc-runtime/tmux-sessions.d.ts +4 -1
  38. package/dist/types/gjc-runtime/windows-powershell-command.d.ts +9 -0
  39. package/dist/types/harness-control-plane/operate.d.ts +5 -5
  40. package/dist/types/harness-control-plane/owner.d.ts +18 -4
  41. package/dist/types/harness-control-plane/receipts.d.ts +0 -1
  42. package/dist/types/harness-control-plane/sdk-transport.d.ts +43 -0
  43. package/dist/types/harness-control-plane/session-transport.d.ts +48 -0
  44. package/dist/types/harness-control-plane/types.d.ts +3 -4
  45. package/dist/types/lsp/index.d.ts +1 -1
  46. package/dist/types/main.d.ts +32 -38
  47. package/dist/types/modes/acp/acp-agent.d.ts +224 -53
  48. package/dist/types/modes/acp/acp-client-bridge.d.ts +1 -0
  49. package/dist/types/modes/acp/acp-mode.d.ts +6 -15
  50. package/dist/types/modes/acp/permission-mode.d.ts +4 -0
  51. package/dist/types/modes/acp/startup-options.d.ts +6 -0
  52. package/dist/types/modes/components/agent-dashboard.d.ts +3 -0
  53. package/dist/types/modes/components/model-selector.d.ts +1 -0
  54. package/dist/types/modes/components/notifications-settings-editor.d.ts +135 -0
  55. package/dist/types/modes/components/settings-selector.d.ts +6 -4
  56. package/dist/types/modes/components/welcome.d.ts +1 -1
  57. package/dist/types/modes/controllers/selector-controller.d.ts +35 -1
  58. package/dist/types/modes/index.d.ts +0 -4
  59. package/dist/types/modes/interactive-mode.d.ts +3 -0
  60. package/dist/types/modes/runtime-init.d.ts +2 -2
  61. package/dist/types/modes/shared/agent-wire/approval-gate.d.ts +6 -9
  62. package/dist/types/modes/shared/agent-wire/deep-interview-gate.d.ts +4 -6
  63. package/dist/types/modes/shared/agent-wire/event-contract.d.ts +6 -6
  64. package/dist/types/modes/shared/agent-wire/event-envelope.d.ts +4 -9
  65. package/dist/types/modes/shared/agent-wire/event-observation.d.ts +1 -1
  66. package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +169 -30
  67. package/dist/types/modes/shared/agent-wire/workflow-gate-schema.d.ts +7 -7
  68. package/dist/types/modes/shared/agent-wire/workflow-gate-types.d.ts +105 -0
  69. package/dist/types/modes/types.d.ts +5 -0
  70. package/dist/types/runtime-mcp/client.d.ts +2 -0
  71. package/dist/types/runtime-mcp/config.d.ts +5 -1
  72. package/dist/types/runtime-mcp/manager.d.ts +8 -1
  73. package/dist/types/runtime-mcp/types.d.ts +4 -0
  74. package/dist/types/sdk/acp/adapter.d.ts +67 -0
  75. package/dist/types/sdk/acp/index.d.ts +2 -0
  76. package/dist/types/sdk/broker/broker.d.ts +53 -0
  77. package/dist/types/sdk/broker/discovery.d.ts +30 -0
  78. package/dist/types/sdk/broker/ensure.d.ts +33 -0
  79. package/dist/types/sdk/broker/identity.d.ts +3 -0
  80. package/dist/types/sdk/broker/index.d.ts +8 -0
  81. package/dist/types/sdk/broker/lifecycle-ledger.d.ts +95 -0
  82. package/dist/types/sdk/broker/lifecycle.d.ts +85 -0
  83. package/dist/types/sdk/broker/process-incarnation.d.ts +14 -0
  84. package/dist/types/sdk/broker/runtime.d.ts +33 -0
  85. package/dist/types/sdk/broker/session-index.d.ts +57 -0
  86. package/dist/types/sdk/broker/state-version.d.ts +8 -0
  87. package/dist/types/sdk/broker/transport.d.ts +9 -0
  88. package/dist/types/sdk/bus/chat-command-policy.d.ts +49 -0
  89. package/dist/types/sdk/bus/chat-daemon-cli.d.ts +21 -0
  90. package/dist/types/sdk/bus/chat-daemon-control.d.ts +111 -0
  91. package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +77 -0
  92. package/dist/types/sdk/bus/chat-effect-journal.d.ts +84 -0
  93. package/dist/types/{notifications → sdk/bus}/config-commands.d.ts +7 -2
  94. package/dist/types/sdk/bus/config.d.ts +274 -0
  95. package/dist/types/sdk/bus/conversation-store.d.ts +72 -0
  96. package/dist/types/sdk/bus/discord-conversation.d.ts +58 -0
  97. package/dist/types/sdk/bus/discord-daemon.d.ts +45 -0
  98. package/dist/types/sdk/bus/discord-live-provider.d.ts +70 -0
  99. package/dist/types/sdk/bus/discord-provider.d.ts +85 -0
  100. package/dist/types/{notifications → sdk/bus}/html-format.d.ts +2 -2
  101. package/dist/types/{notifications → sdk/bus}/index.d.ts +113 -13
  102. package/dist/types/{notifications → sdk/bus}/lifecycle-control-runtime.d.ts +4 -2
  103. package/dist/types/{notifications → sdk/bus}/lifecycle-orchestrator.d.ts +18 -21
  104. package/dist/types/{notifications → sdk/bus}/managed-daemon.d.ts +1 -1
  105. package/dist/types/sdk/bus/native-runtime-compatibility.d.ts +13 -0
  106. package/dist/types/sdk/bus/notification-orchestration.d.ts +170 -0
  107. package/dist/types/{notifications → sdk/bus}/notification-service.d.ts +7 -1
  108. package/dist/types/sdk/bus/session-control.d.ts +83 -0
  109. package/dist/types/sdk/bus/slack-conversation.d.ts +56 -0
  110. package/dist/types/sdk/bus/slack-daemon.d.ts +60 -0
  111. package/dist/types/sdk/bus/slack-live-provider.d.ts +59 -0
  112. package/dist/types/sdk/bus/slack-provider.d.ts +55 -0
  113. package/dist/types/{notifications → sdk/bus}/telegram-cli.d.ts +4 -4
  114. package/dist/types/{notifications → sdk/bus}/telegram-daemon-cli.d.ts +14 -5
  115. package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +12 -0
  116. package/dist/types/{notifications → sdk/bus}/telegram-daemon-control.d.ts +2 -2
  117. package/dist/types/{notifications → sdk/bus}/telegram-daemon.d.ts +55 -17
  118. package/dist/types/{notifications → sdk/bus}/telegram-reference.d.ts +2 -2
  119. package/dist/types/sdk/bus/telegram-setup.d.ts +128 -0
  120. package/dist/types/{notifications → sdk/bus}/topic-registry.d.ts +11 -0
  121. package/dist/types/sdk/cli/index.d.ts +1 -0
  122. package/dist/types/sdk/cli/session-cli.d.ts +19 -0
  123. package/dist/types/sdk/client/client.d.ts +1 -0
  124. package/dist/types/sdk/client/discovery.d.ts +27 -0
  125. package/dist/types/sdk/client/index.d.ts +2 -0
  126. package/dist/types/sdk/host/control/dispatch.d.ts +34 -0
  127. package/dist/types/sdk/host/control/index.d.ts +2 -0
  128. package/dist/types/sdk/host/control/operations.d.ts +65 -0
  129. package/dist/types/sdk/host/events.d.ts +35 -0
  130. package/dist/types/sdk/host/host.d.ts +35 -0
  131. package/dist/types/sdk/host/index.d.ts +4 -0
  132. package/dist/types/sdk/host/query/cursor.d.ts +62 -0
  133. package/dist/types/sdk/host/query/handlers.d.ts +70 -0
  134. package/dist/types/sdk/host/query/index.d.ts +3 -0
  135. package/dist/types/sdk/host/query/revision-store.d.ts +60 -0
  136. package/dist/types/sdk/host/reverse-leases.d.ts +45 -0
  137. package/dist/types/sdk/host/types.d.ts +32 -0
  138. package/dist/types/sdk/index.d.ts +6 -0
  139. package/dist/types/sdk/lifecycle-session.d.ts +14 -0
  140. package/dist/types/sdk/mcp/index.d.ts +1 -0
  141. package/dist/types/sdk/mcp/server.d.ts +37 -0
  142. package/dist/types/sdk/models.d.ts +44 -0
  143. package/dist/types/sdk/protocol/adapter-validation.d.ts +14 -0
  144. package/dist/types/sdk/protocol/operation-registry.d.ts +24 -0
  145. package/dist/types/{sdk.d.ts → sdk/session.d.ts} +44 -38
  146. package/dist/types/sdk/startup-capability.d.ts +50 -0
  147. package/dist/types/session/agent-session.d.ts +114 -21
  148. package/dist/types/session/default-model-selection.d.ts +25 -0
  149. package/dist/types/session/fallback-chain-controller.d.ts +52 -0
  150. package/dist/types/session/session-manager.d.ts +58 -1
  151. package/dist/types/setup/credential-auto-import.d.ts +36 -6
  152. package/dist/types/tools/ask-answer-registry.d.ts +1 -1
  153. package/dist/types/tools/browser/benchmark/detector-report.d.ts +63 -0
  154. package/dist/types/tools/browser/benchmark/run-suite.d.ts +18 -0
  155. package/dist/types/tools/browser/launch.d.ts +22 -0
  156. package/dist/types/tools/browser/profile-discovery.d.ts +31 -0
  157. package/dist/types/tools/browser/profile-posture.d.ts +37 -0
  158. package/dist/types/tools/browser/profile-reuse.d.ts +39 -0
  159. package/dist/types/tools/browser/profile-warmup.d.ts +39 -0
  160. package/dist/types/tools/browser/registry.d.ts +19 -0
  161. package/dist/types/tools/browser/tab-protocol.d.ts +4 -0
  162. package/dist/types/tools/index.d.ts +8 -8
  163. package/package.json +34 -13
  164. package/scripts/build-sdk-package-smoke.ts +94 -0
  165. package/scripts/capture-notifications-settings-showcase.ts +435 -0
  166. package/scripts/compile-args.ts +4 -2
  167. package/scripts/g005-daemon-smoke.ts +4 -5
  168. package/scripts/g011-daemon-path-smoke.ts +5 -5
  169. package/scripts/generate-sdk-adapter-parity-manifest.ts +163 -0
  170. package/scripts/generate-sdk-operation-inventory.ts +867 -0
  171. package/scripts/generate-telegram-baseline-manifest.ts +128 -0
  172. package/scripts/manifest-schema.ts +124 -0
  173. package/scripts/run-test-manifest.ts +153 -0
  174. package/scripts/run-threat-model-check.ts +157 -0
  175. package/scripts/verify-gjc-sdk-canonicalization.ts +3467 -0
  176. package/scripts/verify-gjc-sdk-rename.ts +90 -0
  177. package/src/append-only-mode.ts +1 -1
  178. package/src/cli/args.ts +43 -12
  179. package/src/cli/auth-gateway-cli.ts +2 -2
  180. package/src/cli/config-cli.ts +2 -1
  181. package/src/cli/daemon-cli.ts +63 -14
  182. package/src/cli/list-models.ts +1 -1
  183. package/src/cli/notify-cli.ts +288 -286
  184. package/src/cli.ts +21 -2
  185. package/src/commands/daemon.ts +50 -6
  186. package/src/commands/harness.ts +93 -36
  187. package/src/commands/launch.ts +5 -2
  188. package/src/commands/mcp-serve.ts +19 -12
  189. package/src/commands/notify.ts +36 -3
  190. package/src/commands/sdk.ts +426 -0
  191. package/src/commit/agentic/agent.ts +1 -0
  192. package/src/config/atomic-yaml-patch.ts +423 -0
  193. package/src/config/model-profile-activation.ts +240 -89
  194. package/src/config/model-profiles.ts +18 -15
  195. package/src/config/model-registry.ts +51 -26
  196. package/src/config/model-resolver.ts +138 -51
  197. package/src/config/model-selector-value.ts +50 -0
  198. package/src/config/models-config-schema.ts +14 -21
  199. package/src/config/settings-schema.ts +128 -10
  200. package/src/config/settings.ts +1120 -158
  201. package/src/coordinator-mcp/model-preset.ts +74 -20
  202. package/src/coordinator-mcp/server.ts +1597 -3052
  203. package/src/daemon/builtin.ts +8 -5
  204. package/src/daemon/control-types.ts +1 -1
  205. package/src/defaults/gjc/skills/team/SKILL.md +4 -4
  206. package/src/discovery/mcp-json.ts +327 -20
  207. package/src/extensibility/custom-tools/types.ts +1 -1
  208. package/src/extensibility/extensions/compact-handler.ts +3 -3
  209. package/src/extensibility/extensions/get-commands-handler.ts +2 -2
  210. package/src/extensibility/extensions/loader.ts +69 -5
  211. package/src/extensibility/extensions/runner.ts +112 -4
  212. package/src/extensibility/extensions/types.ts +176 -17
  213. package/src/extensibility/hooks/types.ts +1 -1
  214. package/src/gjc-runtime/launch-tmux.ts +170 -86
  215. package/src/gjc-runtime/psmux-detect.ts +82 -4
  216. package/src/gjc-runtime/session-state-sidecar.ts +41 -31
  217. package/src/gjc-runtime/team-runtime.ts +54 -35
  218. package/src/gjc-runtime/tmux-owner-isolation-cli.ts +53 -17
  219. package/src/gjc-runtime/tmux-owner-isolation.ts +1 -1
  220. package/src/gjc-runtime/tmux-sessions.ts +19 -13
  221. package/src/gjc-runtime/ultragoal-guard.ts +53 -6
  222. package/src/gjc-runtime/ultragoal-runtime.ts +155 -3
  223. package/src/gjc-runtime/windows-powershell-command.ts +58 -0
  224. package/src/harness-control-plane/operate.ts +9 -9
  225. package/src/harness-control-plane/owner.ts +283 -39
  226. package/src/harness-control-plane/receipts.ts +0 -1
  227. package/src/harness-control-plane/sdk-transport.ts +395 -0
  228. package/src/harness-control-plane/session-transport.ts +94 -0
  229. package/src/harness-control-plane/types.ts +1 -1
  230. package/src/internal-urls/docs-index.generated.ts +34 -35
  231. package/src/lsp/client.ts +42 -6
  232. package/src/lsp/index.ts +2 -2
  233. package/src/main.ts +299 -204
  234. package/src/modes/DESIGN.md +258 -0
  235. package/src/modes/acp/acp-agent.ts +1228 -2612
  236. package/src/modes/acp/acp-client-bridge.ts +2 -20
  237. package/src/modes/acp/acp-event-mapper.ts +18 -2
  238. package/src/modes/acp/acp-mode.ts +8 -36
  239. package/src/modes/acp/permission-mode.ts +25 -0
  240. package/src/modes/acp/startup-options.ts +6 -0
  241. package/src/modes/components/agent-dashboard.ts +37 -17
  242. package/src/modes/components/model-selector.ts +93 -35
  243. package/src/modes/components/notifications-settings-editor.ts +1379 -0
  244. package/src/modes/components/settings-selector.ts +60 -11
  245. package/src/modes/components/welcome.ts +4 -4
  246. package/src/modes/controllers/command-controller.ts +1 -2
  247. package/src/modes/controllers/event-controller.ts +11 -16
  248. package/src/modes/controllers/extension-ui-controller.ts +348 -4
  249. package/src/modes/controllers/selector-controller.ts +674 -36
  250. package/src/modes/index.ts +0 -22
  251. package/src/modes/interactive-mode.ts +59 -20
  252. package/src/modes/runtime-init.ts +298 -6
  253. package/src/modes/shared/agent-wire/approval-gate.ts +9 -11
  254. package/src/modes/shared/agent-wire/deep-interview-gate.ts +10 -11
  255. package/src/modes/shared/agent-wire/event-contract.ts +7 -8
  256. package/src/modes/shared/agent-wire/event-envelope.ts +9 -17
  257. package/src/modes/shared/agent-wire/event-observation.ts +16 -7
  258. package/src/modes/shared/agent-wire/workflow-gate-broker.ts +1254 -87
  259. package/src/modes/shared/agent-wire/workflow-gate-schema.ts +15 -15
  260. package/src/modes/shared/agent-wire/workflow-gate-types.ts +113 -0
  261. package/src/modes/types.ts +5 -0
  262. package/src/runtime-mcp/client.ts +94 -19
  263. package/src/runtime-mcp/config.ts +27 -15
  264. package/src/runtime-mcp/manager.ts +343 -105
  265. package/src/runtime-mcp/oauth-flow.ts +42 -12
  266. package/src/runtime-mcp/transports/http.ts +49 -19
  267. package/src/runtime-mcp/transports/stdio.ts +47 -28
  268. package/src/runtime-mcp/types.ts +10 -0
  269. package/src/sdk/acp/adapter.ts +418 -0
  270. package/src/sdk/acp/index.ts +2 -0
  271. package/src/sdk/broker/broker.ts +642 -0
  272. package/src/sdk/broker/discovery.ts +94 -0
  273. package/src/sdk/broker/ensure.ts +249 -0
  274. package/src/sdk/broker/identity.ts +42 -0
  275. package/src/sdk/broker/index.ts +8 -0
  276. package/src/sdk/broker/internal-source-marker-2178.txt +1 -0
  277. package/src/sdk/broker/internal-source.bunfig.toml +1 -0
  278. package/src/sdk/broker/lifecycle-ledger.ts +286 -0
  279. package/src/sdk/broker/lifecycle.ts +2157 -0
  280. package/src/sdk/broker/process-incarnation.ts +159 -0
  281. package/src/sdk/broker/runtime.ts +164 -0
  282. package/src/sdk/broker/session-index.ts +318 -0
  283. package/src/sdk/broker/state-version.ts +23 -0
  284. package/src/sdk/broker/transport.ts +125 -0
  285. package/src/sdk/bus/chat-command-policy.ts +107 -0
  286. package/src/sdk/bus/chat-daemon-cli.ts +214 -0
  287. package/src/sdk/bus/chat-daemon-control.ts +713 -0
  288. package/src/sdk/bus/chat-daemon-runtime.ts +526 -0
  289. package/src/sdk/bus/chat-effect-journal.ts +353 -0
  290. package/src/{notifications → sdk/bus}/config-commands.ts +39 -10
  291. package/src/sdk/bus/config.ts +433 -0
  292. package/src/sdk/bus/conversation-store.ts +391 -0
  293. package/src/sdk/bus/discord-conversation.ts +85 -0
  294. package/src/sdk/bus/discord-daemon.ts +2275 -0
  295. package/src/sdk/bus/discord-live-provider.ts +521 -0
  296. package/src/sdk/bus/discord-provider.ts +56 -0
  297. package/src/{notifications → sdk/bus}/html-format.ts +2 -2
  298. package/src/sdk/bus/index.ts +3943 -0
  299. package/src/{notifications → sdk/bus}/lifecycle-commands.ts +2 -0
  300. package/src/{notifications → sdk/bus}/lifecycle-control-runtime.ts +225 -196
  301. package/src/{notifications → sdk/bus}/lifecycle-orchestrator.ts +161 -74
  302. package/src/{notifications → sdk/bus}/managed-daemon.ts +2 -2
  303. package/src/sdk/bus/native-runtime-compatibility.ts +42 -0
  304. package/src/sdk/bus/natives-augment.d.ts +38 -0
  305. package/src/sdk/bus/notification-orchestration.ts +535 -0
  306. package/src/{notifications → sdk/bus}/notification-service.ts +106 -12
  307. package/src/sdk/bus/session-control.ts +333 -0
  308. package/src/sdk/bus/slack-conversation.ts +74 -0
  309. package/src/sdk/bus/slack-daemon.ts +2144 -0
  310. package/src/sdk/bus/slack-live-provider.ts +380 -0
  311. package/src/sdk/bus/slack-provider.ts +76 -0
  312. package/src/{notifications → sdk/bus}/telegram-cli.ts +8 -8
  313. package/src/sdk/bus/telegram-daemon-cli.ts +330 -0
  314. package/src/sdk/bus/telegram-daemon-contract.ts +14 -0
  315. package/src/{notifications → sdk/bus}/telegram-daemon-control.ts +4 -4
  316. package/src/{notifications → sdk/bus}/telegram-daemon.ts +502 -54
  317. package/src/{notifications → sdk/bus}/telegram-reference.ts +2 -2
  318. package/src/sdk/bus/telegram-setup.ts +663 -0
  319. package/src/{notifications → sdk/bus}/topic-registry.ts +32 -0
  320. package/src/sdk/cli/index.ts +1 -0
  321. package/src/sdk/cli/session-cli.ts +275 -0
  322. package/src/sdk/client/client.ts +1 -0
  323. package/src/sdk/client/discovery.ts +108 -0
  324. package/src/sdk/client/index.ts +2 -0
  325. package/src/sdk/host/control/dispatch.ts +367 -0
  326. package/src/sdk/host/control/index.ts +10 -0
  327. package/src/sdk/host/control/operations.ts +63 -0
  328. package/src/sdk/host/events.ts +91 -0
  329. package/src/sdk/host/host.ts +296 -0
  330. package/src/sdk/host/index.ts +4 -0
  331. package/src/sdk/host/query/cursor.ts +189 -0
  332. package/src/sdk/host/query/handlers.ts +533 -0
  333. package/src/sdk/host/query/index.ts +3 -0
  334. package/src/sdk/host/query/revision-store.ts +1126 -0
  335. package/src/sdk/host/reverse-leases.ts +325 -0
  336. package/src/sdk/host/types.ts +29 -0
  337. package/src/sdk/index.ts +13 -0
  338. package/src/sdk/lifecycle-session.ts +39 -0
  339. package/src/sdk/mcp/index.ts +1 -0
  340. package/src/sdk/mcp/server.ts +332 -0
  341. package/src/sdk/models.ts +168 -0
  342. package/src/sdk/protocol/adapter-validation.ts +48 -0
  343. package/src/sdk/protocol/operation-inventory.generated.json +5654 -0
  344. package/src/sdk/protocol/operation-registry.ts +312 -0
  345. package/src/{sdk.ts → sdk/session.ts} +339 -212
  346. package/src/sdk/startup-capability.ts +189 -0
  347. package/src/session/agent-session.ts +2453 -894
  348. package/src/session/default-model-selection.ts +93 -0
  349. package/src/session/fallback-chain-controller.ts +136 -0
  350. package/src/session/session-manager.ts +438 -11
  351. package/src/session/session-storage.ts +8 -1
  352. package/src/setup/credential-auto-import.ts +290 -35
  353. package/src/setup/hermes/templates/operator-instructions.v1.md +3 -5
  354. package/src/slash-commands/builtin-registry.ts +2 -1
  355. package/src/task/executor.ts +62 -13
  356. package/src/tools/ask-answer-registry.ts +1 -1
  357. package/src/tools/ask.ts +13 -8
  358. package/src/tools/browser/STEALTH-THIRD-PARTY-NOTICES.md +26 -0
  359. package/src/tools/browser/benchmark/detector-report.ts +157 -0
  360. package/src/tools/browser/benchmark/run-suite.ts +39 -0
  361. package/src/tools/browser/launch.ts +124 -19
  362. package/src/tools/browser/profile-discovery.ts +63 -0
  363. package/src/tools/browser/profile-posture.ts +59 -0
  364. package/src/tools/browser/profile-reuse.ts +102 -0
  365. package/src/tools/browser/profile-warmup.ts +109 -0
  366. package/src/tools/browser/registry.ts +87 -11
  367. package/src/tools/browser/tab-protocol.ts +1 -0
  368. package/src/tools/browser/tab-supervisor.ts +1 -0
  369. package/src/tools/browser/tab-worker.ts +1 -1
  370. package/src/tools/browser.ts +6 -0
  371. package/src/tools/index.ts +8 -8
  372. package/src/tools/puppeteer/14_stealth_permissions.txt +57 -0
  373. package/src/tools/puppeteer/15_stealth_webrtc.txt +60 -0
  374. package/src/tools/telegram-send.ts +2 -2
  375. package/vendor/insane-search/MANIFEST.json +2 -1
  376. package/vendor/insane-search/engine/bias_check.py +4 -1
  377. package/vendor/insane-search/engine/phase0.py +26 -1
  378. package/dist/types/harness-control-plane/rpc-adapter.d.ts +0 -69
  379. package/dist/types/modes/bridge/auth.d.ts +0 -12
  380. package/dist/types/modes/bridge/bridge-client-bridge.d.ts +0 -9
  381. package/dist/types/modes/bridge/bridge-mode.d.ts +0 -47
  382. package/dist/types/modes/bridge/bridge-ui-context.d.ts +0 -88
  383. package/dist/types/modes/bridge/event-stream.d.ts +0 -8
  384. package/dist/types/modes/rpc/host-tools.d.ts +0 -1
  385. package/dist/types/modes/rpc/host-uris.d.ts +0 -1
  386. package/dist/types/modes/rpc/rpc-client.d.ts +0 -299
  387. package/dist/types/modes/rpc/rpc-mode.d.ts +0 -86
  388. package/dist/types/modes/rpc/rpc-socket-security.d.ts +0 -10
  389. package/dist/types/modes/rpc/rpc-types.d.ts +0 -810
  390. package/dist/types/modes/shared/agent-wire/command-contract.d.ts +0 -18
  391. package/dist/types/modes/shared/agent-wire/command-dispatch.d.ts +0 -37
  392. package/dist/types/modes/shared/agent-wire/command-validation.d.ts +0 -2
  393. package/dist/types/modes/shared/agent-wire/handshake.d.ts +0 -56
  394. package/dist/types/modes/shared/agent-wire/host-tool-bridge.d.ts +0 -16
  395. package/dist/types/modes/shared/agent-wire/host-uri-bridge.d.ts +0 -17
  396. package/dist/types/modes/shared/agent-wire/protocol.d.ts +0 -25
  397. package/dist/types/modes/shared/agent-wire/responses.d.ts +0 -4
  398. package/dist/types/modes/shared/agent-wire/scopes.d.ts +0 -18
  399. package/dist/types/modes/shared/agent-wire/session-registry.d.ts +0 -25
  400. package/dist/types/modes/shared/agent-wire/ui-request-broker.d.ts +0 -42
  401. package/dist/types/modes/shared/agent-wire/ui-result.d.ts +0 -27
  402. package/dist/types/modes/shared/agent-wire/unattended-action-policy.d.ts +0 -29
  403. package/dist/types/modes/shared/agent-wire/unattended-audit.d.ts +0 -68
  404. package/dist/types/modes/shared/agent-wire/unattended-run-controller.d.ts +0 -166
  405. package/dist/types/modes/shared/agent-wire/unattended-session.d.ts +0 -127
  406. package/dist/types/notifications/config.d.ts +0 -132
  407. package/src/harness-control-plane/rpc-adapter.ts +0 -290
  408. package/src/modes/bridge/auth.ts +0 -41
  409. package/src/modes/bridge/bridge-client-bridge.ts +0 -47
  410. package/src/modes/bridge/bridge-mode.ts +0 -675
  411. package/src/modes/bridge/bridge-ui-context.ts +0 -200
  412. package/src/modes/bridge/event-stream.ts +0 -70
  413. package/src/modes/rpc/host-tools.ts +0 -1
  414. package/src/modes/rpc/host-uris.ts +0 -1
  415. package/src/modes/rpc/rpc-client.ts +0 -1166
  416. package/src/modes/rpc/rpc-mode.ts +0 -1029
  417. package/src/modes/rpc/rpc-socket-security.ts +0 -115
  418. package/src/modes/rpc/rpc-types.ts +0 -637
  419. package/src/modes/shared/agent-wire/command-contract.ts +0 -18
  420. package/src/modes/shared/agent-wire/command-dispatch.ts +0 -498
  421. package/src/modes/shared/agent-wire/command-validation.ts +0 -181
  422. package/src/modes/shared/agent-wire/handshake.ts +0 -157
  423. package/src/modes/shared/agent-wire/host-tool-bridge.ts +0 -197
  424. package/src/modes/shared/agent-wire/host-uri-bridge.ts +0 -236
  425. package/src/modes/shared/agent-wire/protocol.ts +0 -46
  426. package/src/modes/shared/agent-wire/responses.ts +0 -17
  427. package/src/modes/shared/agent-wire/scopes.ts +0 -94
  428. package/src/modes/shared/agent-wire/session-registry.ts +0 -109
  429. package/src/modes/shared/agent-wire/ui-request-broker.ts +0 -150
  430. package/src/modes/shared/agent-wire/ui-result.ts +0 -48
  431. package/src/modes/shared/agent-wire/unattended-action-policy.ts +0 -365
  432. package/src/modes/shared/agent-wire/unattended-audit.ts +0 -176
  433. package/src/modes/shared/agent-wire/unattended-run-controller.ts +0 -426
  434. package/src/modes/shared/agent-wire/unattended-session.ts +0 -528
  435. package/src/notifications/config.ts +0 -219
  436. package/src/notifications/index.ts +0 -1835
  437. package/src/notifications/telegram-daemon-cli.ts +0 -243
  438. package/src/tools/puppeteer/09_stealth_locale.txt +0 -46
  439. /package/dist/types/{notifications → sdk/bus}/attachment-registry.d.ts +0 -0
  440. /package/dist/types/{notifications → sdk/bus}/chat-adapters.d.ts +0 -0
  441. /package/dist/types/{notifications → sdk/bus}/daemon-paths.d.ts +0 -0
  442. /package/dist/types/{notifications → sdk/bus}/engine.d.ts +0 -0
  443. /package/dist/types/{notifications → sdk/bus}/helpers.d.ts +0 -0
  444. /package/dist/types/{notifications → sdk/bus}/lifecycle-commands.d.ts +0 -0
  445. /package/dist/types/{notifications → sdk/bus}/operator-runtime.d.ts +0 -0
  446. /package/dist/types/{notifications → sdk/bus}/rate-limit-pool.d.ts +0 -0
  447. /package/dist/types/{notifications → sdk/bus}/recent-activity.d.ts +0 -0
  448. /package/dist/types/{notifications → sdk/bus}/reply-sent-store.d.ts +0 -0
  449. /package/dist/types/{notifications → sdk/bus}/rich-draft.d.ts +0 -0
  450. /package/dist/types/{notifications → sdk/bus}/rich-render.d.ts +0 -0
  451. /package/dist/types/{notifications → sdk/bus}/threaded-inbound.d.ts +0 -0
  452. /package/dist/types/{notifications → sdk/bus}/threaded-render.d.ts +0 -0
  453. /package/src/{notifications → sdk/bus}/attachment-registry.ts +0 -0
  454. /package/src/{notifications → sdk/bus}/chat-adapters.ts +0 -0
  455. /package/src/{notifications → sdk/bus}/daemon-paths.ts +0 -0
  456. /package/src/{notifications → sdk/bus}/engine.ts +0 -0
  457. /package/src/{notifications → sdk/bus}/helpers.ts +0 -0
  458. /package/src/{notifications → sdk/bus}/operator-runtime.ts +0 -0
  459. /package/src/{notifications → sdk/bus}/rate-limit-pool.ts +0 -0
  460. /package/src/{notifications → sdk/bus}/recent-activity.ts +0 -0
  461. /package/src/{notifications → sdk/bus}/reply-sent-store.ts +0 -0
  462. /package/src/{notifications → sdk/bus}/rich-draft.ts +0 -0
  463. /package/src/{notifications → sdk/bus}/rich-render.ts +0 -0
  464. /package/src/{notifications → sdk/bus}/threaded-inbound.ts +0 -0
  465. /package/src/{notifications → sdk/bus}/threaded-render.ts +0 -0
@@ -1,810 +0,0 @@
1
- /**
2
- * RPC protocol types for headless operation.
3
- *
4
- * Commands are sent as JSON lines on stdin.
5
- * Responses and events are emitted as JSON lines on stdout.
6
- */
7
- import type { AgentMessage, AgentToolResult, ResolvedThinkingLevel, ThinkingLevel } from "@gajae-code/agent-core";
8
- import type { CompactionResult } from "@gajae-code/agent-core/compaction";
9
- import type { Effort, ImageContent, Model } from "@gajae-code/ai";
10
- import type { BashResult } from "../../exec/bash-executor";
11
- import type { ContextUsage } from "../../extensibility/extensions/types";
12
- import type { SessionStats } from "../../session/agent-session";
13
- import type { TodoPhase } from "../../tools/todo-write";
14
- export type RpcGetStateInclude = "tools" | "dumpTools" | "systemPrompt";
15
- export type RpcCapability = "compact_message_update";
16
- export type RpcCommand = {
17
- id?: string;
18
- type: "prompt";
19
- message: string;
20
- images?: ImageContent[];
21
- streamingBehavior?: "steer" | "followUp";
22
- } | {
23
- id?: string;
24
- type: "steer";
25
- message: string;
26
- images?: ImageContent[];
27
- } | {
28
- id?: string;
29
- type: "follow_up";
30
- message: string;
31
- images?: ImageContent[];
32
- } | {
33
- id?: string;
34
- type: "abort";
35
- } | {
36
- id?: string;
37
- type: "abort_and_prompt";
38
- message: string;
39
- images?: ImageContent[];
40
- } | {
41
- id?: string;
42
- type: "new_session";
43
- parentSession?: string;
44
- } | {
45
- id?: string;
46
- type: "get_state";
47
- include?: RpcGetStateInclude[];
48
- } | {
49
- id?: string;
50
- type: "set_todos";
51
- phases: TodoPhase[];
52
- } | {
53
- id?: string;
54
- type: "set_host_tools";
55
- tools: RpcHostToolDefinition[];
56
- } | {
57
- id?: string;
58
- type: "set_host_uri_schemes";
59
- schemes: RpcHostUriSchemeDefinition[];
60
- } | {
61
- id?: string;
62
- type: "get_pending_workflow_gates";
63
- } | {
64
- id?: string;
65
- type: "set_capabilities";
66
- capabilities: RpcCapability[];
67
- } | {
68
- id?: string;
69
- type: "set_model";
70
- provider: string;
71
- modelId: string;
72
- } | {
73
- id?: string;
74
- type: "set_default_model_selection";
75
- provider: string;
76
- modelId: string;
77
- thinkingLevel?: ResolvedThinkingLevel;
78
- } | {
79
- id?: string;
80
- type: "cycle_model";
81
- } | {
82
- id?: string;
83
- type: "get_available_models";
84
- } | {
85
- id?: string;
86
- type: "set_thinking_level";
87
- level: ThinkingLevel;
88
- } | {
89
- id?: string;
90
- type: "cycle_thinking_level";
91
- } | {
92
- id?: string;
93
- type: "set_steering_mode";
94
- mode: "all" | "one-at-a-time";
95
- } | {
96
- id?: string;
97
- type: "set_follow_up_mode";
98
- mode: "all" | "one-at-a-time";
99
- } | {
100
- id?: string;
101
- type: "set_interrupt_mode";
102
- mode: "immediate" | "wait";
103
- } | {
104
- id?: string;
105
- type: "compact";
106
- customInstructions?: string;
107
- } | {
108
- id?: string;
109
- type: "set_auto_compaction";
110
- enabled: boolean;
111
- } | {
112
- id?: string;
113
- type: "set_auto_retry";
114
- enabled: boolean;
115
- } | {
116
- id?: string;
117
- type: "abort_retry";
118
- } | {
119
- id?: string;
120
- type: "bash";
121
- command: string;
122
- } | {
123
- id?: string;
124
- type: "abort_bash";
125
- } | {
126
- id?: string;
127
- type: "get_session_stats";
128
- } | {
129
- id?: string;
130
- type: "export_html";
131
- outputPath?: string;
132
- } | {
133
- id?: string;
134
- type: "switch_session";
135
- sessionPath: string;
136
- } | {
137
- id?: string;
138
- type: "branch";
139
- entryId: string;
140
- } | {
141
- id?: string;
142
- type: "get_branch_messages";
143
- } | {
144
- id?: string;
145
- type: "get_last_assistant_text";
146
- } | {
147
- id?: string;
148
- type: "set_session_name";
149
- name: string;
150
- } | {
151
- id?: string;
152
- type: "handoff";
153
- customInstructions?: string;
154
- } | {
155
- id?: string;
156
- type: "get_messages";
157
- } | {
158
- id?: string;
159
- type: "get_login_providers";
160
- } | {
161
- id?: string;
162
- type: "login";
163
- providerId: string;
164
- } | {
165
- id?: string;
166
- type: "negotiate_unattended";
167
- declaration: RpcUnattendedDeclaration;
168
- } | ({
169
- id?: string;
170
- type: "workflow_gate_response";
171
- } & RpcWorkflowGateResponse);
172
- export interface RpcSessionState {
173
- model?: Model;
174
- thinkingLevel: ThinkingLevel | undefined;
175
- isStreaming: boolean;
176
- isCompacting: boolean;
177
- steeringMode: "all" | "one-at-a-time";
178
- followUpMode: "all" | "one-at-a-time";
179
- interruptMode: "immediate" | "wait";
180
- sessionFile?: string;
181
- sessionId: string;
182
- sessionName?: string;
183
- autoCompactionEnabled: boolean;
184
- messageCount: number;
185
- queuedMessageCount: number;
186
- todoPhases: TodoPhase[];
187
- /** Optional static system prompt blocks. Omitted by default; request with get_state include ["systemPrompt"]. */
188
- systemPrompt?: string[];
189
- /** Optional static tool schemas. Omitted by default; request with get_state include ["tools"]. */
190
- dumpTools?: Array<{
191
- name: string;
192
- description: string;
193
- parameters: unknown;
194
- }>;
195
- /** Current context window usage. Null tokens/percent when unknown (e.g. right after compaction). */
196
- contextUsage?: ContextUsage;
197
- }
198
- export interface RpcHandoffResult {
199
- savedPath?: string;
200
- }
201
- export type RpcResponse = {
202
- id?: string;
203
- type: "response";
204
- command: "prompt";
205
- success: true;
206
- } | {
207
- id?: string;
208
- type: "response";
209
- command: "steer";
210
- success: true;
211
- } | {
212
- id?: string;
213
- type: "response";
214
- command: "follow_up";
215
- success: true;
216
- } | {
217
- id?: string;
218
- type: "response";
219
- command: "abort";
220
- success: true;
221
- } | {
222
- id?: string;
223
- type: "response";
224
- command: "abort_and_prompt";
225
- success: true;
226
- } | {
227
- id?: string;
228
- type: "response";
229
- command: "new_session";
230
- success: true;
231
- data: {
232
- cancelled: boolean;
233
- };
234
- } | {
235
- id?: string;
236
- type: "response";
237
- command: "get_state";
238
- success: true;
239
- data: RpcSessionState;
240
- } | {
241
- id?: string;
242
- type: "response";
243
- command: "set_todos";
244
- success: true;
245
- data: {
246
- todoPhases: TodoPhase[];
247
- };
248
- } | {
249
- id?: string;
250
- type: "response";
251
- command: "set_host_tools";
252
- success: true;
253
- data: {
254
- toolNames: string[];
255
- };
256
- } | {
257
- id?: string;
258
- type: "response";
259
- command: "set_host_uri_schemes";
260
- success: true;
261
- data: {
262
- schemes: string[];
263
- };
264
- } | {
265
- id?: string;
266
- type: "response";
267
- command: "get_pending_workflow_gates";
268
- success: true;
269
- data: {
270
- gates: RpcWorkflowGate[];
271
- };
272
- } | {
273
- id?: string;
274
- type: "response";
275
- command: "set_capabilities";
276
- success: true;
277
- data: {
278
- acceptedCapabilities: RpcCapability[];
279
- unsupported: string[];
280
- };
281
- } | {
282
- id?: string;
283
- type: "response";
284
- command: "set_model";
285
- success: true;
286
- data: Model;
287
- } | {
288
- id?: string;
289
- type: "response";
290
- command: "set_default_model_selection";
291
- success: true;
292
- data: {
293
- provider: string;
294
- modelId: string;
295
- thinkingLevel: ResolvedThinkingLevel;
296
- };
297
- } | {
298
- id?: string;
299
- type: "response";
300
- command: "cycle_model";
301
- success: true;
302
- data: {
303
- model: Model;
304
- thinkingLevel: ThinkingLevel | undefined;
305
- isScoped: boolean;
306
- } | null;
307
- } | {
308
- id?: string;
309
- type: "response";
310
- command: "get_available_models";
311
- success: true;
312
- data: {
313
- models: Model[];
314
- };
315
- } | {
316
- id?: string;
317
- type: "response";
318
- command: "set_thinking_level";
319
- success: true;
320
- } | {
321
- id?: string;
322
- type: "response";
323
- command: "cycle_thinking_level";
324
- success: true;
325
- data: {
326
- level: Effort;
327
- } | null;
328
- } | {
329
- id?: string;
330
- type: "response";
331
- command: "set_steering_mode";
332
- success: true;
333
- } | {
334
- id?: string;
335
- type: "response";
336
- command: "set_follow_up_mode";
337
- success: true;
338
- } | {
339
- id?: string;
340
- type: "response";
341
- command: "set_interrupt_mode";
342
- success: true;
343
- } | {
344
- id?: string;
345
- type: "response";
346
- command: "compact";
347
- success: true;
348
- data: CompactionResult;
349
- } | {
350
- id?: string;
351
- type: "response";
352
- command: "set_auto_compaction";
353
- success: true;
354
- } | {
355
- id?: string;
356
- type: "response";
357
- command: "set_auto_retry";
358
- success: true;
359
- } | {
360
- id?: string;
361
- type: "response";
362
- command: "abort_retry";
363
- success: true;
364
- } | {
365
- id?: string;
366
- type: "response";
367
- command: "bash";
368
- success: true;
369
- data: BashResult;
370
- } | {
371
- id?: string;
372
- type: "response";
373
- command: "abort_bash";
374
- success: true;
375
- } | {
376
- id?: string;
377
- type: "response";
378
- command: "get_session_stats";
379
- success: true;
380
- data: SessionStats;
381
- } | {
382
- id?: string;
383
- type: "response";
384
- command: "export_html";
385
- success: true;
386
- data: {
387
- path: string;
388
- };
389
- } | {
390
- id?: string;
391
- type: "response";
392
- command: "switch_session";
393
- success: true;
394
- data: {
395
- cancelled: boolean;
396
- };
397
- } | {
398
- id?: string;
399
- type: "response";
400
- command: "branch";
401
- success: true;
402
- data: {
403
- text: string;
404
- cancelled: boolean;
405
- };
406
- } | {
407
- id?: string;
408
- type: "response";
409
- command: "get_branch_messages";
410
- success: true;
411
- data: {
412
- messages: Array<{
413
- entryId: string;
414
- text: string;
415
- }>;
416
- };
417
- } | {
418
- id?: string;
419
- type: "response";
420
- command: "get_last_assistant_text";
421
- success: true;
422
- data: {
423
- text: string | null;
424
- };
425
- } | {
426
- id?: string;
427
- type: "response";
428
- command: "set_session_name";
429
- success: true;
430
- } | {
431
- id?: string;
432
- type: "response";
433
- command: "handoff";
434
- success: true;
435
- data: RpcHandoffResult | null;
436
- } | {
437
- id?: string;
438
- type: "response";
439
- command: "get_messages";
440
- success: true;
441
- data: {
442
- messages: AgentMessage[];
443
- };
444
- } | {
445
- id?: string;
446
- type: "response";
447
- command: "get_login_providers";
448
- success: true;
449
- data: {
450
- providers: Array<{
451
- id: string;
452
- name: string;
453
- available: boolean;
454
- authenticated: boolean;
455
- }>;
456
- };
457
- } | {
458
- id?: string;
459
- type: "response";
460
- command: "login";
461
- success: true;
462
- data: {
463
- providerId: string;
464
- };
465
- } | {
466
- id?: string;
467
- type: "response";
468
- command: "negotiate_unattended";
469
- success: true;
470
- data: RpcUnattendedAccepted;
471
- } | {
472
- id?: string;
473
- type: "response";
474
- command: "workflow_gate_response";
475
- success: true;
476
- data: RpcWorkflowGateResolution;
477
- } | {
478
- id?: string;
479
- type: "response";
480
- command: string;
481
- success: false;
482
- error: string | object;
483
- };
484
- /** Emitted when an extension needs user input */
485
- export type RpcExtensionUIRequest = {
486
- type: "extension_ui_request";
487
- id: string;
488
- method: "select";
489
- title: string;
490
- options: string[];
491
- timeout?: number;
492
- } | {
493
- type: "extension_ui_request";
494
- id: string;
495
- method: "confirm";
496
- title: string;
497
- message: string;
498
- timeout?: number;
499
- } | {
500
- type: "extension_ui_request";
501
- id: string;
502
- method: "input";
503
- title: string;
504
- placeholder?: string;
505
- timeout?: number;
506
- } | {
507
- type: "extension_ui_request";
508
- id: string;
509
- method: "editor";
510
- title: string;
511
- prefill?: string;
512
- promptStyle?: boolean;
513
- } | {
514
- type: "extension_ui_request";
515
- id: string;
516
- method: "cancel";
517
- targetId: string;
518
- } | {
519
- type: "extension_ui_request";
520
- id: string;
521
- method: "notify";
522
- message: string;
523
- notifyType?: "info" | "warning" | "error";
524
- } | {
525
- type: "extension_ui_request";
526
- id: string;
527
- method: "setStatus";
528
- statusKey: string;
529
- statusText: string | undefined;
530
- } | {
531
- type: "extension_ui_request";
532
- id: string;
533
- method: "setWidget";
534
- widgetKey: string;
535
- widgetLines: string[] | undefined;
536
- widgetPlacement?: "aboveEditor" | "belowEditor";
537
- } | {
538
- type: "extension_ui_request";
539
- id: string;
540
- method: "setTitle";
541
- title: string;
542
- } | {
543
- type: "extension_ui_request";
544
- id: string;
545
- method: "set_editor_text";
546
- text: string;
547
- } | {
548
- type: "extension_ui_request";
549
- id: string;
550
- method: "open_url";
551
- url: string;
552
- instructions?: string;
553
- };
554
- export interface RpcHostToolDefinition {
555
- name: string;
556
- label?: string;
557
- description: string;
558
- parameters: Record<string, unknown>;
559
- hidden?: boolean;
560
- }
561
- /** Emitted by the RPC server when it needs the host to execute a registered tool. */
562
- export interface RpcHostToolCallRequest {
563
- type: "host_tool_call";
564
- id: string;
565
- toolCallId: string;
566
- toolName: string;
567
- arguments: Record<string, unknown>;
568
- }
569
- /** Emitted by the RPC server when a pending host tool call should be aborted. */
570
- export interface RpcHostToolCancelRequest {
571
- type: "host_tool_cancel";
572
- id: string;
573
- targetId: string;
574
- }
575
- /** Sent by the host to stream partial tool updates back to the RPC server. */
576
- export interface RpcHostToolUpdate {
577
- type: "host_tool_update";
578
- id: string;
579
- partialResult: AgentToolResult<unknown>;
580
- }
581
- /** Sent by the host to complete a pending tool call. */
582
- export interface RpcHostToolResult {
583
- type: "host_tool_result";
584
- id: string;
585
- result: AgentToolResult<unknown>;
586
- isError?: boolean;
587
- }
588
- export interface RpcHostUriSchemeDefinition {
589
- /** URL scheme without trailing `://` (e.g. `db`, `notion`). */
590
- scheme: string;
591
- /** Optional human-readable description for logs/diagnostics. */
592
- description?: string;
593
- /** When true, the write tool is allowed to dispatch writes to this scheme. */
594
- writable?: boolean;
595
- /** When true, downstream callers suppress hashline anchors for resolved content. */
596
- immutable?: boolean;
597
- }
598
- export type RpcHostUriOperation = "read" | "write";
599
- /** Emitted by the RPC server when it needs the host to satisfy a URI operation. */
600
- export interface RpcHostUriRequest {
601
- type: "host_uri_request";
602
- id: string;
603
- operation: RpcHostUriOperation;
604
- url: string;
605
- /** Present for write operations. */
606
- content?: string;
607
- }
608
- /** Emitted by the RPC server when a pending URI request should be aborted. */
609
- export interface RpcHostUriCancelRequest {
610
- type: "host_uri_cancel";
611
- id: string;
612
- targetId: string;
613
- }
614
- /** Sent by the host to complete a pending URI request. */
615
- export interface RpcHostUriResult {
616
- type: "host_uri_result";
617
- id: string;
618
- /**
619
- * Required for successful `read` results. Ignored for `write` success.
620
- * Set on errors when a textual explanation accompanies `isError`.
621
- */
622
- content?: string;
623
- /** Defaults to `text/plain` when omitted. */
624
- contentType?: "text/markdown" | "application/json" | "text/plain";
625
- /** Optional resolution notes propagated to the read tool. */
626
- notes?: string[];
627
- /** Overrides the scheme-level `immutable` flag for this single resolution. */
628
- immutable?: boolean;
629
- /** When true, surface the result content as an error to the caller. */
630
- isError?: boolean;
631
- /** Optional error message; preferred over `content` for error surfacing. */
632
- error?: string;
633
- }
634
- /** Response to an extension UI request */
635
- export type RpcExtensionUIResponse = {
636
- type: "extension_ui_response";
637
- id: string;
638
- value: string;
639
- } | {
640
- type: "extension_ui_response";
641
- id: string;
642
- confirmed: boolean;
643
- } | {
644
- type: "extension_ui_response";
645
- id: string;
646
- cancelled: true;
647
- timedOut?: boolean;
648
- };
649
- export type RpcCommandType = RpcCommand["type"];
650
- /**
651
- * Lifecycle stages that emit machine-addressable gates. v1 is single-agent;
652
- * `team` parallel execution over RPC is deferred, so it is intentionally absent
653
- * from this union. Gate construction rejects any other stage value.
654
- */
655
- export type RpcWorkflowStage = "deep-interview" | "ralplan" | "ultragoal";
656
- /** Reserved stage names that are explicitly not part of the v1 contract. */
657
- export declare const RESERVED_WORKFLOW_STAGES: readonly string[];
658
- export type RpcWorkflowGateKind = "question" | "approval" | "execution";
659
- /**
660
- * The documented JSON Schema 2020-12 subset supported by the gate validator.
661
- * Schemas containing any keyword outside this shape are rejected at gate
662
- * construction time so the server never advertises a schema it cannot validate.
663
- */
664
- export interface RpcJsonSchema {
665
- type?: "string" | "number" | "integer" | "boolean" | "object" | "array" | "null";
666
- enum?: unknown[];
667
- const?: unknown;
668
- properties?: Record<string, RpcJsonSchema>;
669
- required?: string[];
670
- additionalProperties?: boolean | RpcJsonSchema;
671
- items?: RpcJsonSchema;
672
- minLength?: number;
673
- maxLength?: number;
674
- pattern?: string;
675
- minItems?: number;
676
- maxItems?: number;
677
- uniqueItems?: boolean;
678
- minimum?: number;
679
- maximum?: number;
680
- title?: string;
681
- description?: string;
682
- oneOf?: RpcJsonSchema[];
683
- anyOf?: RpcJsonSchema[];
684
- }
685
- export interface RpcWorkflowGateOption {
686
- value: unknown;
687
- label: string;
688
- description?: string;
689
- }
690
- export interface RpcWorkflowGateContext {
691
- title?: string;
692
- plan?: string;
693
- source?: string;
694
- prompt?: string;
695
- summary?: string;
696
- stage_state?: Record<string, unknown>;
697
- artifact_refs?: Array<{
698
- kind: string;
699
- path?: string;
700
- sha256?: string;
701
- }>;
702
- language?: string;
703
- }
704
- /** Outbound event: a machine-addressable workflow gate awaiting an answer. */
705
- export interface RpcWorkflowGate {
706
- type: "workflow_gate";
707
- /** Run-scoped, monotonic, stable id (e.g. `wg_<run>_<stage>_000001`). */
708
- gate_id: string;
709
- stage: RpcWorkflowStage;
710
- kind: RpcWorkflowGateKind;
711
- schema: RpcJsonSchema;
712
- /** Canonical hash of `schema`; advertised hash must equal server validation hash. */
713
- schema_hash: string;
714
- options?: RpcWorkflowGateOption[];
715
- context: RpcWorkflowGateContext;
716
- created_at: string;
717
- required: true;
718
- }
719
- /** Inbound: the agent's answer to a workflow gate. */
720
- export interface RpcWorkflowGateResponse {
721
- gate_id: string;
722
- answer: unknown;
723
- /** Optional idempotency key; same key + body returns the cached resolution. */
724
- idempotency_key?: string;
725
- }
726
- /** Outcome of resolving a gate, surfaced back to the answering client. */
727
- export interface RpcWorkflowGateResolution {
728
- gate_id: string;
729
- status: "accepted" | "rejected";
730
- answer_hash: string;
731
- resolved_at: string;
732
- /** Present only when `status === "rejected"`. */
733
- error?: RpcWorkflowGateValidationError;
734
- }
735
- /** Typed error shape for schema validation failures (#315 acceptance). */
736
- export interface RpcWorkflowGateValidationError {
737
- code: "invalid_workflow_gate_answer";
738
- gate_id: string;
739
- schema_hash: string;
740
- errors: Array<{
741
- path: string;
742
- keyword: string;
743
- message: string;
744
- expected?: unknown;
745
- }>;
746
- }
747
- export interface RpcUnattendedBudget {
748
- max_tokens: number;
749
- max_tool_calls: number;
750
- max_wall_time_ms: number;
751
- max_cost_usd: number;
752
- }
753
- export interface RpcUnattendedDeclaration {
754
- /** Identity of the operating external agent, recorded in the audit trail. */
755
- actor: string;
756
- budget: RpcUnattendedBudget;
757
- /** Coarse command scopes the agent may use (maps to BridgeCommandScope). */
758
- scopes: string[];
759
- /** Action classes the agent is allowed to perform (default-deny otherwise). */
760
- action_allowlist: string[];
761
- }
762
- export interface RpcUnattendedAccepted {
763
- run_id: string;
764
- actor: string;
765
- budget: RpcUnattendedBudget;
766
- scopes: string[];
767
- action_allowlist: string[];
768
- accepted_at: string;
769
- }
770
- export type RpcBudgetMetric = "tokens" | "tool_calls" | "wall_time" | "cost";
771
- /** Typed payload emitted when a declared budget cap is breached (#318). */
772
- export interface RpcBudgetExceeded {
773
- code: "budget_exceeded";
774
- metric: RpcBudgetMetric;
775
- limit: number;
776
- observed: number;
777
- /** The accounting phase that detected the breach. */
778
- phase: string;
779
- run_id: string;
780
- session_id?: string;
781
- /** `aborting` = breach detected, async abort initiated; settled status follows in audit. */
782
- abort_status: "aborting" | "aborted" | "abort_failed";
783
- }
784
- export type RpcUnattendedRefusalCode = "unattended_not_negotiated" | "incomplete_budget" | "unsupported_budget_metric" | "invalid_unattended_declaration" | "unattended_aborted";
785
- /** Typed refusal emitted when unattended mode cannot start or continue (fail-closed). */
786
- export interface RpcUnattendedRefused {
787
- code: RpcUnattendedRefusalCode;
788
- message: string;
789
- }
790
- /** v1 action taxonomy: every authorized operation maps to one of these classes. */
791
- export type RpcUnattendedActionClass = "command.prompt" | "command.control" | "command.bash" | "command.export" | "command.session" | "command.model" | "command.message_read" | "command.host_tools" | "command.host_uri" | "command.admin" | "bash.readonly" | "bash.mutating" | "bash.destructive" | "git.force_push" | "file.delete" | "file.write" | "host_tool.invoke" | "host_uri.read" | "host_uri.write" | "auth.login";
792
- /** Typed error when a command's coarse scope is not in the declared allowlist. */
793
- export interface RpcScopeDenied {
794
- code: "scope_denied";
795
- scope: string;
796
- command?: string;
797
- run_id: string;
798
- session_id?: string;
799
- /** Always true: enforcement happens before the side effect runs. */
800
- pre_side_effect: true;
801
- }
802
- /** Typed error when an action class is not in the declared allowlist (default-deny). */
803
- export interface RpcActionDenied {
804
- code: "action_denied";
805
- action: string;
806
- command?: string;
807
- run_id: string;
808
- session_id?: string;
809
- pre_side_effect: true;
810
- }