@gajae-code/coding-agent 0.10.2 → 0.11.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 (476) hide show
  1. package/CHANGELOG.md +58 -2
  2. package/dist/types/append-only-mode.d.ts +1 -1
  3. package/dist/types/async/job-manager.d.ts +46 -7
  4. package/dist/types/cli/args.d.ts +4 -5
  5. package/dist/types/cli/daemon-cli.d.ts +12 -1
  6. package/dist/types/cli/notify-cli.d.ts +21 -1
  7. package/dist/types/cli.d.ts +3 -0
  8. package/dist/types/commands/daemon.d.ts +39 -0
  9. package/dist/types/commands/launch.d.ts +3 -0
  10. package/dist/types/commands/notify.d.ts +28 -1
  11. package/dist/types/commands/sdk.d.ts +33 -0
  12. package/dist/types/config/atomic-yaml-patch.d.ts +85 -0
  13. package/dist/types/config/model-profile-activation.d.ts +35 -15
  14. package/dist/types/config/model-profiles.d.ts +11 -5
  15. package/dist/types/config/model-registry.d.ts +3 -3
  16. package/dist/types/config/model-resolver.d.ts +39 -6
  17. package/dist/types/config/model-selector-value.d.ts +17 -0
  18. package/dist/types/config/models-config-schema.d.ts +10 -6
  19. package/dist/types/config/settings-schema.d.ts +133 -6
  20. package/dist/types/config/settings.d.ts +63 -35
  21. package/dist/types/coordinator-mcp/model-preset.d.ts +7 -6
  22. package/dist/types/coordinator-mcp/server.d.ts +6 -49
  23. package/dist/types/daemon/builtin.d.ts +6 -5
  24. package/dist/types/daemon/control-types.d.ts +1 -1
  25. package/dist/types/discovery/mcp-json.d.ts +12 -1
  26. package/dist/types/extensibility/custom-tools/types.d.ts +1 -1
  27. package/dist/types/extensibility/extensions/compact-handler.d.ts +4 -2
  28. package/dist/types/extensibility/extensions/get-commands-handler.d.ts +2 -2
  29. package/dist/types/extensibility/extensions/loader.d.ts +10 -1
  30. package/dist/types/extensibility/extensions/runner.d.ts +3 -3
  31. package/dist/types/extensibility/extensions/types.d.ts +141 -16
  32. package/dist/types/extensibility/hooks/types.d.ts +1 -1
  33. package/dist/types/gjc-runtime/launch-tmux.d.ts +3 -2
  34. package/dist/types/gjc-runtime/psmux-detect.d.ts +3 -0
  35. package/dist/types/gjc-runtime/session-state-sidecar.d.ts +3 -0
  36. package/dist/types/gjc-runtime/team-runtime.d.ts +3 -4
  37. package/dist/types/gjc-runtime/tmux-owner-isolation-cli.d.ts +13 -0
  38. package/dist/types/gjc-runtime/tmux-sessions.d.ts +4 -1
  39. package/dist/types/gjc-runtime/ultragoal-receipt-freshness.d.ts +11 -0
  40. package/dist/types/gjc-runtime/windows-powershell-command.d.ts +9 -0
  41. package/dist/types/harness-control-plane/operate.d.ts +5 -5
  42. package/dist/types/harness-control-plane/owner.d.ts +18 -4
  43. package/dist/types/harness-control-plane/receipts.d.ts +0 -1
  44. package/dist/types/harness-control-plane/sdk-transport.d.ts +43 -0
  45. package/dist/types/harness-control-plane/session-transport.d.ts +48 -0
  46. package/dist/types/harness-control-plane/types.d.ts +3 -4
  47. package/dist/types/lsp/index.d.ts +1 -1
  48. package/dist/types/main.d.ts +32 -38
  49. package/dist/types/modes/acp/acp-agent.d.ts +224 -53
  50. package/dist/types/modes/acp/acp-client-bridge.d.ts +1 -0
  51. package/dist/types/modes/acp/acp-mode.d.ts +6 -15
  52. package/dist/types/modes/acp/permission-mode.d.ts +4 -0
  53. package/dist/types/modes/acp/startup-options.d.ts +6 -0
  54. package/dist/types/modes/components/agent-dashboard.d.ts +3 -0
  55. package/dist/types/modes/components/model-selector.d.ts +1 -0
  56. package/dist/types/modes/components/notifications-settings-editor.d.ts +135 -0
  57. package/dist/types/modes/components/settings-selector.d.ts +6 -4
  58. package/dist/types/modes/components/welcome.d.ts +1 -1
  59. package/dist/types/modes/controllers/command-controller.d.ts +2 -2
  60. package/dist/types/modes/controllers/extension-ui-controller.d.ts +1 -0
  61. package/dist/types/modes/controllers/selector-controller.d.ts +35 -1
  62. package/dist/types/modes/index.d.ts +0 -4
  63. package/dist/types/modes/interactive-mode.d.ts +5 -2
  64. package/dist/types/modes/runtime-init.d.ts +2 -2
  65. package/dist/types/modes/shared/agent-wire/approval-gate.d.ts +6 -9
  66. package/dist/types/modes/shared/agent-wire/deep-interview-gate.d.ts +4 -6
  67. package/dist/types/modes/shared/agent-wire/event-contract.d.ts +6 -6
  68. package/dist/types/modes/shared/agent-wire/event-envelope.d.ts +4 -9
  69. package/dist/types/modes/shared/agent-wire/event-observation.d.ts +1 -1
  70. package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +170 -30
  71. package/dist/types/modes/shared/agent-wire/workflow-gate-schema.d.ts +7 -7
  72. package/dist/types/modes/shared/agent-wire/workflow-gate-types.d.ts +105 -0
  73. package/dist/types/modes/types.d.ts +7 -2
  74. package/dist/types/runtime-mcp/client.d.ts +2 -0
  75. package/dist/types/runtime-mcp/config.d.ts +5 -1
  76. package/dist/types/runtime-mcp/manager.d.ts +8 -1
  77. package/dist/types/runtime-mcp/types.d.ts +4 -0
  78. package/dist/types/sdk/acp/adapter.d.ts +67 -0
  79. package/dist/types/sdk/acp/index.d.ts +2 -0
  80. package/dist/types/sdk/broker/broker.d.ts +53 -0
  81. package/dist/types/sdk/broker/discovery.d.ts +30 -0
  82. package/dist/types/sdk/broker/ensure.d.ts +42 -0
  83. package/dist/types/sdk/broker/identity.d.ts +3 -0
  84. package/dist/types/sdk/broker/index.d.ts +8 -0
  85. package/dist/types/sdk/broker/lifecycle-ledger.d.ts +95 -0
  86. package/dist/types/sdk/broker/lifecycle.d.ts +85 -0
  87. package/dist/types/sdk/broker/process-incarnation.d.ts +14 -0
  88. package/dist/types/sdk/broker/runtime.d.ts +33 -0
  89. package/dist/types/sdk/broker/session-index.d.ts +57 -0
  90. package/dist/types/sdk/broker/state-version.d.ts +8 -0
  91. package/dist/types/sdk/broker/transport.d.ts +9 -0
  92. package/dist/types/sdk/bus/chat-command-policy.d.ts +49 -0
  93. package/dist/types/sdk/bus/chat-daemon-cli.d.ts +21 -0
  94. package/dist/types/sdk/bus/chat-daemon-control.d.ts +111 -0
  95. package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +77 -0
  96. package/dist/types/sdk/bus/chat-effect-journal.d.ts +84 -0
  97. package/dist/types/{notifications → sdk/bus}/config-commands.d.ts +7 -2
  98. package/dist/types/sdk/bus/config.d.ts +274 -0
  99. package/dist/types/sdk/bus/conversation-store.d.ts +72 -0
  100. package/dist/types/sdk/bus/discord-conversation.d.ts +58 -0
  101. package/dist/types/sdk/bus/discord-daemon.d.ts +50 -0
  102. package/dist/types/sdk/bus/discord-live-provider.d.ts +70 -0
  103. package/dist/types/sdk/bus/discord-provider.d.ts +85 -0
  104. package/dist/types/{notifications → sdk/bus}/html-format.d.ts +2 -2
  105. package/dist/types/{notifications → sdk/bus}/index.d.ts +113 -13
  106. package/dist/types/{notifications → sdk/bus}/lifecycle-control-runtime.d.ts +4 -2
  107. package/dist/types/{notifications → sdk/bus}/lifecycle-orchestrator.d.ts +18 -21
  108. package/dist/types/{notifications → sdk/bus}/managed-daemon.d.ts +1 -1
  109. package/dist/types/sdk/bus/native-runtime-compatibility.d.ts +13 -0
  110. package/dist/types/sdk/bus/notification-orchestration.d.ts +170 -0
  111. package/dist/types/{notifications → sdk/bus}/notification-service.d.ts +7 -1
  112. package/dist/types/sdk/bus/session-control.d.ts +83 -0
  113. package/dist/types/sdk/bus/slack-conversation.d.ts +56 -0
  114. package/dist/types/sdk/bus/slack-daemon.d.ts +60 -0
  115. package/dist/types/sdk/bus/slack-live-provider.d.ts +59 -0
  116. package/dist/types/sdk/bus/slack-provider.d.ts +55 -0
  117. package/dist/types/{notifications → sdk/bus}/telegram-cli.d.ts +4 -4
  118. package/dist/types/{notifications → sdk/bus}/telegram-daemon-cli.d.ts +14 -5
  119. package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +12 -0
  120. package/dist/types/{notifications → sdk/bus}/telegram-daemon-control.d.ts +2 -2
  121. package/dist/types/{notifications → sdk/bus}/telegram-daemon.d.ts +78 -17
  122. package/dist/types/{notifications → sdk/bus}/telegram-reference.d.ts +2 -2
  123. package/dist/types/sdk/bus/telegram-setup.d.ts +128 -0
  124. package/dist/types/{notifications → sdk/bus}/topic-registry.d.ts +11 -0
  125. package/dist/types/sdk/cli/index.d.ts +1 -0
  126. package/dist/types/sdk/cli/session-cli.d.ts +19 -0
  127. package/dist/types/sdk/client/client.d.ts +1 -0
  128. package/dist/types/sdk/client/discovery.d.ts +27 -0
  129. package/dist/types/sdk/client/index.d.ts +2 -0
  130. package/dist/types/sdk/host/control/dispatch.d.ts +34 -0
  131. package/dist/types/sdk/host/control/index.d.ts +2 -0
  132. package/dist/types/sdk/host/control/operations.d.ts +65 -0
  133. package/dist/types/sdk/host/events.d.ts +35 -0
  134. package/dist/types/sdk/host/host.d.ts +35 -0
  135. package/dist/types/sdk/host/index.d.ts +4 -0
  136. package/dist/types/sdk/host/query/cursor.d.ts +62 -0
  137. package/dist/types/sdk/host/query/handlers.d.ts +70 -0
  138. package/dist/types/sdk/host/query/index.d.ts +3 -0
  139. package/dist/types/sdk/host/query/revision-store.d.ts +60 -0
  140. package/dist/types/sdk/host/reverse-leases.d.ts +45 -0
  141. package/dist/types/sdk/host/types.d.ts +32 -0
  142. package/dist/types/sdk/index.d.ts +6 -0
  143. package/dist/types/sdk/lifecycle-session.d.ts +14 -0
  144. package/dist/types/sdk/mcp/index.d.ts +1 -0
  145. package/dist/types/sdk/mcp/server.d.ts +37 -0
  146. package/dist/types/sdk/models.d.ts +44 -0
  147. package/dist/types/sdk/protocol/adapter-validation.d.ts +14 -0
  148. package/dist/types/sdk/protocol/operation-registry.d.ts +24 -0
  149. package/dist/types/{sdk.d.ts → sdk/session.d.ts} +44 -38
  150. package/dist/types/sdk/startup-capability.d.ts +50 -0
  151. package/dist/types/session/agent-session.d.ts +114 -21
  152. package/dist/types/session/default-model-selection.d.ts +25 -0
  153. package/dist/types/session/fallback-chain-controller.d.ts +52 -0
  154. package/dist/types/session/session-manager.d.ts +58 -1
  155. package/dist/types/setup/credential-auto-import.d.ts +36 -6
  156. package/dist/types/tools/ask-answer-registry.d.ts +1 -1
  157. package/dist/types/tools/browser/benchmark/detector-report.d.ts +63 -0
  158. package/dist/types/tools/browser/benchmark/run-suite.d.ts +18 -0
  159. package/dist/types/tools/browser/launch.d.ts +22 -0
  160. package/dist/types/tools/browser/profile-discovery.d.ts +31 -0
  161. package/dist/types/tools/browser/profile-posture.d.ts +37 -0
  162. package/dist/types/tools/browser/profile-reuse.d.ts +39 -0
  163. package/dist/types/tools/browser/profile-warmup.d.ts +39 -0
  164. package/dist/types/tools/browser/registry.d.ts +19 -0
  165. package/dist/types/tools/browser/tab-protocol.d.ts +4 -0
  166. package/dist/types/tools/index.d.ts +8 -8
  167. package/dist/types/tools/subagent-render.d.ts +1 -0
  168. package/dist/types/tools/subagent.d.ts +6 -1
  169. package/package.json +34 -13
  170. package/scripts/build-sdk-package-smoke.ts +99 -0
  171. package/scripts/capture-notifications-settings-showcase.ts +435 -0
  172. package/scripts/compile-args.ts +4 -2
  173. package/scripts/g005-daemon-smoke.ts +4 -5
  174. package/scripts/g011-daemon-path-smoke.ts +5 -5
  175. package/scripts/generate-sdk-adapter-parity-manifest.ts +163 -0
  176. package/scripts/generate-sdk-operation-inventory.ts +867 -0
  177. package/scripts/generate-telegram-baseline-manifest.ts +128 -0
  178. package/scripts/manifest-schema.ts +124 -0
  179. package/scripts/run-test-manifest.ts +153 -0
  180. package/scripts/run-threat-model-check.ts +157 -0
  181. package/scripts/verify-gjc-sdk-canonicalization.ts +3467 -0
  182. package/scripts/verify-gjc-sdk-rename.ts +90 -0
  183. package/src/append-only-mode.ts +1 -1
  184. package/src/async/job-manager.ts +406 -63
  185. package/src/cli/args.ts +43 -12
  186. package/src/cli/auth-gateway-cli.ts +2 -2
  187. package/src/cli/config-cli.ts +2 -1
  188. package/src/cli/daemon-cli.ts +63 -14
  189. package/src/cli/list-models.ts +1 -1
  190. package/src/cli/notify-cli.ts +288 -286
  191. package/src/cli.ts +21 -2
  192. package/src/commands/daemon.ts +50 -6
  193. package/src/commands/harness.ts +93 -36
  194. package/src/commands/launch.ts +5 -2
  195. package/src/commands/mcp-serve.ts +19 -12
  196. package/src/commands/notify.ts +36 -3
  197. package/src/commands/sdk.ts +426 -0
  198. package/src/commit/agentic/agent.ts +1 -0
  199. package/src/config/atomic-yaml-patch.ts +423 -0
  200. package/src/config/model-profile-activation.ts +240 -89
  201. package/src/config/model-profiles.ts +18 -15
  202. package/src/config/model-registry.ts +51 -26
  203. package/src/config/model-resolver.ts +138 -51
  204. package/src/config/model-selector-value.ts +50 -0
  205. package/src/config/models-config-schema.ts +14 -21
  206. package/src/config/settings-schema.ts +128 -10
  207. package/src/config/settings.ts +1120 -158
  208. package/src/coordinator-mcp/model-preset.ts +74 -20
  209. package/src/coordinator-mcp/server.ts +1597 -3052
  210. package/src/daemon/builtin.ts +8 -5
  211. package/src/daemon/control-types.ts +1 -1
  212. package/src/defaults/gjc/skills/team/SKILL.md +4 -4
  213. package/src/discovery/mcp-json.ts +327 -20
  214. package/src/extensibility/custom-tools/types.ts +1 -1
  215. package/src/extensibility/extensions/compact-handler.ts +3 -3
  216. package/src/extensibility/extensions/get-commands-handler.ts +2 -2
  217. package/src/extensibility/extensions/loader.ts +69 -5
  218. package/src/extensibility/extensions/runner.ts +112 -4
  219. package/src/extensibility/extensions/types.ts +176 -17
  220. package/src/extensibility/hooks/types.ts +1 -1
  221. package/src/gjc-runtime/launch-tmux.ts +170 -86
  222. package/src/gjc-runtime/psmux-detect.ts +82 -4
  223. package/src/gjc-runtime/session-state-sidecar.ts +41 -31
  224. package/src/gjc-runtime/team-runtime.ts +54 -35
  225. package/src/gjc-runtime/tmux-owner-isolation-cli.ts +53 -17
  226. package/src/gjc-runtime/tmux-owner-isolation.ts +1 -1
  227. package/src/gjc-runtime/tmux-sessions.ts +19 -13
  228. package/src/gjc-runtime/ultragoal-guard.ts +108 -14
  229. package/src/gjc-runtime/ultragoal-receipt-freshness.ts +102 -1
  230. package/src/gjc-runtime/ultragoal-runtime.ts +227 -11
  231. package/src/gjc-runtime/windows-powershell-command.ts +58 -0
  232. package/src/harness-control-plane/operate.ts +9 -9
  233. package/src/harness-control-plane/owner.ts +283 -39
  234. package/src/harness-control-plane/receipts.ts +0 -1
  235. package/src/harness-control-plane/sdk-transport.ts +395 -0
  236. package/src/harness-control-plane/session-transport.ts +94 -0
  237. package/src/harness-control-plane/types.ts +1 -1
  238. package/src/internal-urls/docs-index.generated.ts +34 -35
  239. package/src/lsp/client.ts +42 -6
  240. package/src/lsp/index.ts +2 -2
  241. package/src/main.ts +299 -204
  242. package/src/modes/DESIGN.md +258 -0
  243. package/src/modes/acp/acp-agent.ts +1228 -2612
  244. package/src/modes/acp/acp-client-bridge.ts +2 -20
  245. package/src/modes/acp/acp-event-mapper.ts +18 -2
  246. package/src/modes/acp/acp-mode.ts +8 -36
  247. package/src/modes/acp/permission-mode.ts +25 -0
  248. package/src/modes/acp/startup-options.ts +6 -0
  249. package/src/modes/components/agent-dashboard.ts +37 -17
  250. package/src/modes/components/model-selector.ts +93 -35
  251. package/src/modes/components/notifications-settings-editor.ts +1379 -0
  252. package/src/modes/components/settings-selector.ts +60 -11
  253. package/src/modes/components/welcome.ts +4 -4
  254. package/src/modes/controllers/command-controller.ts +10 -17
  255. package/src/modes/controllers/event-controller.ts +11 -16
  256. package/src/modes/controllers/extension-ui-controller.ts +396 -28
  257. package/src/modes/controllers/selector-controller.ts +674 -36
  258. package/src/modes/index.ts +0 -22
  259. package/src/modes/interactive-mode.ts +87 -36
  260. package/src/modes/runtime-init.ts +298 -6
  261. package/src/modes/shared/agent-wire/approval-gate.ts +9 -11
  262. package/src/modes/shared/agent-wire/deep-interview-gate.ts +10 -11
  263. package/src/modes/shared/agent-wire/event-contract.ts +7 -8
  264. package/src/modes/shared/agent-wire/event-envelope.ts +9 -17
  265. package/src/modes/shared/agent-wire/event-observation.ts +16 -7
  266. package/src/modes/shared/agent-wire/workflow-gate-broker.ts +1258 -87
  267. package/src/modes/shared/agent-wire/workflow-gate-schema.ts +15 -15
  268. package/src/modes/shared/agent-wire/workflow-gate-types.ts +113 -0
  269. package/src/modes/types.ts +7 -2
  270. package/src/runtime-mcp/client.ts +94 -19
  271. package/src/runtime-mcp/config.ts +27 -15
  272. package/src/runtime-mcp/manager.ts +343 -105
  273. package/src/runtime-mcp/oauth-flow.ts +42 -12
  274. package/src/runtime-mcp/transports/http.ts +49 -19
  275. package/src/runtime-mcp/transports/stdio.ts +47 -28
  276. package/src/runtime-mcp/types.ts +10 -0
  277. package/src/sdk/acp/adapter.ts +418 -0
  278. package/src/sdk/acp/index.ts +2 -0
  279. package/src/sdk/broker/broker.ts +642 -0
  280. package/src/sdk/broker/discovery.ts +113 -0
  281. package/src/sdk/broker/ensure.ts +307 -0
  282. package/src/sdk/broker/identity.ts +42 -0
  283. package/src/sdk/broker/index.ts +8 -0
  284. package/src/sdk/broker/internal-source-marker-2178.txt +1 -0
  285. package/src/sdk/broker/internal-source.bunfig.toml +1 -0
  286. package/src/sdk/broker/lifecycle-ledger.ts +286 -0
  287. package/src/sdk/broker/lifecycle.ts +2157 -0
  288. package/src/sdk/broker/process-incarnation.ts +159 -0
  289. package/src/sdk/broker/runtime.ts +164 -0
  290. package/src/sdk/broker/session-index.ts +318 -0
  291. package/src/sdk/broker/state-version.ts +23 -0
  292. package/src/sdk/broker/transport.ts +125 -0
  293. package/src/sdk/bus/chat-command-policy.ts +107 -0
  294. package/src/sdk/bus/chat-daemon-cli.ts +214 -0
  295. package/src/sdk/bus/chat-daemon-control.ts +713 -0
  296. package/src/sdk/bus/chat-daemon-runtime.ts +526 -0
  297. package/src/sdk/bus/chat-effect-journal.ts +355 -0
  298. package/src/{notifications → sdk/bus}/config-commands.ts +39 -10
  299. package/src/sdk/bus/config.ts +433 -0
  300. package/src/sdk/bus/conversation-store.ts +391 -0
  301. package/src/sdk/bus/discord-conversation.ts +85 -0
  302. package/src/sdk/bus/discord-daemon.ts +2292 -0
  303. package/src/sdk/bus/discord-live-provider.ts +521 -0
  304. package/src/sdk/bus/discord-provider.ts +56 -0
  305. package/src/{notifications → sdk/bus}/html-format.ts +2 -2
  306. package/src/sdk/bus/index.ts +3979 -0
  307. package/src/{notifications → sdk/bus}/lifecycle-commands.ts +2 -0
  308. package/src/{notifications → sdk/bus}/lifecycle-control-runtime.ts +225 -196
  309. package/src/{notifications → sdk/bus}/lifecycle-orchestrator.ts +161 -74
  310. package/src/{notifications → sdk/bus}/managed-daemon.ts +2 -2
  311. package/src/sdk/bus/native-runtime-compatibility.ts +42 -0
  312. package/src/sdk/bus/natives-augment.d.ts +38 -0
  313. package/src/sdk/bus/notification-orchestration.ts +535 -0
  314. package/src/{notifications → sdk/bus}/notification-service.ts +106 -12
  315. package/src/sdk/bus/session-control.ts +333 -0
  316. package/src/sdk/bus/slack-conversation.ts +74 -0
  317. package/src/sdk/bus/slack-daemon.ts +2144 -0
  318. package/src/sdk/bus/slack-live-provider.ts +380 -0
  319. package/src/sdk/bus/slack-provider.ts +76 -0
  320. package/src/{notifications → sdk/bus}/telegram-cli.ts +8 -8
  321. package/src/sdk/bus/telegram-daemon-cli.ts +330 -0
  322. package/src/sdk/bus/telegram-daemon-contract.ts +14 -0
  323. package/src/{notifications → sdk/bus}/telegram-daemon-control.ts +4 -4
  324. package/src/{notifications → sdk/bus}/telegram-daemon.ts +603 -63
  325. package/src/{notifications → sdk/bus}/telegram-reference.ts +2 -2
  326. package/src/sdk/bus/telegram-setup.ts +663 -0
  327. package/src/{notifications → sdk/bus}/topic-registry.ts +32 -0
  328. package/src/sdk/cli/index.ts +1 -0
  329. package/src/sdk/cli/session-cli.ts +275 -0
  330. package/src/sdk/client/client.ts +1 -0
  331. package/src/sdk/client/discovery.ts +108 -0
  332. package/src/sdk/client/index.ts +2 -0
  333. package/src/sdk/host/control/dispatch.ts +367 -0
  334. package/src/sdk/host/control/index.ts +10 -0
  335. package/src/sdk/host/control/operations.ts +63 -0
  336. package/src/sdk/host/events.ts +91 -0
  337. package/src/sdk/host/host.ts +296 -0
  338. package/src/sdk/host/index.ts +4 -0
  339. package/src/sdk/host/query/cursor.ts +189 -0
  340. package/src/sdk/host/query/handlers.ts +533 -0
  341. package/src/sdk/host/query/index.ts +3 -0
  342. package/src/sdk/host/query/revision-store.ts +1126 -0
  343. package/src/sdk/host/reverse-leases.ts +325 -0
  344. package/src/sdk/host/types.ts +29 -0
  345. package/src/sdk/index.ts +13 -0
  346. package/src/sdk/lifecycle-session.ts +39 -0
  347. package/src/sdk/mcp/index.ts +1 -0
  348. package/src/sdk/mcp/server.ts +332 -0
  349. package/src/sdk/models.ts +168 -0
  350. package/src/sdk/protocol/adapter-validation.ts +48 -0
  351. package/src/sdk/protocol/operation-inventory.generated.json +5654 -0
  352. package/src/sdk/protocol/operation-registry.ts +312 -0
  353. package/src/{sdk.ts → sdk/session.ts} +339 -212
  354. package/src/sdk/startup-capability.ts +189 -0
  355. package/src/session/agent-session.ts +2650 -944
  356. package/src/session/default-model-selection.ts +93 -0
  357. package/src/session/fallback-chain-controller.ts +136 -0
  358. package/src/session/session-manager.ts +438 -11
  359. package/src/session/session-storage.ts +8 -1
  360. package/src/setup/credential-auto-import.ts +290 -35
  361. package/src/setup/hermes/templates/operator-instructions.v1.md +3 -5
  362. package/src/slash-commands/builtin-registry.ts +2 -1
  363. package/src/task/executor.ts +62 -13
  364. package/src/task/index.ts +26 -16
  365. package/src/tools/ask-answer-registry.ts +1 -1
  366. package/src/tools/ask.ts +13 -8
  367. package/src/tools/browser/STEALTH-THIRD-PARTY-NOTICES.md +26 -0
  368. package/src/tools/browser/benchmark/detector-report.ts +157 -0
  369. package/src/tools/browser/benchmark/run-suite.ts +39 -0
  370. package/src/tools/browser/launch.ts +124 -19
  371. package/src/tools/browser/profile-discovery.ts +63 -0
  372. package/src/tools/browser/profile-posture.ts +59 -0
  373. package/src/tools/browser/profile-reuse.ts +102 -0
  374. package/src/tools/browser/profile-warmup.ts +109 -0
  375. package/src/tools/browser/registry.ts +87 -11
  376. package/src/tools/browser/tab-protocol.ts +1 -0
  377. package/src/tools/browser/tab-supervisor.ts +1 -0
  378. package/src/tools/browser/tab-worker.ts +1 -1
  379. package/src/tools/browser.ts +6 -0
  380. package/src/tools/index.ts +8 -8
  381. package/src/tools/puppeteer/14_stealth_permissions.txt +57 -0
  382. package/src/tools/puppeteer/15_stealth_webrtc.txt +60 -0
  383. package/src/tools/subagent-render.ts +19 -8
  384. package/src/tools/subagent.ts +84 -32
  385. package/src/tools/telegram-send.ts +2 -2
  386. package/vendor/insane-search/MANIFEST.json +2 -1
  387. package/vendor/insane-search/engine/bias_check.py +4 -1
  388. package/vendor/insane-search/engine/phase0.py +26 -1
  389. package/dist/types/harness-control-plane/rpc-adapter.d.ts +0 -69
  390. package/dist/types/modes/bridge/auth.d.ts +0 -12
  391. package/dist/types/modes/bridge/bridge-client-bridge.d.ts +0 -9
  392. package/dist/types/modes/bridge/bridge-mode.d.ts +0 -47
  393. package/dist/types/modes/bridge/bridge-ui-context.d.ts +0 -88
  394. package/dist/types/modes/bridge/event-stream.d.ts +0 -8
  395. package/dist/types/modes/rpc/host-tools.d.ts +0 -1
  396. package/dist/types/modes/rpc/host-uris.d.ts +0 -1
  397. package/dist/types/modes/rpc/rpc-client.d.ts +0 -299
  398. package/dist/types/modes/rpc/rpc-mode.d.ts +0 -86
  399. package/dist/types/modes/rpc/rpc-socket-security.d.ts +0 -10
  400. package/dist/types/modes/rpc/rpc-types.d.ts +0 -810
  401. package/dist/types/modes/shared/agent-wire/command-contract.d.ts +0 -18
  402. package/dist/types/modes/shared/agent-wire/command-dispatch.d.ts +0 -37
  403. package/dist/types/modes/shared/agent-wire/command-validation.d.ts +0 -2
  404. package/dist/types/modes/shared/agent-wire/handshake.d.ts +0 -56
  405. package/dist/types/modes/shared/agent-wire/host-tool-bridge.d.ts +0 -16
  406. package/dist/types/modes/shared/agent-wire/host-uri-bridge.d.ts +0 -17
  407. package/dist/types/modes/shared/agent-wire/protocol.d.ts +0 -25
  408. package/dist/types/modes/shared/agent-wire/responses.d.ts +0 -4
  409. package/dist/types/modes/shared/agent-wire/scopes.d.ts +0 -18
  410. package/dist/types/modes/shared/agent-wire/session-registry.d.ts +0 -25
  411. package/dist/types/modes/shared/agent-wire/ui-request-broker.d.ts +0 -42
  412. package/dist/types/modes/shared/agent-wire/ui-result.d.ts +0 -27
  413. package/dist/types/modes/shared/agent-wire/unattended-action-policy.d.ts +0 -29
  414. package/dist/types/modes/shared/agent-wire/unattended-audit.d.ts +0 -68
  415. package/dist/types/modes/shared/agent-wire/unattended-run-controller.d.ts +0 -166
  416. package/dist/types/modes/shared/agent-wire/unattended-session.d.ts +0 -127
  417. package/dist/types/notifications/config.d.ts +0 -132
  418. package/src/harness-control-plane/rpc-adapter.ts +0 -290
  419. package/src/modes/bridge/auth.ts +0 -41
  420. package/src/modes/bridge/bridge-client-bridge.ts +0 -47
  421. package/src/modes/bridge/bridge-mode.ts +0 -675
  422. package/src/modes/bridge/bridge-ui-context.ts +0 -200
  423. package/src/modes/bridge/event-stream.ts +0 -70
  424. package/src/modes/rpc/host-tools.ts +0 -1
  425. package/src/modes/rpc/host-uris.ts +0 -1
  426. package/src/modes/rpc/rpc-client.ts +0 -1166
  427. package/src/modes/rpc/rpc-mode.ts +0 -1029
  428. package/src/modes/rpc/rpc-socket-security.ts +0 -115
  429. package/src/modes/rpc/rpc-types.ts +0 -637
  430. package/src/modes/shared/agent-wire/command-contract.ts +0 -18
  431. package/src/modes/shared/agent-wire/command-dispatch.ts +0 -498
  432. package/src/modes/shared/agent-wire/command-validation.ts +0 -181
  433. package/src/modes/shared/agent-wire/handshake.ts +0 -157
  434. package/src/modes/shared/agent-wire/host-tool-bridge.ts +0 -197
  435. package/src/modes/shared/agent-wire/host-uri-bridge.ts +0 -236
  436. package/src/modes/shared/agent-wire/protocol.ts +0 -46
  437. package/src/modes/shared/agent-wire/responses.ts +0 -17
  438. package/src/modes/shared/agent-wire/scopes.ts +0 -94
  439. package/src/modes/shared/agent-wire/session-registry.ts +0 -109
  440. package/src/modes/shared/agent-wire/ui-request-broker.ts +0 -150
  441. package/src/modes/shared/agent-wire/ui-result.ts +0 -48
  442. package/src/modes/shared/agent-wire/unattended-action-policy.ts +0 -365
  443. package/src/modes/shared/agent-wire/unattended-audit.ts +0 -176
  444. package/src/modes/shared/agent-wire/unattended-run-controller.ts +0 -426
  445. package/src/modes/shared/agent-wire/unattended-session.ts +0 -528
  446. package/src/notifications/config.ts +0 -219
  447. package/src/notifications/index.ts +0 -1835
  448. package/src/notifications/telegram-daemon-cli.ts +0 -243
  449. package/src/tools/puppeteer/09_stealth_locale.txt +0 -46
  450. /package/dist/types/{notifications → sdk/bus}/attachment-registry.d.ts +0 -0
  451. /package/dist/types/{notifications → sdk/bus}/chat-adapters.d.ts +0 -0
  452. /package/dist/types/{notifications → sdk/bus}/daemon-paths.d.ts +0 -0
  453. /package/dist/types/{notifications → sdk/bus}/engine.d.ts +0 -0
  454. /package/dist/types/{notifications → sdk/bus}/helpers.d.ts +0 -0
  455. /package/dist/types/{notifications → sdk/bus}/lifecycle-commands.d.ts +0 -0
  456. /package/dist/types/{notifications → sdk/bus}/operator-runtime.d.ts +0 -0
  457. /package/dist/types/{notifications → sdk/bus}/rate-limit-pool.d.ts +0 -0
  458. /package/dist/types/{notifications → sdk/bus}/recent-activity.d.ts +0 -0
  459. /package/dist/types/{notifications → sdk/bus}/reply-sent-store.d.ts +0 -0
  460. /package/dist/types/{notifications → sdk/bus}/rich-draft.d.ts +0 -0
  461. /package/dist/types/{notifications → sdk/bus}/rich-render.d.ts +0 -0
  462. /package/dist/types/{notifications → sdk/bus}/threaded-inbound.d.ts +0 -0
  463. /package/dist/types/{notifications → sdk/bus}/threaded-render.d.ts +0 -0
  464. /package/src/{notifications → sdk/bus}/attachment-registry.ts +0 -0
  465. /package/src/{notifications → sdk/bus}/chat-adapters.ts +0 -0
  466. /package/src/{notifications → sdk/bus}/daemon-paths.ts +0 -0
  467. /package/src/{notifications → sdk/bus}/engine.ts +0 -0
  468. /package/src/{notifications → sdk/bus}/helpers.ts +0 -0
  469. /package/src/{notifications → sdk/bus}/operator-runtime.ts +0 -0
  470. /package/src/{notifications → sdk/bus}/rate-limit-pool.ts +0 -0
  471. /package/src/{notifications → sdk/bus}/recent-activity.ts +0 -0
  472. /package/src/{notifications → sdk/bus}/reply-sent-store.ts +0 -0
  473. /package/src/{notifications → sdk/bus}/rich-draft.ts +0 -0
  474. /package/src/{notifications → sdk/bus}/rich-render.ts +0 -0
  475. /package/src/{notifications → sdk/bus}/threaded-inbound.ts +0 -0
  476. /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
- }