@hiai-gg/hiai-opencode 0.1.1 → 0.1.2

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 (1220) hide show
  1. package/.env.example +57 -57
  2. package/AGENTS.md +280 -281
  3. package/ARCHITECTURE.md +280 -281
  4. package/LICENSE.md +59 -59
  5. package/README.md +301 -301
  6. package/assets/mcp/mempalace.mjs +153 -153
  7. package/assets/mcp/rag.mjs +236 -236
  8. package/assets/runtime/npm-package-runner.mjs +54 -54
  9. package/config/hiai-opencode.schema.json +82 -82
  10. package/config/opencode.json +4 -4
  11. package/dist/index.js +243 -243
  12. package/hiai-opencode.json +57 -57
  13. package/package.json +86 -91
  14. package/skills/api-and-interface-design/SKILL.md +294 -294
  15. package/skills/brainstorming/SKILL.md +164 -164
  16. package/skills/brainstorming/scripts/frame-template.html +214 -214
  17. package/skills/brainstorming/scripts/helper.js +88 -88
  18. package/skills/brainstorming/scripts/server.cjs +354 -354
  19. package/skills/brainstorming/scripts/start-server.sh +148 -148
  20. package/skills/brainstorming/scripts/stop-server.sh +56 -56
  21. package/skills/brainstorming/spec-document-reviewer-prompt.md +49 -49
  22. package/skills/brainstorming/visual-companion.md +287 -287
  23. package/skills/browser-testing-with-devtools/SKILL.md +302 -302
  24. package/skills/ci-cd-and-automation/SKILL.md +390 -390
  25. package/skills/code-review-and-quality/SKILL.md +347 -347
  26. package/skills/code-simplification/SKILL.md +331 -331
  27. package/skills/context-engineering/SKILL.md +289 -289
  28. package/skills/deprecation-and-migration/SKILL.md +206 -206
  29. package/skills/dispatching-parallel-agents/SKILL.md +182 -182
  30. package/skills/documentation-and-adrs/SKILL.md +278 -278
  31. package/skills/executing-plans/SKILL.md +70 -70
  32. package/skills/finishing-a-development-branch/SKILL.md +200 -200
  33. package/skills/frontend-ui-engineering/SKILL.md +322 -322
  34. package/skills/git-workflow-and-versioning/SKILL.md +300 -300
  35. package/skills/incremental-implementation/SKILL.md +241 -241
  36. package/skills/performance-optimization/SKILL.md +350 -350
  37. package/skills/receiving-code-review/SKILL.md +213 -213
  38. package/skills/requesting-code-review/SKILL.md +105 -105
  39. package/skills/requesting-code-review/code-reviewer.md +146 -146
  40. package/skills/security-and-hardening/SKILL.md +349 -349
  41. package/skills/shipping-and-launch/SKILL.md +309 -309
  42. package/skills/source-driven-development/SKILL.md +194 -194
  43. package/skills/spec-driven-development/SKILL.md +200 -200
  44. package/skills/subagent-driven-development/SKILL.md +277 -277
  45. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -26
  46. package/skills/subagent-driven-development/implementer-prompt.md +113 -113
  47. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -61
  48. package/skills/systematic-debugging/CREATION-LOG.md +119 -119
  49. package/skills/systematic-debugging/SKILL.md +596 -596
  50. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
  51. package/skills/systematic-debugging/condition-based-waiting.md +115 -115
  52. package/skills/systematic-debugging/defense-in-depth.md +122 -122
  53. package/skills/systematic-debugging/find-polluter.sh +63 -63
  54. package/skills/systematic-debugging/root-cause-tracing.md +169 -169
  55. package/skills/systematic-debugging/test-academic.md +14 -14
  56. package/skills/systematic-debugging/test-pressure-1.md +58 -58
  57. package/skills/systematic-debugging/test-pressure-2.md +68 -68
  58. package/skills/systematic-debugging/test-pressure-3.md +69 -69
  59. package/skills/test-driven-development/SKILL.md +379 -379
  60. package/skills/using-agent-skills/SKILL.md +174 -174
  61. package/skills/using-git-worktrees/SKILL.md +218 -218
  62. package/skills/using-superpowers/SKILL.md +117 -117
  63. package/skills/using-superpowers/references/codex-tools.md +100 -100
  64. package/skills/using-superpowers/references/copilot-tools.md +52 -52
  65. package/skills/using-superpowers/references/gemini-tools.md +33 -33
  66. package/skills/verification-before-completion/SKILL.md +139 -139
  67. package/skills/writing-plans/SKILL.md +152 -152
  68. package/skills/writing-plans/plan-document-reviewer-prompt.md +49 -49
  69. package/skills/writing-skills/SKILL.md +655 -655
  70. package/skills/writing-skills/anthropic-best-practices.md +1150 -1150
  71. package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -189
  72. package/skills/writing-skills/graphviz-conventions.dot +171 -171
  73. package/skills/writing-skills/persuasion-principles.md +187 -187
  74. package/skills/writing-skills/render-graphs.js +168 -168
  75. package/skills/writing-skills/testing-skills-with-subagents.md +384 -384
  76. package/src/AGENTS.md +41 -41
  77. package/src/agents/AGENTS.md +74 -74
  78. package/src/agents/agent-builder.ts +50 -50
  79. package/src/agents/bob/AGENTS.md +29 -29
  80. package/src/agents/bob/default.ts +128 -128
  81. package/src/agents/bob/gemini.ts +237 -237
  82. package/src/agents/bob/gpt-pro.ts +430 -430
  83. package/src/agents/bob/index.ts +19 -19
  84. package/src/agents/bob.ts +528 -528
  85. package/src/agents/builtin-agents/agent-overrides.ts +75 -75
  86. package/src/agents/builtin-agents/available-skills.ts +35 -35
  87. package/src/agents/builtin-agents/bob-agent.ts +96 -96
  88. package/src/agents/builtin-agents/coder-agent.ts +98 -98
  89. package/src/agents/builtin-agents/environment-context.ts +16 -16
  90. package/src/agents/builtin-agents/general-agents.ts +122 -122
  91. package/src/agents/builtin-agents/guard-agent.ts +66 -66
  92. package/src/agents/builtin-agents/model-resolution.ts +31 -31
  93. package/src/agents/builtin-agents/resolve-file-uri.ts +42 -42
  94. package/src/agents/builtin-agents.ts +194 -194
  95. package/src/agents/coder/AGENTS.md +34 -34
  96. package/src/agents/coder/agent.ts +162 -162
  97. package/src/agents/coder/gpt-codex.ts +404 -404
  98. package/src/agents/coder/gpt-pro.ts +319 -319
  99. package/src/agents/coder/gpt.ts +253 -253
  100. package/src/agents/coder/index.ts +8 -8
  101. package/src/agents/critic/agent.ts +105 -105
  102. package/src/agents/custom-agent-summaries.ts +61 -61
  103. package/src/agents/dynamic-agent-category-skills-guide.ts +138 -138
  104. package/src/agents/dynamic-agent-core-sections.ts +237 -237
  105. package/src/agents/dynamic-agent-policy-sections.ts +182 -182
  106. package/src/agents/dynamic-agent-prompt-builder.ts +31 -31
  107. package/src/agents/dynamic-agent-prompt-types.ts +24 -24
  108. package/src/agents/dynamic-agent-tool-categorization.ts +45 -45
  109. package/src/agents/env-context.ts +16 -16
  110. package/src/agents/gpt-apply-patch-guard.ts +7 -7
  111. package/src/agents/guard/agent.ts +146 -146
  112. package/src/agents/guard/default-prompt-sections.ts +305 -305
  113. package/src/agents/guard/default.ts +22 -22
  114. package/src/agents/guard/gemini-prompt-sections.ts +293 -293
  115. package/src/agents/guard/gemini.ts +22 -22
  116. package/src/agents/guard/gpt-prompt-sections.ts +296 -296
  117. package/src/agents/guard/gpt.ts +22 -22
  118. package/src/agents/guard/index.ts +2 -2
  119. package/src/agents/guard/prompt-section-builder.ts +104 -104
  120. package/src/agents/guard/shared-prompt.ts +172 -172
  121. package/src/agents/index.ts +5 -5
  122. package/src/agents/platform-adapter.ts +236 -236
  123. package/src/agents/platform-manager.ts +57 -57
  124. package/src/agents/prompt-library/identity.ts +14 -14
  125. package/src/agents/prompt-library/index.ts +7 -7
  126. package/src/agents/prompt-library/intent-gate.ts +149 -149
  127. package/src/agents/prompt-library/orchestration.ts +60 -60
  128. package/src/agents/prompt-library/platform.ts +36 -36
  129. package/src/agents/prompt-library/specialized.ts +39 -39
  130. package/src/agents/prompt-library/strategy.ts +80 -80
  131. package/src/agents/prompt-library/todo-discipline.ts +22 -22
  132. package/src/agents/quality-guardian.ts +76 -76
  133. package/src/agents/researcher.ts +73 -73
  134. package/src/agents/strategist/AGENTS.md +37 -37
  135. package/src/agents/strategist/behavioral-summary.ts +79 -79
  136. package/src/agents/strategist/gemini.ts +333 -333
  137. package/src/agents/strategist/gpt.ts +460 -460
  138. package/src/agents/strategist/high-accuracy-mode.ts +78 -78
  139. package/src/agents/strategist/identity-constraints.ts +336 -336
  140. package/src/agents/strategist/index.ts +6 -6
  141. package/src/agents/strategist/interview-mode.ts +335 -335
  142. package/src/agents/strategist/plan-generation.ts +213 -213
  143. package/src/agents/strategist/plan-template.ts +325 -325
  144. package/src/agents/strategist/system-prompt.ts +68 -68
  145. package/src/agents/sub/agent.ts +141 -141
  146. package/src/agents/sub/default.ts +52 -52
  147. package/src/agents/sub/gemini.ts +194 -194
  148. package/src/agents/sub/gpt-codex.ts +156 -156
  149. package/src/agents/sub/gpt-pro.ts +161 -161
  150. package/src/agents/sub/gpt.ts +157 -157
  151. package/src/agents/sub/index.ts +13 -13
  152. package/src/agents/types.ts +144 -144
  153. package/src/agents/ui.ts +58 -58
  154. package/src/config/data/model-capabilities.json +40690 -40690
  155. package/src/config/defaults.ts +146 -146
  156. package/src/config/hiai-opencode.schema.json +12 -12
  157. package/src/config/index.ts +67 -67
  158. package/src/config/loader.test.ts +65 -65
  159. package/src/config/loader.ts +183 -183
  160. package/src/config/models.ts +32 -32
  161. package/src/config/platform-schema.ts +192 -192
  162. package/src/config/schema/agent-definitions.ts +5 -5
  163. package/src/config/schema/agent-names.ts +66 -66
  164. package/src/config/schema/agent-overrides.ts +95 -95
  165. package/src/config/schema/babysitting.ts +7 -7
  166. package/src/config/schema/background-task.ts +29 -29
  167. package/src/config/schema/bob-agent.ts +11 -11
  168. package/src/config/schema/bob.ts +17 -17
  169. package/src/config/schema/browser-automation.ts +24 -24
  170. package/src/config/schema/categories.ts +45 -45
  171. package/src/config/schema/claude-code.ts +13 -13
  172. package/src/config/schema/commands.ts +14 -14
  173. package/src/config/schema/comment-checker.ts +8 -8
  174. package/src/config/schema/dynamic-context-pruning.ts +53 -53
  175. package/src/config/schema/experimental.ts +27 -27
  176. package/src/config/schema/fallback-models.ts +31 -31
  177. package/src/config/schema/fast-apply.ts +14 -14
  178. package/src/config/schema/git-env-prefix.ts +28 -28
  179. package/src/config/schema/git-master.ts +14 -14
  180. package/src/config/schema/hooks.ts +61 -61
  181. package/src/config/schema/index.ts +52 -52
  182. package/src/config/schema/internal/permission.ts +20 -20
  183. package/src/config/schema/model-capabilities.ts +10 -10
  184. package/src/config/schema/notification.ts +8 -8
  185. package/src/config/schema/oh-my-opencode-config.ts +90 -90
  186. package/src/config/schema/openclaw.ts +50 -50
  187. package/src/config/schema/ralph-loop.ts +11 -11
  188. package/src/config/schema/runtime-fallback.ts +18 -18
  189. package/src/config/schema/skills.ts +39 -39
  190. package/src/config/schema/start-work.ts +7 -7
  191. package/src/config/schema/tmux.ts +28 -28
  192. package/src/config/schema/websearch.ts +15 -15
  193. package/src/config/types.ts +174 -174
  194. package/src/create-hooks.ts +93 -93
  195. package/src/create-managers.ts +116 -116
  196. package/src/create-runtime-tmux-config.ts +18 -18
  197. package/src/create-tools.ts +53 -53
  198. package/src/features/background-agent/AGENTS.md +56 -56
  199. package/src/features/background-agent/abort-with-timeout.ts +35 -35
  200. package/src/features/background-agent/background-task-notification-template.ts +74 -74
  201. package/src/features/background-agent/compaction-aware-message-resolver.ts +164 -164
  202. package/src/features/background-agent/concurrency.ts +137 -137
  203. package/src/features/background-agent/constants.ts +58 -58
  204. package/src/features/background-agent/duration-formatter.ts +14 -14
  205. package/src/features/background-agent/error-classifier.ts +83 -83
  206. package/src/features/background-agent/fallback-retry-handler.ts +134 -134
  207. package/src/features/background-agent/index.ts +2 -2
  208. package/src/features/background-agent/loop-detector.ts +102 -102
  209. package/src/features/background-agent/manager.ts +2220 -2220
  210. package/src/features/background-agent/opencode-client.ts +3 -3
  211. package/src/features/background-agent/process-cleanup.ts +98 -98
  212. package/src/features/background-agent/remove-task-toast-tracking.ts +8 -8
  213. package/src/features/background-agent/session-existence.ts +57 -57
  214. package/src/features/background-agent/session-idle-event-handler.ts +93 -93
  215. package/src/features/background-agent/session-status-classifier.ts +20 -20
  216. package/src/features/background-agent/spawner/parent-directory-resolver.ts +24 -24
  217. package/src/features/background-agent/spawner.ts +327 -327
  218. package/src/features/background-agent/state.ts +199 -199
  219. package/src/features/background-agent/subagent-spawn-limits.ts +97 -97
  220. package/src/features/background-agent/task-history.ts +79 -79
  221. package/src/features/background-agent/task-poller.ts +225 -225
  222. package/src/features/background-agent/types.ts +100 -100
  223. package/src/features/boulder-state/constants.ts +13 -13
  224. package/src/features/boulder-state/index.ts +4 -4
  225. package/src/features/boulder-state/storage.ts +336 -336
  226. package/src/features/boulder-state/top-level-task.ts +78 -78
  227. package/src/features/boulder-state/types.ts +61 -61
  228. package/src/features/builtin-commands/commands.ts +143 -143
  229. package/src/features/builtin-commands/index.ts +2 -2
  230. package/src/features/builtin-commands/templates/handoff.ts +177 -177
  231. package/src/features/builtin-commands/templates/init-deep.ts +305 -305
  232. package/src/features/builtin-commands/templates/ralph-loop.ts +66 -66
  233. package/src/features/builtin-commands/templates/refactor.ts +619 -619
  234. package/src/features/builtin-commands/templates/remove-ai-slops.ts +96 -96
  235. package/src/features/builtin-commands/templates/start-work.ts +128 -128
  236. package/src/features/builtin-commands/templates/stop-continuation.ts +13 -13
  237. package/src/features/builtin-commands/types.ts +9 -9
  238. package/src/features/builtin-skills/index.ts +2 -2
  239. package/src/features/builtin-skills/materialize.ts +338 -338
  240. package/src/features/builtin-skills/skills/ai-slop-remover.ts +145 -145
  241. package/src/features/builtin-skills/skills/dev-browser.ts +221 -221
  242. package/src/features/builtin-skills/skills/frontend-ui-ux.ts +79 -79
  243. package/src/features/builtin-skills/skills/git-master-sections/commit-workflow.ts +509 -509
  244. package/src/features/builtin-skills/skills/git-master-sections/history-search-workflow.ts +229 -229
  245. package/src/features/builtin-skills/skills/git-master-sections/overview.ts +64 -64
  246. package/src/features/builtin-skills/skills/git-master-sections/quick-reference.ts +86 -86
  247. package/src/features/builtin-skills/skills/git-master-sections/rebase-workflow.ts +181 -181
  248. package/src/features/builtin-skills/skills/git-master-skill-metadata.ts +4 -4
  249. package/src/features/builtin-skills/skills/git-master.ts +28 -28
  250. package/src/features/builtin-skills/skills/index.ts +7 -7
  251. package/src/features/builtin-skills/skills/playwright-cli.ts +268 -268
  252. package/src/features/builtin-skills/skills/playwright.ts +466 -466
  253. package/src/features/builtin-skills/skills/review-work.ts +536 -536
  254. package/src/features/builtin-skills/skills.ts +39 -39
  255. package/src/features/builtin-skills/types.ts +16 -16
  256. package/src/features/claude-code-agent-loader/agent-definitions-loader.ts +87 -87
  257. package/src/features/claude-code-agent-loader/claude-model-mapper.ts +53 -53
  258. package/src/features/claude-code-agent-loader/index.ts +5 -5
  259. package/src/features/claude-code-agent-loader/json-agent-loader.ts +53 -53
  260. package/src/features/claude-code-agent-loader/loader.ts +86 -86
  261. package/src/features/claude-code-agent-loader/opencode-config-agents-reader.ts +125 -125
  262. package/src/features/claude-code-agent-loader/types.ts +31 -31
  263. package/src/features/claude-code-command-loader/index.ts +2 -2
  264. package/src/features/claude-code-command-loader/loader.ts +169 -169
  265. package/src/features/claude-code-command-loader/types.ts +46 -46
  266. package/src/features/claude-code-mcp-loader/configure-allowed-env-vars.ts +48 -48
  267. package/src/features/claude-code-mcp-loader/env-expander.ts +51 -51
  268. package/src/features/claude-code-mcp-loader/index.ts +12 -12
  269. package/src/features/claude-code-mcp-loader/loader.ts +156 -156
  270. package/src/features/claude-code-mcp-loader/scope-filter.ts +17 -17
  271. package/src/features/claude-code-mcp-loader/transformer.ts +57 -57
  272. package/src/features/claude-code-mcp-loader/types.ts +51 -51
  273. package/src/features/claude-code-plugin-loader/agent-loader.ts +59 -59
  274. package/src/features/claude-code-plugin-loader/command-loader.ts +53 -53
  275. package/src/features/claude-code-plugin-loader/discovery.ts +251 -251
  276. package/src/features/claude-code-plugin-loader/hook-loader.ts +26 -26
  277. package/src/features/claude-code-plugin-loader/index.ts +10 -10
  278. package/src/features/claude-code-plugin-loader/loader.ts +134 -134
  279. package/src/features/claude-code-plugin-loader/mcp-server-loader.ts +59 -59
  280. package/src/features/claude-code-plugin-loader/plugin-path-resolver.ts +23 -23
  281. package/src/features/claude-code-plugin-loader/scope-filter.ts +29 -29
  282. package/src/features/claude-code-plugin-loader/skill-loader.ts +62 -62
  283. package/src/features/claude-code-plugin-loader/types.ts +255 -255
  284. package/src/features/claude-code-session-state/index.ts +1 -1
  285. package/src/features/claude-code-session-state/state.ts +154 -154
  286. package/src/features/claude-tasks/session-storage.ts +52 -52
  287. package/src/features/claude-tasks/storage.ts +169 -169
  288. package/src/features/claude-tasks/types.ts +20 -20
  289. package/src/features/context-injector/collector.ts +91 -91
  290. package/src/features/context-injector/index.ts +14 -14
  291. package/src/features/context-injector/injector.ts +167 -167
  292. package/src/features/context-injector/types.ts +91 -91
  293. package/src/features/hook-message-injector/constants.ts +1 -1
  294. package/src/features/hook-message-injector/index.ts +11 -11
  295. package/src/features/hook-message-injector/injector.ts +437 -437
  296. package/src/features/hook-message-injector/types.ts +49 -49
  297. package/src/features/mcp-oauth/AGENTS.md +54 -54
  298. package/src/features/mcp-oauth/callback-server.ts +106 -106
  299. package/src/features/mcp-oauth/dcr.ts +98 -98
  300. package/src/features/mcp-oauth/discovery.ts +134 -134
  301. package/src/features/mcp-oauth/oauth-authorization-flow.ts +150 -150
  302. package/src/features/mcp-oauth/provider.ts +215 -215
  303. package/src/features/mcp-oauth/refresh-mutex.ts +58 -58
  304. package/src/features/mcp-oauth/resource-indicator.ts +16 -16
  305. package/src/features/mcp-oauth/schema.ts +8 -8
  306. package/src/features/mcp-oauth/step-up.ts +79 -79
  307. package/src/features/mcp-oauth/storage.ts +155 -155
  308. package/src/features/opencode-skill-loader/AGENTS.md +59 -59
  309. package/src/features/opencode-skill-loader/allowed-tools-parser.ts +9 -9
  310. package/src/features/opencode-skill-loader/async-loader.ts +213 -213
  311. package/src/features/opencode-skill-loader/blocking.ts +62 -62
  312. package/src/features/opencode-skill-loader/config-source-discovery.ts +114 -114
  313. package/src/features/opencode-skill-loader/discover-worker.ts +56 -56
  314. package/src/features/opencode-skill-loader/git-master-template-injection.ts +150 -150
  315. package/src/features/opencode-skill-loader/index.ts +17 -17
  316. package/src/features/opencode-skill-loader/loaded-skill-from-path.ts +73 -73
  317. package/src/features/opencode-skill-loader/loaded-skill-template-extractor.ts +16 -16
  318. package/src/features/opencode-skill-loader/loader.ts +172 -172
  319. package/src/features/opencode-skill-loader/merger/builtin-skill-converter.ts +26 -26
  320. package/src/features/opencode-skill-loader/merger/config-skill-entry-loader.ts +117 -117
  321. package/src/features/opencode-skill-loader/merger/scope-priority.ts +10 -10
  322. package/src/features/opencode-skill-loader/merger/skill-definition-merger.ts +31 -31
  323. package/src/features/opencode-skill-loader/merger/skills-config-normalizer.ts +19 -19
  324. package/src/features/opencode-skill-loader/merger.ts +96 -96
  325. package/src/features/opencode-skill-loader/skill-content.ts +11 -11
  326. package/src/features/opencode-skill-loader/skill-deduplication.ts +13 -13
  327. package/src/features/opencode-skill-loader/skill-definition-record.ts +11 -11
  328. package/src/features/opencode-skill-loader/skill-directory-loader.ts +112 -112
  329. package/src/features/opencode-skill-loader/skill-discovery.ts +76 -76
  330. package/src/features/opencode-skill-loader/skill-mcp-config.ts +45 -45
  331. package/src/features/opencode-skill-loader/skill-resolution-options.ts +9 -9
  332. package/src/features/opencode-skill-loader/skill-template-resolver.ts +97 -97
  333. package/src/features/opencode-skill-loader/types.ts +38 -38
  334. package/src/features/run-continuation-state/constants.ts +1 -1
  335. package/src/features/run-continuation-state/index.ts +3 -3
  336. package/src/features/run-continuation-state/storage.ts +80 -80
  337. package/src/features/run-continuation-state/types.ts +15 -15
  338. package/src/features/skill-mcp-manager/AGENTS.md +111 -111
  339. package/src/features/skill-mcp-manager/cleanup.ts +153 -153
  340. package/src/features/skill-mcp-manager/connection-type.ts +26 -26
  341. package/src/features/skill-mcp-manager/connection.ts +146 -146
  342. package/src/features/skill-mcp-manager/env-cleaner.ts +59 -59
  343. package/src/features/skill-mcp-manager/error-redaction.ts +47 -47
  344. package/src/features/skill-mcp-manager/http-client.ts +126 -126
  345. package/src/features/skill-mcp-manager/index.ts +2 -2
  346. package/src/features/skill-mcp-manager/manager.ts +178 -178
  347. package/src/features/skill-mcp-manager/oauth-handler.ts +160 -160
  348. package/src/features/skill-mcp-manager/stdio-client.ts +112 -112
  349. package/src/features/skill-mcp-manager/types.ts +96 -96
  350. package/src/features/task-toast-manager/index.ts +2 -2
  351. package/src/features/task-toast-manager/manager.ts +251 -251
  352. package/src/features/task-toast-manager/types.ts +29 -29
  353. package/src/features/tmux-subagent/action-executor-core.ts +82 -82
  354. package/src/features/tmux-subagent/action-executor.ts +137 -137
  355. package/src/features/tmux-subagent/cleanup.ts +42 -42
  356. package/src/features/tmux-subagent/decision-engine.ts +22 -22
  357. package/src/features/tmux-subagent/event-handlers.ts +6 -6
  358. package/src/features/tmux-subagent/grid-planning.ts +137 -137
  359. package/src/features/tmux-subagent/index.ts +16 -16
  360. package/src/features/tmux-subagent/manager.ts +969 -969
  361. package/src/features/tmux-subagent/oldest-agent-pane.ts +37 -37
  362. package/src/features/tmux-subagent/pane-split-availability.ts +77 -77
  363. package/src/features/tmux-subagent/pane-state-parser.ts +135 -135
  364. package/src/features/tmux-subagent/pane-state-querier.ts +76 -76
  365. package/src/features/tmux-subagent/polling-constants.ts +6 -6
  366. package/src/features/tmux-subagent/polling-manager.ts +167 -167
  367. package/src/features/tmux-subagent/polling.ts +183 -183
  368. package/src/features/tmux-subagent/session-created-event.ts +44 -44
  369. package/src/features/tmux-subagent/session-created-handler.ts +175 -175
  370. package/src/features/tmux-subagent/session-deleted-handler.ts +50 -50
  371. package/src/features/tmux-subagent/session-message-count.ts +3 -3
  372. package/src/features/tmux-subagent/session-ready-waiter.ts +44 -44
  373. package/src/features/tmux-subagent/session-status-parser.ts +17 -17
  374. package/src/features/tmux-subagent/spawn-action-decider.ts +147 -147
  375. package/src/features/tmux-subagent/spawn-target-finder.ts +146 -146
  376. package/src/features/tmux-subagent/tmux-grid-constants.ts +57 -57
  377. package/src/features/tmux-subagent/tracked-session-state.ts +29 -29
  378. package/src/features/tmux-subagent/types.ts +54 -54
  379. package/src/features/tool-metadata-store/index.ts +7 -7
  380. package/src/features/tool-metadata-store/store.ts +84 -84
  381. package/src/hooks/agent-usage-reminder/constants.ts +52 -52
  382. package/src/hooks/agent-usage-reminder/hook.ts +134 -134
  383. package/src/hooks/agent-usage-reminder/index.ts +1 -1
  384. package/src/hooks/agent-usage-reminder/storage.ts +42 -42
  385. package/src/hooks/agent-usage-reminder/types.ts +6 -6
  386. package/src/hooks/anthropic-context-window-limit-recovery/AGENTS.md +49 -49
  387. package/src/hooks/anthropic-context-window-limit-recovery/aggressive-truncation-strategy.ts +87 -87
  388. package/src/hooks/anthropic-context-window-limit-recovery/client.ts +21 -21
  389. package/src/hooks/anthropic-context-window-limit-recovery/deduplication-recovery.ts +77 -77
  390. package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery-sdk.ts +199 -199
  391. package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery.ts +149 -149
  392. package/src/hooks/anthropic-context-window-limit-recovery/executor.ts +83 -83
  393. package/src/hooks/anthropic-context-window-limit-recovery/index.ts +8 -8
  394. package/src/hooks/anthropic-context-window-limit-recovery/message-builder.ts +190 -190
  395. package/src/hooks/anthropic-context-window-limit-recovery/message-storage-directory.ts +40 -40
  396. package/src/hooks/anthropic-context-window-limit-recovery/parser.ts +209 -209
  397. package/src/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.ts +189 -189
  398. package/src/hooks/anthropic-context-window-limit-recovery/pruning-tool-output-truncation.ts +142 -142
  399. package/src/hooks/anthropic-context-window-limit-recovery/pruning-types.ts +44 -44
  400. package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.test-support.ts +119 -119
  401. package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts +193 -193
  402. package/src/hooks/anthropic-context-window-limit-recovery/recovery-strategy.ts +2 -2
  403. package/src/hooks/anthropic-context-window-limit-recovery/session-timeout-map.ts +20 -20
  404. package/src/hooks/anthropic-context-window-limit-recovery/state.ts +78 -78
  405. package/src/hooks/anthropic-context-window-limit-recovery/storage-paths.ts +6 -6
  406. package/src/hooks/anthropic-context-window-limit-recovery/storage.ts +18 -18
  407. package/src/hooks/anthropic-context-window-limit-recovery/summarize-retry-strategy.ts +218 -218
  408. package/src/hooks/anthropic-context-window-limit-recovery/target-token-truncation.ts +196 -196
  409. package/src/hooks/anthropic-context-window-limit-recovery/tool-part-types.ts +38 -38
  410. package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage-sdk.ts +123 -123
  411. package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage.ts +119 -119
  412. package/src/hooks/anthropic-context-window-limit-recovery/types.ts +44 -44
  413. package/src/hooks/anthropic-effort/hook.ts +93 -93
  414. package/src/hooks/anthropic-effort/index.ts +1 -1
  415. package/src/hooks/auto-slash-command/constants.ts +12 -12
  416. package/src/hooks/auto-slash-command/detector.ts +88 -88
  417. package/src/hooks/auto-slash-command/executor.ts +165 -165
  418. package/src/hooks/auto-slash-command/hook.ts +238 -238
  419. package/src/hooks/auto-slash-command/index.ts +7 -7
  420. package/src/hooks/auto-slash-command/processed-command-store.ts +74 -74
  421. package/src/hooks/auto-slash-command/types.ts +42 -42
  422. package/src/hooks/background-notification/hook.ts +54 -54
  423. package/src/hooks/background-notification/index.ts +2 -2
  424. package/src/hooks/background-notification/types.ts +5 -5
  425. package/src/hooks/bash-file-read-guard.ts +44 -44
  426. package/src/hooks/category-skill-reminder/formatter.ts +37 -37
  427. package/src/hooks/category-skill-reminder/hook.ts +142 -142
  428. package/src/hooks/category-skill-reminder/index.ts +1 -1
  429. package/src/hooks/claude-code-hooks/AGENTS.md +41 -41
  430. package/src/hooks/claude-code-hooks/claude-code-hooks-hook.ts +28 -28
  431. package/src/hooks/claude-code-hooks/config-loader.ts +151 -151
  432. package/src/hooks/claude-code-hooks/config.ts +147 -147
  433. package/src/hooks/claude-code-hooks/dispatch-hook.ts +27 -27
  434. package/src/hooks/claude-code-hooks/execute-http-hook.ts +116 -116
  435. package/src/hooks/claude-code-hooks/handlers/chat-message-handler.ts +140 -140
  436. package/src/hooks/claude-code-hooks/handlers/pre-compact-handler.ts +41 -41
  437. package/src/hooks/claude-code-hooks/handlers/session-event-handler.ts +137 -137
  438. package/src/hooks/claude-code-hooks/handlers/tool-execute-after-handler.ts +160 -160
  439. package/src/hooks/claude-code-hooks/handlers/tool-execute-before-handler.ts +93 -93
  440. package/src/hooks/claude-code-hooks/index.ts +1 -1
  441. package/src/hooks/claude-code-hooks/plugin-config.ts +12 -12
  442. package/src/hooks/claude-code-hooks/post-tool-use.ts +195 -195
  443. package/src/hooks/claude-code-hooks/pre-compact.ts +105 -105
  444. package/src/hooks/claude-code-hooks/pre-tool-use.ts +168 -168
  445. package/src/hooks/claude-code-hooks/session-hook-state.ts +17 -17
  446. package/src/hooks/claude-code-hooks/stop.ts +118 -118
  447. package/src/hooks/claude-code-hooks/todo.ts +76 -76
  448. package/src/hooks/claude-code-hooks/tool-input-cache.ts +82 -82
  449. package/src/hooks/claude-code-hooks/transcript.ts +248 -248
  450. package/src/hooks/claude-code-hooks/types.ts +214 -214
  451. package/src/hooks/claude-code-hooks/user-prompt-submit.ts +121 -121
  452. package/src/hooks/comment-checker/cli-runner.ts +127 -127
  453. package/src/hooks/comment-checker/cli.ts +269 -269
  454. package/src/hooks/comment-checker/downloader.ts +170 -170
  455. package/src/hooks/comment-checker/hook.ts +192 -192
  456. package/src/hooks/comment-checker/index.ts +1 -1
  457. package/src/hooks/comment-checker/pending-calls.ts +45 -45
  458. package/src/hooks/comment-checker/types.ts +33 -33
  459. package/src/hooks/compaction-context-injector/compaction-context-prompt.ts +56 -56
  460. package/src/hooks/compaction-context-injector/constants.ts +5 -5
  461. package/src/hooks/compaction-context-injector/hook.ts +164 -164
  462. package/src/hooks/compaction-context-injector/index.ts +1 -1
  463. package/src/hooks/compaction-context-injector/recovery-prompt-config.ts +77 -77
  464. package/src/hooks/compaction-context-injector/recovery.ts +163 -163
  465. package/src/hooks/compaction-context-injector/session-id.ts +8 -8
  466. package/src/hooks/compaction-context-injector/session-prompt-config-resolver.ts +120 -120
  467. package/src/hooks/compaction-context-injector/tail-monitor.ts +52 -52
  468. package/src/hooks/compaction-context-injector/types.ts +25 -25
  469. package/src/hooks/compaction-context-injector/validated-model.ts +47 -47
  470. package/src/hooks/compaction-todo-preserver/hook.ts +127 -127
  471. package/src/hooks/compaction-todo-preserver/index.ts +2 -2
  472. package/src/hooks/context-window-monitor.ts +113 -113
  473. package/src/hooks/delegate-task-retry/guidance.ts +45 -45
  474. package/src/hooks/delegate-task-retry/hook.ts +22 -22
  475. package/src/hooks/delegate-task-retry/index.ts +4 -4
  476. package/src/hooks/delegate-task-retry/patterns.ts +77 -77
  477. package/src/hooks/directory-agents-injector/constants.ts +7 -7
  478. package/src/hooks/directory-agents-injector/finder.ts +38 -38
  479. package/src/hooks/directory-agents-injector/hook.ts +80 -80
  480. package/src/hooks/directory-agents-injector/index.ts +1 -1
  481. package/src/hooks/directory-agents-injector/injector.ts +59 -59
  482. package/src/hooks/directory-agents-injector/storage.ts +8 -8
  483. package/src/hooks/directory-readme-injector/constants.ts +7 -7
  484. package/src/hooks/directory-readme-injector/finder.ts +33 -33
  485. package/src/hooks/directory-readme-injector/hook.ts +80 -80
  486. package/src/hooks/directory-readme-injector/index.ts +1 -1
  487. package/src/hooks/directory-readme-injector/injector.ts +59 -59
  488. package/src/hooks/directory-readme-injector/storage.ts +8 -8
  489. package/src/hooks/edit-error-recovery/hook.ts +58 -58
  490. package/src/hooks/edit-error-recovery/index.ts +5 -5
  491. package/src/hooks/empty-task-response-detector.ts +27 -27
  492. package/src/hooks/fast-apply/hook.ts +11 -11
  493. package/src/hooks/fast-apply/index.ts +1 -1
  494. package/src/hooks/fast-apply/ollama-client.ts +53 -53
  495. package/src/hooks/fast-apply/tool-execute-before-handler.ts +86 -86
  496. package/src/hooks/guard/AGENTS.md +64 -64
  497. package/src/hooks/guard/background-launch-session-tracking.ts +97 -97
  498. package/src/hooks/guard/bob-path.ts +8 -8
  499. package/src/hooks/guard/boulder-continuation-injector.ts +109 -109
  500. package/src/hooks/guard/boulder-session-lineage.ts +44 -44
  501. package/src/hooks/guard/event-handler.ts +104 -104
  502. package/src/hooks/guard/final-wave-approval-gate.ts +47 -47
  503. package/src/hooks/guard/final-wave-plan-state.ts +60 -60
  504. package/src/hooks/guard/guard-hook.ts +27 -27
  505. package/src/hooks/guard/hook-name.ts +1 -1
  506. package/src/hooks/guard/idle-event.ts +341 -341
  507. package/src/hooks/guard/index.ts +3 -3
  508. package/src/hooks/guard/is-abort-error.ts +20 -20
  509. package/src/hooks/guard/recent-model-resolver.ts +89 -89
  510. package/src/hooks/guard/resolve-active-boulder-session.ts +29 -29
  511. package/src/hooks/guard/session-last-agent.ts +153 -153
  512. package/src/hooks/guard/subagent-session-id.ts +54 -54
  513. package/src/hooks/guard/system-reminder-templates.ts +249 -249
  514. package/src/hooks/guard/task-context.ts +45 -45
  515. package/src/hooks/guard/tool-execute-after.ts +209 -209
  516. package/src/hooks/guard/tool-execute-before.ts +102 -102
  517. package/src/hooks/guard/tsconfig.json +9 -9
  518. package/src/hooks/guard/types.ts +45 -45
  519. package/src/hooks/guard/verification-reminders.ts +197 -197
  520. package/src/hooks/guard/write-edit-tool-policy.ts +5 -5
  521. package/src/hooks/hashline-edit-diff-enhancer/hook.ts +106 -106
  522. package/src/hooks/hashline-read-enhancer/hook.ts +193 -193
  523. package/src/hooks/hashline-read-enhancer/index.ts +1 -1
  524. package/src/hooks/index.ts +58 -58
  525. package/src/hooks/interactive-bash-session/constants.ts +13 -13
  526. package/src/hooks/interactive-bash-session/hook.ts +125 -125
  527. package/src/hooks/interactive-bash-session/index.ts +3 -3
  528. package/src/hooks/interactive-bash-session/interactive-bash-session-tracker.ts +119 -119
  529. package/src/hooks/interactive-bash-session/parser.ts +118 -118
  530. package/src/hooks/interactive-bash-session/state-manager.ts +35 -35
  531. package/src/hooks/interactive-bash-session/storage.ts +59 -59
  532. package/src/hooks/interactive-bash-session/tmux-command-parser.ts +125 -125
  533. package/src/hooks/interactive-bash-session/types.ts +11 -11
  534. package/src/hooks/json-error-recovery/hook.ts +58 -58
  535. package/src/hooks/json-error-recovery/index.ts +6 -6
  536. package/src/hooks/keyword-detector/AGENTS.md +57 -57
  537. package/src/hooks/keyword-detector/analyze/default.ts +28 -28
  538. package/src/hooks/keyword-detector/analyze/index.ts +1 -1
  539. package/src/hooks/keyword-detector/constants.ts +45 -45
  540. package/src/hooks/keyword-detector/detector.ts +53 -53
  541. package/src/hooks/keyword-detector/hook.ts +143 -143
  542. package/src/hooks/keyword-detector/index.ts +5 -5
  543. package/src/hooks/keyword-detector/search/default.ts +20 -20
  544. package/src/hooks/keyword-detector/search/index.ts +1 -1
  545. package/src/hooks/keyword-detector/types.ts +4 -4
  546. package/src/hooks/keyword-detector/ultrawork/default.ts +302 -302
  547. package/src/hooks/keyword-detector/ultrawork/gemini.ts +290 -290
  548. package/src/hooks/keyword-detector/ultrawork/gpt.ts +173 -173
  549. package/src/hooks/keyword-detector/ultrawork/index.ts +56 -56
  550. package/src/hooks/keyword-detector/ultrawork/planner.ts +140 -140
  551. package/src/hooks/keyword-detector/ultrawork/source-detector.ts +65 -65
  552. package/src/hooks/legacy-plugin-toast/auto-migrate-runner.ts +2 -2
  553. package/src/hooks/legacy-plugin-toast/auto-migrate.ts +64 -64
  554. package/src/hooks/legacy-plugin-toast/hook.ts +68 -68
  555. package/src/hooks/legacy-plugin-toast/index.ts +1 -1
  556. package/src/hooks/legacy-plugin-toast/plugin-entry-migrator.ts +1 -1
  557. package/src/hooks/model-fallback/chat-message-fallback-handler.ts +74 -74
  558. package/src/hooks/model-fallback/hook.ts +201 -201
  559. package/src/hooks/model-fallback/next-fallback.ts +84 -84
  560. package/src/hooks/no-bob-gpt/hook.ts +56 -56
  561. package/src/hooks/no-bob-gpt/index.ts +1 -1
  562. package/src/hooks/no-coder-non-gpt/hook.ts +67 -67
  563. package/src/hooks/no-coder-non-gpt/index.ts +1 -1
  564. package/src/hooks/non-interactive-env/constants.ts +70 -70
  565. package/src/hooks/non-interactive-env/detector.ts +19 -19
  566. package/src/hooks/non-interactive-env/index.ts +5 -5
  567. package/src/hooks/non-interactive-env/non-interactive-env-hook.ts +73 -73
  568. package/src/hooks/non-interactive-env/types.ts +3 -3
  569. package/src/hooks/preemptive-compaction-degradation-monitor.ts +212 -212
  570. package/src/hooks/preemptive-compaction-no-text-tail.ts +70 -70
  571. package/src/hooks/preemptive-compaction.ts +218 -218
  572. package/src/hooks/question-label-truncator/hook.ts +62 -62
  573. package/src/hooks/question-label-truncator/index.ts +1 -1
  574. package/src/hooks/ralph-loop/AGENTS.md +62 -62
  575. package/src/hooks/ralph-loop/command-arguments.ts +30 -30
  576. package/src/hooks/ralph-loop/completion-handler.ts +65 -65
  577. package/src/hooks/ralph-loop/completion-promise-detector-test-input.ts +23 -23
  578. package/src/hooks/ralph-loop/completion-promise-detector.ts +165 -165
  579. package/src/hooks/ralph-loop/constants.ts +7 -7
  580. package/src/hooks/ralph-loop/continuation-prompt-builder.ts +77 -77
  581. package/src/hooks/ralph-loop/continuation-prompt-injector.ts +91 -91
  582. package/src/hooks/ralph-loop/index.ts +6 -6
  583. package/src/hooks/ralph-loop/iteration-continuation.ts +64 -64
  584. package/src/hooks/ralph-loop/logician-verification-detector.ts +88 -88
  585. package/src/hooks/ralph-loop/loop-session-recovery.ts +33 -33
  586. package/src/hooks/ralph-loop/loop-state-controller.ts +178 -178
  587. package/src/hooks/ralph-loop/message-storage-directory.ts +1 -1
  588. package/src/hooks/ralph-loop/pending-verification-handler.ts +152 -152
  589. package/src/hooks/ralph-loop/ralph-loop-event-handler.ts +231 -231
  590. package/src/hooks/ralph-loop/ralph-loop-hook.ts +90 -90
  591. package/src/hooks/ralph-loop/session-event-handler.ts +56 -56
  592. package/src/hooks/ralph-loop/session-reset-strategy.ts +69 -69
  593. package/src/hooks/ralph-loop/storage.ts +164 -164
  594. package/src/hooks/ralph-loop/types.ts +25 -25
  595. package/src/hooks/ralph-loop/verification-failure-handler.ts +103 -103
  596. package/src/hooks/ralph-loop/with-timeout.ts +20 -20
  597. package/src/hooks/read-image-resizer/hook.ts +209 -209
  598. package/src/hooks/read-image-resizer/image-dimensions.ts +191 -191
  599. package/src/hooks/read-image-resizer/image-resizer.ts +191 -191
  600. package/src/hooks/read-image-resizer/index.ts +1 -1
  601. package/src/hooks/read-image-resizer/png-fallback-resizer.ts +359 -359
  602. package/src/hooks/read-image-resizer/types.ts +16 -16
  603. package/src/hooks/rules-injector/AGENTS.md +53 -53
  604. package/src/hooks/rules-injector/cache.ts +27 -27
  605. package/src/hooks/rules-injector/constants.ts +31 -31
  606. package/src/hooks/rules-injector/finder.ts +3 -3
  607. package/src/hooks/rules-injector/hook.ts +94 -94
  608. package/src/hooks/rules-injector/index.ts +2 -2
  609. package/src/hooks/rules-injector/injector.ts +189 -189
  610. package/src/hooks/rules-injector/matcher.ts +63 -63
  611. package/src/hooks/rules-injector/output-path.ts +22 -22
  612. package/src/hooks/rules-injector/parser.ts +211 -211
  613. package/src/hooks/rules-injector/project-root-finder.ts +36 -36
  614. package/src/hooks/rules-injector/rule-distance.ts +53 -53
  615. package/src/hooks/rules-injector/rule-file-finder.ts +139 -139
  616. package/src/hooks/rules-injector/rule-file-scanner.ts +55 -55
  617. package/src/hooks/rules-injector/storage.ts +59 -59
  618. package/src/hooks/rules-injector/types.ts +57 -57
  619. package/src/hooks/runtime-fallback/AGENTS.md +102 -102
  620. package/src/hooks/runtime-fallback/agent-resolver.ts +50 -50
  621. package/src/hooks/runtime-fallback/auto-retry-signal.ts +32 -32
  622. package/src/hooks/runtime-fallback/auto-retry.ts +228 -228
  623. package/src/hooks/runtime-fallback/chat-message-handler.ts +62 -62
  624. package/src/hooks/runtime-fallback/constants.ts +47 -47
  625. package/src/hooks/runtime-fallback/error-classifier.ts +183 -183
  626. package/src/hooks/runtime-fallback/event-handler.ts +213 -213
  627. package/src/hooks/runtime-fallback/fallback-bootstrap-model.ts +63 -63
  628. package/src/hooks/runtime-fallback/fallback-models.ts +86 -86
  629. package/src/hooks/runtime-fallback/fallback-retry-dispatcher.ts +55 -55
  630. package/src/hooks/runtime-fallback/fallback-state.ts +74 -74
  631. package/src/hooks/runtime-fallback/hook.ts +87 -87
  632. package/src/hooks/runtime-fallback/index.ts +2 -2
  633. package/src/hooks/runtime-fallback/last-user-retry-parts.ts +20 -20
  634. package/src/hooks/runtime-fallback/message-update-handler.ts +168 -168
  635. package/src/hooks/runtime-fallback/retry-model-payload.ts +30 -30
  636. package/src/hooks/runtime-fallback/session-messages.ts +38 -38
  637. package/src/hooks/runtime-fallback/session-status-handler.ts +126 -126
  638. package/src/hooks/runtime-fallback/types.ts +77 -77
  639. package/src/hooks/runtime-fallback/visible-assistant-response.ts +80 -80
  640. package/src/hooks/session-notification-content.ts +145 -145
  641. package/src/hooks/session-notification-formatting.ts +25 -25
  642. package/src/hooks/session-notification-scheduler.ts +188 -188
  643. package/src/hooks/session-notification-sender.ts +117 -117
  644. package/src/hooks/session-notification-utils.ts +80 -80
  645. package/src/hooks/session-notification.ts +219 -219
  646. package/src/hooks/session-recovery/AGENTS.md +59 -59
  647. package/src/hooks/session-recovery/constants.ts +5 -5
  648. package/src/hooks/session-recovery/detect-error-type.ts +102 -102
  649. package/src/hooks/session-recovery/hook.ts +166 -166
  650. package/src/hooks/session-recovery/index.ts +7 -7
  651. package/src/hooks/session-recovery/recover-empty-content-message-sdk.ts +201 -201
  652. package/src/hooks/session-recovery/recover-thinking-block-order.ts +137 -137
  653. package/src/hooks/session-recovery/recover-thinking-disabled-violation.ts +75 -75
  654. package/src/hooks/session-recovery/recover-tool-result-missing.ts +108 -108
  655. package/src/hooks/session-recovery/recover-unavailable-tool.ts +108 -108
  656. package/src/hooks/session-recovery/resume.ts +49 -49
  657. package/src/hooks/session-recovery/storage/empty-messages.ts +47 -47
  658. package/src/hooks/session-recovery/storage/empty-text.ts +118 -118
  659. package/src/hooks/session-recovery/storage/message-dir.ts +1 -1
  660. package/src/hooks/session-recovery/storage/messages-reader.ts +83 -83
  661. package/src/hooks/session-recovery/storage/orphan-thinking-search.ts +43 -43
  662. package/src/hooks/session-recovery/storage/part-content.ts +28 -28
  663. package/src/hooks/session-recovery/storage/part-id.ts +5 -5
  664. package/src/hooks/session-recovery/storage/parts-reader.ts +56 -56
  665. package/src/hooks/session-recovery/storage/text-part-injector.ts +63 -63
  666. package/src/hooks/session-recovery/storage/thinking-block-search.ts +42 -42
  667. package/src/hooks/session-recovery/storage/thinking-prepend.ts +223 -223
  668. package/src/hooks/session-recovery/storage/thinking-strip.ts +67 -67
  669. package/src/hooks/session-recovery/storage.ts +34 -34
  670. package/src/hooks/session-recovery/types.ts +101 -101
  671. package/src/hooks/session-todo-status.ts +20 -20
  672. package/src/hooks/shared/compaction-model-resolver.ts +34 -34
  673. package/src/hooks/shared/shared/compaction-model-resolver.ts +34 -34
  674. package/src/hooks/start-work/context-info-builder.ts +319 -319
  675. package/src/hooks/start-work/index.ts +4 -4
  676. package/src/hooks/start-work/parse-user-request.ts +32 -32
  677. package/src/hooks/start-work/start-work-hook.ts +135 -135
  678. package/src/hooks/start-work/worktree-block.ts +11 -11
  679. package/src/hooks/start-work/worktree-detector.ts +77 -77
  680. package/src/hooks/stop-continuation-guard/hook.ts +122 -122
  681. package/src/hooks/stop-continuation-guard/index.ts +2 -2
  682. package/src/hooks/strategist-md-only/agent-matcher.ts +5 -5
  683. package/src/hooks/strategist-md-only/agent-resolution.ts +70 -70
  684. package/src/hooks/strategist-md-only/constants.ts +78 -78
  685. package/src/hooks/strategist-md-only/hook.ts +82 -82
  686. package/src/hooks/strategist-md-only/index.ts +2 -2
  687. package/src/hooks/strategist-md-only/path-policy.ts +41 -41
  688. package/src/hooks/sub-notepad/constants.ts +29 -29
  689. package/src/hooks/sub-notepad/hook.ts +44 -44
  690. package/src/hooks/sub-notepad/index.ts +3 -3
  691. package/src/hooks/task-reminder/hook.ts +59 -59
  692. package/src/hooks/task-reminder/index.ts +1 -1
  693. package/src/hooks/task-resume-info/hook.ts +39 -39
  694. package/src/hooks/task-resume-info/index.ts +1 -1
  695. package/src/hooks/tasks-todowrite-disabler/constants.ts +30 -30
  696. package/src/hooks/tasks-todowrite-disabler/hook.ts +34 -34
  697. package/src/hooks/tasks-todowrite-disabler/index.ts +2 -2
  698. package/src/hooks/think-mode/detector.ts +59 -59
  699. package/src/hooks/think-mode/hook.ts +76 -76
  700. package/src/hooks/think-mode/index.ts +5 -5
  701. package/src/hooks/think-mode/switcher.ts +100 -100
  702. package/src/hooks/think-mode/types.ts +16 -16
  703. package/src/hooks/thinking-block-validator/hook.ts +181 -181
  704. package/src/hooks/thinking-block-validator/index.ts +1 -1
  705. package/src/hooks/todo-continuation-enforcer/AGENTS.md +65 -65
  706. package/src/hooks/todo-continuation-enforcer/abort-detection.ts +17 -17
  707. package/src/hooks/todo-continuation-enforcer/compaction-guard.ts +39 -39
  708. package/src/hooks/todo-continuation-enforcer/constants.ts +25 -25
  709. package/src/hooks/todo-continuation-enforcer/continuation-injection.ts +222 -222
  710. package/src/hooks/todo-continuation-enforcer/countdown.ts +86 -86
  711. package/src/hooks/todo-continuation-enforcer/handler.ts +99 -99
  712. package/src/hooks/todo-continuation-enforcer/idle-event.ts +225 -225
  713. package/src/hooks/todo-continuation-enforcer/index.ts +59 -59
  714. package/src/hooks/todo-continuation-enforcer/message-directory.ts +1 -1
  715. package/src/hooks/todo-continuation-enforcer/non-idle-events.ts +107 -107
  716. package/src/hooks/todo-continuation-enforcer/pending-question-detection.ts +40 -40
  717. package/src/hooks/todo-continuation-enforcer/resolve-message-info.ts +48 -48
  718. package/src/hooks/todo-continuation-enforcer/session-state.ts +283 -283
  719. package/src/hooks/todo-continuation-enforcer/stagnation-detection.ts +36 -36
  720. package/src/hooks/todo-continuation-enforcer/todo.ts +11 -11
  721. package/src/hooks/todo-continuation-enforcer/token-limit-detection.ts +38 -38
  722. package/src/hooks/todo-continuation-enforcer/types.ts +74 -74
  723. package/src/hooks/todo-description-override/description.ts +28 -28
  724. package/src/hooks/todo-description-override/hook.ts +14 -14
  725. package/src/hooks/todo-description-override/index.ts +1 -1
  726. package/src/hooks/tool-output-truncator.ts +66 -66
  727. package/src/hooks/tool-pair-validator/hook.ts +184 -184
  728. package/src/hooks/tool-pair-validator/index.ts +1 -1
  729. package/src/hooks/unstable-agent-babysitter/index.ts +9 -9
  730. package/src/hooks/unstable-agent-babysitter/task-message-analyzer.ts +110 -110
  731. package/src/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.ts +238 -238
  732. package/src/hooks/webfetch-redirect-guard/constants.ts +11 -11
  733. package/src/hooks/webfetch-redirect-guard/hook.ts +123 -123
  734. package/src/hooks/webfetch-redirect-guard/index.ts +1 -1
  735. package/src/hooks/webfetch-redirect-guard/redirect-resolution.ts +89 -89
  736. package/src/hooks/write-existing-file-guard/hook.ts +108 -108
  737. package/src/hooks/write-existing-file-guard/index.ts +1 -1
  738. package/src/hooks/write-existing-file-guard/session-read-permissions.ts +36 -36
  739. package/src/hooks/write-existing-file-guard/tool-execute-before-handler.ts +176 -176
  740. package/src/index.ts +284 -284
  741. package/src/internals/plugins/pty/LICENSE +21 -21
  742. package/src/internals/plugins/pty/constants.ts +7 -7
  743. package/src/internals/plugins/pty/plugin.ts +28 -28
  744. package/src/internals/plugins/pty/pty/buffer.ts +75 -75
  745. package/src/internals/plugins/pty/pty/formatters.ts +22 -22
  746. package/src/internals/plugins/pty/pty/manager.ts +175 -175
  747. package/src/internals/plugins/pty/pty/notification-manager.ts +75 -75
  748. package/src/internals/plugins/pty/pty/output-manager.ts +29 -29
  749. package/src/internals/plugins/pty/pty/permissions.ts +115 -115
  750. package/src/internals/plugins/pty/pty/session-lifecycle.ts +161 -161
  751. package/src/internals/plugins/pty/pty/tools/kill.ts +41 -41
  752. package/src/internals/plugins/pty/pty/tools/kill.txt +25 -25
  753. package/src/internals/plugins/pty/pty/tools/list.ts +25 -25
  754. package/src/internals/plugins/pty/pty/tools/list.txt +22 -22
  755. package/src/internals/plugins/pty/pty/tools/read.ts +234 -234
  756. package/src/internals/plugins/pty/pty/tools/read.txt +39 -39
  757. package/src/internals/plugins/pty/pty/tools/spawn.ts +71 -71
  758. package/src/internals/plugins/pty/pty/tools/spawn.txt +47 -47
  759. package/src/internals/plugins/pty/pty/tools/write.ts +96 -96
  760. package/src/internals/plugins/pty/pty/tools/write.txt +28 -28
  761. package/src/internals/plugins/pty/pty/types.ts +67 -67
  762. package/src/internals/plugins/pty/pty/utils.ts +21 -21
  763. package/src/internals/plugins/pty/pty/wildcard.ts +62 -62
  764. package/src/internals/plugins/pty/shared/constants.ts +7 -7
  765. package/src/internals/plugins/pty/types.ts +7 -7
  766. package/src/internals/plugins/subtask2/LICENSE +128 -128
  767. package/src/internals/plugins/subtask2/commands/index.ts +7 -7
  768. package/src/internals/plugins/subtask2/commands/loader.ts +39 -39
  769. package/src/internals/plugins/subtask2/commands/manifest.ts +64 -64
  770. package/src/internals/plugins/subtask2/commands/resolver.ts +28 -28
  771. package/src/internals/plugins/subtask2/core/plugin.ts +52 -52
  772. package/src/internals/plugins/subtask2/core/state.ts +764 -764
  773. package/src/internals/plugins/subtask2/features/auto.ts +57 -57
  774. package/src/internals/plugins/subtask2/features/index.ts +9 -9
  775. package/src/internals/plugins/subtask2/features/inline-subtasks.ts +205 -205
  776. package/src/internals/plugins/subtask2/features/parallel.ts +148 -148
  777. package/src/internals/plugins/subtask2/features/results.ts +48 -48
  778. package/src/internals/plugins/subtask2/features/returns.ts +273 -273
  779. package/src/internals/plugins/subtask2/features/turns.ts +190 -190
  780. package/src/internals/plugins/subtask2/hooks/command-hooks.ts +283 -283
  781. package/src/internals/plugins/subtask2/hooks/message-hooks.ts +603 -603
  782. package/src/internals/plugins/subtask2/hooks/session-idle-hook.ts +358 -358
  783. package/src/internals/plugins/subtask2/hooks/tool-hooks.ts +309 -309
  784. package/src/internals/plugins/subtask2/loop.ts +122 -122
  785. package/src/internals/plugins/subtask2/parsing/auto.ts +33 -33
  786. package/src/internals/plugins/subtask2/parsing/commands.ts +154 -154
  787. package/src/internals/plugins/subtask2/parsing/frontmatter.ts +20 -20
  788. package/src/internals/plugins/subtask2/parsing/index.ts +10 -10
  789. package/src/internals/plugins/subtask2/parsing/overrides.ts +68 -68
  790. package/src/internals/plugins/subtask2/parsing/parallel.ts +88 -88
  791. package/src/internals/plugins/subtask2/parsing/turns.ts +78 -78
  792. package/src/internals/plugins/subtask2/types.ts +41 -41
  793. package/src/internals/plugins/subtask2/utils/config.ts +100 -100
  794. package/src/internals/plugins/subtask2/utils/index.ts +7 -7
  795. package/src/internals/plugins/subtask2/utils/logger.ts +67 -67
  796. package/src/internals/plugins/subtask2/utils/prompts.ts +117 -117
  797. package/src/internals/plugins/websearch-cited/LICENSE +214 -214
  798. package/src/internals/plugins/websearch-cited/codex_prompt.txt +79 -79
  799. package/src/internals/plugins/websearch-cited/google.ts +749 -749
  800. package/src/internals/plugins/websearch-cited/index.ts +301 -301
  801. package/src/internals/plugins/websearch-cited/openai.ts +407 -407
  802. package/src/internals/plugins/websearch-cited/openrouter.ts +190 -190
  803. package/src/internals/plugins/websearch-cited/types.ts +7 -7
  804. package/src/lsp/index.ts +15 -15
  805. package/src/mcp/context7.ts +9 -9
  806. package/src/mcp/grep-app.ts +6 -6
  807. package/src/mcp/index.ts +87 -87
  808. package/src/mcp/omo-mcp-index.ts +35 -35
  809. package/src/mcp/types.ts +9 -9
  810. package/src/mcp/websearch.ts +44 -44
  811. package/src/permissions/index.ts +25 -25
  812. package/src/plugin/AGENTS.md +54 -54
  813. package/src/plugin/available-categories.ts +24 -24
  814. package/src/plugin/chat-headers.ts +141 -141
  815. package/src/plugin/chat-message.ts +309 -309
  816. package/src/plugin/chat-params.ts +182 -182
  817. package/src/plugin/command-execute-before.ts +80 -80
  818. package/src/plugin/event.ts +639 -639
  819. package/src/plugin/hooks/create-continuation-hooks.ts +128 -128
  820. package/src/plugin/hooks/create-core-hooks.ts +47 -47
  821. package/src/plugin/hooks/create-session-hooks.ts +286 -286
  822. package/src/plugin/hooks/create-skill-hooks.ts +50 -50
  823. package/src/plugin/hooks/create-tool-guard-hooks.ts +159 -159
  824. package/src/plugin/hooks/create-transform-hooks.ts +85 -85
  825. package/src/plugin/messages-transform.ts +28 -28
  826. package/src/plugin/normalize-tool-arg-schemas.ts +75 -75
  827. package/src/plugin/recent-synthetic-idles.ts +20 -20
  828. package/src/plugin/session-agent-resolver.ts +37 -37
  829. package/src/plugin/session-status-normalizer.ts +22 -22
  830. package/src/plugin/skill-context.ts +132 -132
  831. package/src/plugin/system-transform.ts +6 -6
  832. package/src/plugin/tool-execute-after.ts +178 -178
  833. package/src/plugin/tool-execute-before.ts +222 -222
  834. package/src/plugin/tool-registry.ts +282 -282
  835. package/src/plugin/types.ts +26 -26
  836. package/src/plugin/ultrawork-db-model-override.ts +142 -142
  837. package/src/plugin/ultrawork-model-override.ts +196 -196
  838. package/src/plugin/ultrawork-variant-availability.ts +51 -51
  839. package/src/plugin/unstable-agent-babysitter.ts +41 -41
  840. package/src/plugin-config.ts +314 -314
  841. package/src/plugin-dispose.ts +51 -51
  842. package/src/plugin-handlers/AGENTS.md +92 -92
  843. package/src/plugin-handlers/agent-config-handler.ts +502 -502
  844. package/src/plugin-handlers/agent-key-remapper.ts +39 -39
  845. package/src/plugin-handlers/agent-override-protection.ts +38 -38
  846. package/src/plugin-handlers/agent-priority-order.ts +63 -63
  847. package/src/plugin-handlers/category-config-resolver.ts +9 -9
  848. package/src/plugin-handlers/command-config-handler.ts +105 -105
  849. package/src/plugin-handlers/config-handler.ts +61 -61
  850. package/src/plugin-handlers/index.ts +10 -10
  851. package/src/plugin-handlers/mcp-config-handler.ts +205 -205
  852. package/src/plugin-handlers/plan-model-inheritance.ts +27 -27
  853. package/src/plugin-handlers/plugin-components-loader.ts +70 -70
  854. package/src/plugin-handlers/provider-config-handler.ts +73 -73
  855. package/src/plugin-handlers/strategist-agent-config-builder.ts +128 -128
  856. package/src/plugin-handlers/tool-config-handler.ts +193 -193
  857. package/src/plugin-interface.ts +83 -83
  858. package/src/plugin-state.ts +18 -18
  859. package/src/shared/AGENTS.md +54 -54
  860. package/src/shared/agent-display-names.ts +182 -182
  861. package/src/shared/agent-tool-restrictions.ts +80 -80
  862. package/src/shared/agent-variant.ts +101 -101
  863. package/src/shared/agents-config-dir.ts +23 -23
  864. package/src/shared/archive-entry-validator.ts +83 -83
  865. package/src/shared/background-output-consumption.ts +69 -69
  866. package/src/shared/binary-downloader.ts +127 -127
  867. package/src/shared/claude-config-dir.ts +16 -16
  868. package/src/shared/closure-protocol.ts +53 -53
  869. package/src/shared/command-executor/embedded-commands.ts +26 -26
  870. package/src/shared/command-executor/execute-command.ts +28 -28
  871. package/src/shared/command-executor/execute-hook-command.ts +129 -129
  872. package/src/shared/command-executor/home-directory.ts +5 -5
  873. package/src/shared/command-executor/resolve-commands-in-text.ts +49 -49
  874. package/src/shared/command-executor/shell-path.ts +27 -27
  875. package/src/shared/command-executor.ts +5 -5
  876. package/src/shared/compaction-agent-config-checkpoint.ts +42 -42
  877. package/src/shared/compaction-marker.ts +61 -61
  878. package/src/shared/config-errors.ts +18 -18
  879. package/src/shared/connected-providers-cache.ts +215 -215
  880. package/src/shared/contains-path.ts +50 -50
  881. package/src/shared/context-limit-resolver.ts +42 -42
  882. package/src/shared/data-path.ts +64 -64
  883. package/src/shared/deep-merge.ts +53 -53
  884. package/src/shared/disabled-tools.ts +19 -19
  885. package/src/shared/dynamic-truncator.ts +222 -222
  886. package/src/shared/external-plugin-detector.ts +139 -139
  887. package/src/shared/fallback-chain-from-models.ts +124 -124
  888. package/src/shared/fallback-model-availability.ts +102 -102
  889. package/src/shared/file-reference-resolver.ts +99 -99
  890. package/src/shared/file-utils.ts +34 -34
  891. package/src/shared/first-message-variant.ts +28 -28
  892. package/src/shared/frontmatter.ts +31 -31
  893. package/src/shared/git-worktree/collect-git-diff-stats.ts +56 -56
  894. package/src/shared/git-worktree/format-file-changes.ts +46 -46
  895. package/src/shared/git-worktree/index.ts +7 -7
  896. package/src/shared/git-worktree/parse-diff-numstat.ts +27 -27
  897. package/src/shared/git-worktree/parse-status-porcelain-line.ts +27 -27
  898. package/src/shared/git-worktree/parse-status-porcelain.ts +15 -15
  899. package/src/shared/git-worktree/types.ts +8 -8
  900. package/src/shared/hook-disabled.ts +22 -22
  901. package/src/shared/index.ts +80 -80
  902. package/src/shared/internal-initiator-marker.ts +18 -18
  903. package/src/shared/is-abort-error.ts +20 -20
  904. package/src/shared/json-file-cache-store.ts +98 -98
  905. package/src/shared/jsonc-parser.ts +98 -98
  906. package/src/shared/known-variants.ts +16 -16
  907. package/src/shared/legacy-plugin-warning.ts +68 -68
  908. package/src/shared/load-opencode-plugins.ts +60 -60
  909. package/src/shared/log-legacy-plugin-startup-warning.ts +46 -46
  910. package/src/shared/logger.ts +48 -48
  911. package/src/shared/merge-categories.ts +18 -18
  912. package/src/shared/migrate-legacy-config-file.ts +66 -66
  913. package/src/shared/migrate-legacy-plugin-entry.ts +75 -75
  914. package/src/shared/migration/agent-category.ts +60 -60
  915. package/src/shared/migration/agent-names.ts +100 -100
  916. package/src/shared/migration/config-migration.ts +210 -210
  917. package/src/shared/migration/hook-names.ts +40 -40
  918. package/src/shared/migration/migrations-sidecar.ts +92 -92
  919. package/src/shared/migration/model-versions.ts +50 -50
  920. package/src/shared/migration.ts +5 -5
  921. package/src/shared/model-availability.ts +294 -294
  922. package/src/shared/model-capabilities/bundled-snapshot.ts +15 -15
  923. package/src/shared/model-capabilities/get-model-capabilities.ts +140 -140
  924. package/src/shared/model-capabilities/index.ts +9 -9
  925. package/src/shared/model-capabilities/runtime-model-readers.ts +190 -190
  926. package/src/shared/model-capabilities/types.ts +80 -80
  927. package/src/shared/model-capabilities-cache.ts +213 -213
  928. package/src/shared/model-capability-aliases.ts +108 -108
  929. package/src/shared/model-capability-guardrails.ts +149 -149
  930. package/src/shared/model-capability-heuristics.ts +32 -32
  931. package/src/shared/model-error-classifier.ts +214 -214
  932. package/src/shared/model-format-normalizer.ts +20 -20
  933. package/src/shared/model-normalization.ts +8 -8
  934. package/src/shared/model-requirements.ts +26 -26
  935. package/src/shared/model-resolution-pipeline.ts +216 -216
  936. package/src/shared/model-resolution-types.ts +41 -41
  937. package/src/shared/model-resolver.ts +106 -106
  938. package/src/shared/model-sanitizer.ts +12 -12
  939. package/src/shared/model-settings-compatibility.ts +200 -200
  940. package/src/shared/model-suggestion-retry.ts +182 -182
  941. package/src/shared/normalize-sdk-response.ts +36 -36
  942. package/src/shared/opencode-command-dirs.ts +36 -36
  943. package/src/shared/opencode-config-dir-types.ts +15 -15
  944. package/src/shared/opencode-config-dir.ts +135 -135
  945. package/src/shared/opencode-http-api.ts +139 -139
  946. package/src/shared/opencode-message-dir.ts +29 -29
  947. package/src/shared/opencode-server-auth.ts +190 -190
  948. package/src/shared/opencode-storage-detection.ts +33 -33
  949. package/src/shared/opencode-storage-paths.ts +6 -6
  950. package/src/shared/opencode-version.ts +80 -80
  951. package/src/shared/parse-tools-config.ts +25 -25
  952. package/src/shared/pattern-matcher.ts +46 -46
  953. package/src/shared/permission-compat.ts +86 -86
  954. package/src/shared/plugin-command-discovery.ts +28 -28
  955. package/src/shared/plugin-entry-migrator.ts +21 -21
  956. package/src/shared/plugin-identity.ts +8 -8
  957. package/src/shared/port-utils.ts +48 -48
  958. package/src/shared/project-discovery-dirs.ts +101 -101
  959. package/src/shared/prompt-timeout-context.ts +49 -49
  960. package/src/shared/prompt-tools.ts +35 -35
  961. package/src/shared/provider-model-id-transform.ts +58 -58
  962. package/src/shared/question-denied-session-permission.ts +9 -9
  963. package/src/shared/record-type-guard.ts +3 -3
  964. package/src/shared/resolve-agent-definition-paths.ts +22 -22
  965. package/src/shared/retry-status-utils.ts +19 -19
  966. package/src/shared/runtime-plugin-config.ts +98 -98
  967. package/src/shared/safe-create-hook.ts +24 -24
  968. package/src/shared/session-category-registry.ts +27 -27
  969. package/src/shared/session-cursor.ts +108 -108
  970. package/src/shared/session-directory-resolver.ts +41 -41
  971. package/src/shared/session-injected-paths.ts +59 -59
  972. package/src/shared/session-model-state.ts +15 -15
  973. package/src/shared/session-prompt-params-helpers.ts +31 -31
  974. package/src/shared/session-prompt-params-state.ts +37 -37
  975. package/src/shared/session-tools-store.ts +18 -18
  976. package/src/shared/session-utils.ts +25 -25
  977. package/src/shared/shell-env.ts +175 -175
  978. package/src/shared/skill-path-resolver.ts +26 -26
  979. package/src/shared/snake-case.ts +44 -44
  980. package/src/shared/spawn-with-windows-hide.ts +84 -84
  981. package/src/shared/system-directive.ts +67 -67
  982. package/src/shared/task-system-enabled.ts +9 -9
  983. package/src/shared/tmux/constants.ts +12 -12
  984. package/src/shared/tmux/index.ts +3 -3
  985. package/src/shared/tmux/tmux-utils/environment.ts +13 -13
  986. package/src/shared/tmux/tmux-utils/layout.ts +96 -96
  987. package/src/shared/tmux/tmux-utils/pane-close.ts +48 -48
  988. package/src/shared/tmux/tmux-utils/pane-dimensions.ts +28 -28
  989. package/src/shared/tmux/tmux-utils/pane-replace.ts +73 -73
  990. package/src/shared/tmux/tmux-utils/pane-spawn.ts +94 -94
  991. package/src/shared/tmux/tmux-utils/server-health.ts +62 -62
  992. package/src/shared/tmux/tmux-utils/session-spawn.ts +145 -145
  993. package/src/shared/tmux/tmux-utils/window-spawn.ts +93 -93
  994. package/src/shared/tmux/tmux-utils.ts +15 -15
  995. package/src/shared/tmux/types.ts +4 -4
  996. package/src/shared/tool-name.ts +27 -27
  997. package/src/shared/truncate-description.ts +11 -11
  998. package/src/shared/vision-capable-models-cache.ts +17 -17
  999. package/src/shared/write-file-atomically.ts +31 -31
  1000. package/src/shared/zip-entry-listing/powershell-zip-entry-listing.ts +99 -99
  1001. package/src/shared/zip-entry-listing/python-zip-entry-listing.ts +55 -55
  1002. package/src/shared/zip-entry-listing/read-zip-symlink-target.ts +23 -23
  1003. package/src/shared/zip-entry-listing/tar-zip-entry-listing.ts +93 -93
  1004. package/src/shared/zip-entry-listing/zipinfo-zip-entry-listing.ts +72 -72
  1005. package/src/shared/zip-entry-listing.ts +13 -13
  1006. package/src/shared/zip-extractor.ts +118 -118
  1007. package/src/skills/index.ts +56 -56
  1008. package/src/testing/module-mock-lifecycle.ts +143 -143
  1009. package/src/tools/AGENTS.md +108 -108
  1010. package/src/tools/ast-grep/cli-binary-path-resolution.ts +60 -60
  1011. package/src/tools/ast-grep/cli.ts +177 -177
  1012. package/src/tools/ast-grep/constants.ts +5 -5
  1013. package/src/tools/ast-grep/downloader.ts +119 -119
  1014. package/src/tools/ast-grep/environment-check.ts +89 -89
  1015. package/src/tools/ast-grep/index.ts +5 -5
  1016. package/src/tools/ast-grep/language-support.ts +63 -63
  1017. package/src/tools/ast-grep/process-output-timeout.ts +28 -28
  1018. package/src/tools/ast-grep/result-formatter.ts +102 -102
  1019. package/src/tools/ast-grep/sg-cli-path.ts +102 -102
  1020. package/src/tools/ast-grep/sg-compact-json-output.ts +54 -54
  1021. package/src/tools/ast-grep/tools.ts +117 -117
  1022. package/src/tools/ast-grep/types.ts +61 -61
  1023. package/src/tools/background-task/AGENTS.md +53 -53
  1024. package/src/tools/background-task/clients.ts +32 -32
  1025. package/src/tools/background-task/constants.ts +9 -9
  1026. package/src/tools/background-task/create-background-cancel.ts +115 -115
  1027. package/src/tools/background-task/create-background-output.ts +159 -159
  1028. package/src/tools/background-task/create-background-task.ts +126 -126
  1029. package/src/tools/background-task/delay.ts +3 -3
  1030. package/src/tools/background-task/full-session-format.ts +148 -148
  1031. package/src/tools/background-task/index.ts +8 -8
  1032. package/src/tools/background-task/message-dir.ts +1 -1
  1033. package/src/tools/background-task/session-messages.ts +22 -22
  1034. package/src/tools/background-task/task-result-format.ts +113 -113
  1035. package/src/tools/background-task/task-status-format.ts +72 -72
  1036. package/src/tools/background-task/time-format.ts +30 -30
  1037. package/src/tools/background-task/tools.ts +11 -11
  1038. package/src/tools/background-task/truncate-text.ts +4 -4
  1039. package/src/tools/background-task/types.ts +72 -72
  1040. package/src/tools/call-omo-agent/AGENTS.md +51 -51
  1041. package/src/tools/call-omo-agent/agent-resolver.ts +64 -64
  1042. package/src/tools/call-omo-agent/background-agent-executor.ts +91 -91
  1043. package/src/tools/call-omo-agent/background-executor.ts +98 -98
  1044. package/src/tools/call-omo-agent/completion-poller.ts +65 -65
  1045. package/src/tools/call-omo-agent/constants.ts +23 -23
  1046. package/src/tools/call-omo-agent/index.ts +3 -3
  1047. package/src/tools/call-omo-agent/message-dir.ts +1 -1
  1048. package/src/tools/call-omo-agent/message-processor.ts +86 -86
  1049. package/src/tools/call-omo-agent/message-storage-directory.ts +1 -1
  1050. package/src/tools/call-omo-agent/session-creator.ts +70 -70
  1051. package/src/tools/call-omo-agent/subagent-session-creator.ts +74 -74
  1052. package/src/tools/call-omo-agent/sync-executor.ts +148 -148
  1053. package/src/tools/call-omo-agent/tool-context-with-metadata.ts +10 -10
  1054. package/src/tools/call-omo-agent/tools.ts +192 -192
  1055. package/src/tools/call-omo-agent/types.ts +34 -34
  1056. package/src/tools/delegate-task/AGENTS.md +58 -58
  1057. package/src/tools/delegate-task/anthropic-categories.ts +62 -62
  1058. package/src/tools/delegate-task/available-models.ts +64 -64
  1059. package/src/tools/delegate-task/background-continuation.ts +68 -68
  1060. package/src/tools/delegate-task/background-task.ts +165 -165
  1061. package/src/tools/delegate-task/builtin-categories.ts +33 -33
  1062. package/src/tools/delegate-task/builtin-category-definition.ts +8 -8
  1063. package/src/tools/delegate-task/cancel-unstable-agent-task.ts +19 -19
  1064. package/src/tools/delegate-task/categories.ts +77 -77
  1065. package/src/tools/delegate-task/category-resolver.ts +310 -310
  1066. package/src/tools/delegate-task/constants.ts +351 -351
  1067. package/src/tools/delegate-task/delegated-model-config.ts +20 -20
  1068. package/src/tools/delegate-task/error-formatting.ts +51 -51
  1069. package/src/tools/delegate-task/executor-types.ts +39 -39
  1070. package/src/tools/delegate-task/executor.ts +16 -16
  1071. package/src/tools/delegate-task/fallback-entry-resolution.ts +27 -27
  1072. package/src/tools/delegate-task/fallback-entry-settings.ts +20 -20
  1073. package/src/tools/delegate-task/google-categories.ts +130 -130
  1074. package/src/tools/delegate-task/index.ts +4 -4
  1075. package/src/tools/delegate-task/kimi-categories.ts +40 -40
  1076. package/src/tools/delegate-task/model-selection.ts +201 -201
  1077. package/src/tools/delegate-task/model-string-parser.ts +63 -63
  1078. package/src/tools/delegate-task/openai-categories.ts +128 -128
  1079. package/src/tools/delegate-task/parent-context-resolver.ts +47 -47
  1080. package/src/tools/delegate-task/prompt-builder.ts +107 -107
  1081. package/src/tools/delegate-task/resolve-call-id.ts +5 -5
  1082. package/src/tools/delegate-task/skill-resolver.ts +22 -22
  1083. package/src/tools/delegate-task/sub-agent.ts +70 -70
  1084. package/src/tools/delegate-task/subagent-discovery.ts +152 -152
  1085. package/src/tools/delegate-task/subagent-resolver.ts +225 -225
  1086. package/src/tools/delegate-task/sync-continuation-deps.ts +9 -9
  1087. package/src/tools/delegate-task/sync-continuation.ts +149 -149
  1088. package/src/tools/delegate-task/sync-prompt-sender.ts +137 -137
  1089. package/src/tools/delegate-task/sync-result-fetcher.ts +60 -60
  1090. package/src/tools/delegate-task/sync-session-creator.ts +29 -29
  1091. package/src/tools/delegate-task/sync-session-poller.ts +188 -188
  1092. package/src/tools/delegate-task/sync-task-deps.ts +13 -13
  1093. package/src/tools/delegate-task/sync-task-fallback.ts +68 -68
  1094. package/src/tools/delegate-task/sync-task.ts +243 -243
  1095. package/src/tools/delegate-task/time-formatter.ts +13 -13
  1096. package/src/tools/delegate-task/timing.ts +46 -46
  1097. package/src/tools/delegate-task/token-limiter.ts +123 -123
  1098. package/src/tools/delegate-task/tools.ts +259 -259
  1099. package/src/tools/delegate-task/types.ts +89 -89
  1100. package/src/tools/delegate-task/unstable-agent-task.ts +243 -243
  1101. package/src/tools/glob/cli.ts +206 -206
  1102. package/src/tools/glob/constants.ts +12 -12
  1103. package/src/tools/glob/index.ts +1 -1
  1104. package/src/tools/glob/result-formatter.ts +26 -26
  1105. package/src/tools/glob/tools.ts +49 -49
  1106. package/src/tools/glob/types.ts +23 -23
  1107. package/src/tools/grep/cli.ts +279 -279
  1108. package/src/tools/grep/constants.ts +141 -141
  1109. package/src/tools/grep/downloader.ts +128 -128
  1110. package/src/tools/grep/index.ts +1 -1
  1111. package/src/tools/grep/result-formatter.ts +60 -60
  1112. package/src/tools/grep/tools.ts +75 -75
  1113. package/src/tools/grep/types.ts +42 -42
  1114. package/src/tools/hashline-edit/AGENTS.md +92 -92
  1115. package/src/tools/hashline-edit/autocorrect-replacement-lines.ts +179 -179
  1116. package/src/tools/hashline-edit/constants.ts +10 -10
  1117. package/src/tools/hashline-edit/diff-utils.ts +53 -53
  1118. package/src/tools/hashline-edit/edit-deduplication.ts +43 -43
  1119. package/src/tools/hashline-edit/edit-operation-primitives.ts +126 -126
  1120. package/src/tools/hashline-edit/edit-operations.ts +103 -103
  1121. package/src/tools/hashline-edit/edit-ordering.ts +56 -56
  1122. package/src/tools/hashline-edit/edit-text-normalization.ts +111 -111
  1123. package/src/tools/hashline-edit/file-text-canonicalization.ts +44 -44
  1124. package/src/tools/hashline-edit/formatter-trigger.ts +132 -132
  1125. package/src/tools/hashline-edit/hash-computation.ts +154 -154
  1126. package/src/tools/hashline-edit/hashline-chunk-formatter.ts +52 -52
  1127. package/src/tools/hashline-edit/hashline-edit-diff.ts +31 -31
  1128. package/src/tools/hashline-edit/hashline-edit-executor.ts +197 -197
  1129. package/src/tools/hashline-edit/index.ts +20 -20
  1130. package/src/tools/hashline-edit/normalize-edits.ts +95 -95
  1131. package/src/tools/hashline-edit/tool-description.ts +95 -95
  1132. package/src/tools/hashline-edit/tools.ts +42 -42
  1133. package/src/tools/hashline-edit/types.ts +20 -20
  1134. package/src/tools/hashline-edit/validation.ts +181 -181
  1135. package/src/tools/index.ts +64 -64
  1136. package/src/tools/interactive-bash/constants.ts +18 -18
  1137. package/src/tools/interactive-bash/index.ts +4 -4
  1138. package/src/tools/interactive-bash/tmux-path-resolver.ts +71 -71
  1139. package/src/tools/interactive-bash/tools.ts +136 -136
  1140. package/src/tools/look-at/assistant-message-extractor.ts +67 -67
  1141. package/src/tools/look-at/constants.ts +3 -3
  1142. package/src/tools/look-at/image-converter.ts +164 -164
  1143. package/src/tools/look-at/index.ts +3 -3
  1144. package/src/tools/look-at/look-at-arguments.ts +34 -34
  1145. package/src/tools/look-at/mime-type-inference.ts +94 -94
  1146. package/src/tools/look-at/multimodal-agent-metadata.ts +166 -166
  1147. package/src/tools/look-at/multimodal-fallback-chain.ts +66 -66
  1148. package/src/tools/look-at/session-poller.ts +42 -42
  1149. package/src/tools/look-at/tools.ts +245 -245
  1150. package/src/tools/look-at/types.ts +5 -5
  1151. package/src/tools/lsp/AGENTS.md +70 -70
  1152. package/src/tools/lsp/client.ts +3 -3
  1153. package/src/tools/lsp/config.ts +3 -3
  1154. package/src/tools/lsp/constants.ts +7 -7
  1155. package/src/tools/lsp/diagnostics-tool.ts +75 -75
  1156. package/src/tools/lsp/directory-diagnostics.ts +163 -163
  1157. package/src/tools/lsp/find-references-tool.ts +43 -43
  1158. package/src/tools/lsp/goto-definition-tool.ts +42 -42
  1159. package/src/tools/lsp/index.ts +9 -9
  1160. package/src/tools/lsp/infer-extension.ts +65 -65
  1161. package/src/tools/lsp/language-config.ts +5 -5
  1162. package/src/tools/lsp/language-mappings.ts +171 -171
  1163. package/src/tools/lsp/lsp-client-connection.ts +66 -66
  1164. package/src/tools/lsp/lsp-client-transport.ts +210 -210
  1165. package/src/tools/lsp/lsp-client-wrapper.ts +116 -116
  1166. package/src/tools/lsp/lsp-client.ts +129 -129
  1167. package/src/tools/lsp/lsp-formatters.ts +193 -193
  1168. package/src/tools/lsp/lsp-manager-process-cleanup.ts +83 -83
  1169. package/src/tools/lsp/lsp-manager-temp-directory-cleanup.ts +29 -29
  1170. package/src/tools/lsp/lsp-process.ts +158 -158
  1171. package/src/tools/lsp/lsp-server.ts +217 -217
  1172. package/src/tools/lsp/rename-tools.ts +53 -53
  1173. package/src/tools/lsp/server-config-loader.ts +116 -116
  1174. package/src/tools/lsp/server-definitions.ts +91 -91
  1175. package/src/tools/lsp/server-installation.ts +58 -58
  1176. package/src/tools/lsp/server-path-bases.ts +16 -16
  1177. package/src/tools/lsp/server-resolution.ts +109 -109
  1178. package/src/tools/lsp/symbols-tool.ts +76 -76
  1179. package/src/tools/lsp/tools.ts +5 -5
  1180. package/src/tools/lsp/types.ts +124 -124
  1181. package/src/tools/lsp/workspace-edit.ts +121 -121
  1182. package/src/tools/session-manager/constants.ts +93 -93
  1183. package/src/tools/session-manager/file-storage.ts +203 -203
  1184. package/src/tools/session-manager/index.ts +3 -3
  1185. package/src/tools/session-manager/sdk-storage.ts +135 -135
  1186. package/src/tools/session-manager/sdk-unavailable.ts +43 -43
  1187. package/src/tools/session-manager/session-formatter.ts +199 -199
  1188. package/src/tools/session-manager/storage.ts +161 -161
  1189. package/src/tools/session-manager/tools.ts +197 -197
  1190. package/src/tools/session-manager/types.ts +99 -99
  1191. package/src/tools/shared/semaphore.ts +32 -32
  1192. package/src/tools/skill/constants.ts +14 -14
  1193. package/src/tools/skill/description-formatter.ts +61 -61
  1194. package/src/tools/skill/index.ts +3 -3
  1195. package/src/tools/skill/mcp-capability-formatter.ts +97 -97
  1196. package/src/tools/skill/native-skills.ts +62 -62
  1197. package/src/tools/skill/scope-priority.ts +17 -17
  1198. package/src/tools/skill/skill-body.ts +26 -26
  1199. package/src/tools/skill/skill-matcher.ts +40 -40
  1200. package/src/tools/skill/tools.ts +196 -196
  1201. package/src/tools/skill/types.ts +48 -48
  1202. package/src/tools/skill-mcp/constants.ts +9 -9
  1203. package/src/tools/skill-mcp/index.ts +3 -3
  1204. package/src/tools/skill-mcp/tools.ts +204 -204
  1205. package/src/tools/skill-mcp/types.ts +8 -8
  1206. package/src/tools/slashcommand/command-discovery.ts +161 -161
  1207. package/src/tools/slashcommand/command-output-formatter.ts +75 -75
  1208. package/src/tools/slashcommand/index.ts +2 -2
  1209. package/src/tools/slashcommand/types.ts +21 -21
  1210. package/src/tools/task/index.ts +7 -7
  1211. package/src/tools/task/task-create.ts +113 -113
  1212. package/src/tools/task/task-get.ts +47 -47
  1213. package/src/tools/task/task-list.ts +79 -79
  1214. package/src/tools/task/task-update.ts +152 -152
  1215. package/src/tools/task/todo-sync.ts +205 -205
  1216. package/src/tools/task/types.ts +77 -77
  1217. package/scripts/check_docs.ts +0 -129
  1218. package/scripts/doctor.ts +0 -522
  1219. package/scripts/measure_prompts.ts +0 -193
  1220. package/scripts/test_routing.ts +0 -294
@@ -1,466 +1,466 @@
1
- import type { BuiltinSkill } from "../types"
2
-
3
- export const playwrightSkill: BuiltinSkill = {
4
- name: "playwright",
5
- description: "MUST USE for any browser-related tasks. Browser automation via Playwright MCP - verification, browsing, information gathering, web scraping, testing, screenshots, and all browser interactions.",
6
- template: `# Playwright Browser Automation
7
-
8
- This skill provides browser automation capabilities via the Playwright MCP server.`,
9
- mcpConfig: {
10
- playwright: {
11
- command: "npx",
12
- args: ["@playwright/mcp@latest"],
13
- },
14
- },
15
- }
16
-
17
- export const agentBrowserSkill: BuiltinSkill = {
18
- name: "agent-browser",
19
- description: "MUST USE for any browser-related tasks. Browser automation via agent-browser CLI - verification, browsing, information gathering, web scraping, testing, screenshots, and all browser interactions.",
20
- template: `# Browser Automation with agent-browser
21
-
22
- ## Quick start
23
-
24
- \`\`\`bash
25
- agent-browser open <url> # Navigate to page
26
- agent-browser snapshot -i # Get interactive elements with refs
27
- agent-browser click @e1 # Click element by ref
28
- agent-browser fill @e2 "text" # Fill input by ref
29
- agent-browser close # Close browser
30
- \`\`\`
31
-
32
- ## Core workflow
33
-
34
- 1. Navigate: \`agent-browser open <url>\`
35
- 2. Snapshot: \`agent-browser snapshot -i\` (returns elements with refs like \`@e1\`, \`@e2\`)
36
- 3. Interact using refs from the snapshot
37
- 4. Re-snapshot after navigation or significant DOM changes
38
-
39
- ## Commands
40
-
41
- ### Navigation
42
- \`\`\`bash
43
- agent-browser open <url> # Navigate to URL (aliases: goto, navigate)
44
- agent-browser back # Go back
45
- agent-browser forward # Go forward
46
- agent-browser reload # Reload page
47
- agent-browser close # Close browser (aliases: quit, exit)
48
- \`\`\`
49
-
50
- ### Snapshot (page analysis)
51
- \`\`\`bash
52
- agent-browser snapshot # Full accessibility tree
53
- agent-browser snapshot -i # Interactive elements only (recommended)
54
- agent-browser snapshot -i -C # Include cursor-interactive elements (divs with onclick, etc.)
55
- agent-browser snapshot -c # Compact (remove empty structural elements)
56
- agent-browser snapshot -d 3 # Limit depth to 3
57
- agent-browser snapshot -s "#main" # Scope to CSS selector
58
- agent-browser snapshot -i -c -d 5 # Combine options
59
- \`\`\`
60
-
61
- The \`-C\` flag is useful for modern web apps that use custom clickable elements (divs, spans) instead of standard buttons/links.
62
-
63
- ### Interactions (use @refs from snapshot)
64
- \`\`\`bash
65
- agent-browser click @e1 # Click (--new-tab to open in new tab)
66
- agent-browser dblclick @e1 # Double-click
67
- agent-browser focus @e1 # Focus element
68
- agent-browser fill @e2 "text" # Clear and type
69
- agent-browser type @e2 "text" # Type without clearing
70
- agent-browser keyboard type "text" # Type with real keystrokes (no selector, current focus)
71
- agent-browser keyboard inserttext "text" # Insert text without key events (no selector)
72
- agent-browser press Enter # Press key
73
- agent-browser press Control+a # Key combination
74
- agent-browser keydown Shift # Hold key down
75
- agent-browser keyup Shift # Release key
76
- agent-browser hover @e1 # Hover
77
- agent-browser check @e1 # Check checkbox
78
- agent-browser uncheck @e1 # Uncheck checkbox
79
- agent-browser select @e1 "value" # Select dropdown
80
- agent-browser scroll down 500 # Scroll page (--selector <sel> for container)
81
- agent-browser scrollintoview @e1 # Scroll element into view (alias: scrollinto)
82
- agent-browser drag @e1 @e2 # Drag and drop
83
- agent-browser upload @e1 file.pdf # Upload files
84
- \`\`\`
85
-
86
- ### Get information
87
- \`\`\`bash
88
- agent-browser get text @e1 # Get element text
89
- agent-browser get html @e1 # Get innerHTML
90
- agent-browser get value @e1 # Get input value
91
- agent-browser get attr @e1 href # Get attribute
92
- agent-browser get title # Get page title
93
- agent-browser get url # Get current URL
94
- agent-browser get count ".item" # Count matching elements
95
- agent-browser get box @e1 # Get bounding box
96
- agent-browser get styles @e1 # Get computed styles
97
- \`\`\`
98
-
99
- ### Check state
100
- \`\`\`bash
101
- agent-browser is visible @e1 # Check if visible
102
- agent-browser is enabled @e1 # Check if enabled
103
- agent-browser is checked @e1 # Check if checked
104
- \`\`\`
105
-
106
- ### Screenshots & PDF
107
- \`\`\`bash
108
- agent-browser screenshot # Screenshot (saves to temp dir if no path)
109
- agent-browser screenshot path.png # Save to file
110
- agent-browser screenshot --full # Full page
111
- agent-browser screenshot --annotate # Annotated screenshot with numbered element labels
112
- agent-browser pdf output.pdf # Save as PDF
113
- \`\`\`
114
-
115
- Annotated screenshots overlay numbered labels \`[N]\` on interactive elements. Each label corresponds to ref \`@eN\`, so refs work for both visual and text workflows:
116
- \`\`\`bash
117
- agent-browser screenshot --annotate ./page.png
118
- # Output: [1] @e1 button "Submit", [2] @e2 link "Home", [3] @e3 textbox "Email"
119
- agent-browser click @e2 # Click the "Home" link labeled [2]
120
- \`\`\`
121
-
122
- ### Video recording
123
- \`\`\`bash
124
- agent-browser record start ./demo.webm # Start recording (uses current URL + state)
125
- agent-browser click @e1 # Perform actions
126
- agent-browser record stop # Stop and save video
127
- agent-browser record restart ./take2.webm # Stop current + start new recording
128
- \`\`\`
129
- Recording creates a fresh context but preserves cookies/storage from your session.
130
-
131
- ### Wait
132
- \`\`\`bash
133
- agent-browser wait @e1 # Wait for element
134
- agent-browser wait 2000 # Wait milliseconds
135
- agent-browser wait --text "Success" # Wait for text
136
- agent-browser wait --url "**/dashboard" # Wait for URL pattern
137
- agent-browser wait --load networkidle # Wait for network idle
138
- agent-browser wait --fn "window.ready" # Wait for JS condition
139
- \`\`\`
140
-
141
- Load states: \`load\`, \`domcontentloaded\`, \`networkidle\`
142
-
143
- ### Mouse control
144
- \`\`\`bash
145
- agent-browser mouse move 100 200 # Move mouse
146
- agent-browser mouse down left # Press button (left/right/middle)
147
- agent-browser mouse up left # Release button
148
- agent-browser mouse wheel 100 # Scroll wheel
149
- \`\`\`
150
-
151
- ### Semantic locators (alternative to refs)
152
- \`\`\`bash
153
- agent-browser find role button click --name "Submit"
154
- agent-browser find text "Sign In" click
155
- agent-browser find label "Email" fill "user@test.com"
156
- agent-browser find placeholder "Search..." fill "query"
157
- agent-browser find alt "Logo" click
158
- agent-browser find title "Close" click
159
- agent-browser find testid "submit-btn" click
160
- agent-browser find first ".item" click
161
- agent-browser find last ".item" click
162
- agent-browser find nth 2 "a" text
163
- \`\`\`
164
-
165
- Actions: \`click\`, \`fill\`, \`type\`, \`hover\`, \`focus\`, \`check\`, \`uncheck\`, \`text\`
166
- Options: \`--name <name>\` (filter role by accessible name), \`--exact\` (require exact text match)
167
-
168
- ### Browser settings
169
- \`\`\`bash
170
- agent-browser set viewport 1920 1080 # Set viewport size
171
- agent-browser set device "iPhone 14" # Emulate device
172
- agent-browser set geo 37.7749 -122.4194 # Set geolocation
173
- agent-browser set offline on # Toggle offline mode
174
- agent-browser set headers '{"X-Key":"v"}' # Extra HTTP headers
175
- agent-browser set credentials user pass # HTTP basic auth
176
- agent-browser set media dark # Emulate color scheme
177
- \`\`\`
178
-
179
- ### Cookies & Storage
180
- \`\`\`bash
181
- agent-browser cookies # Get all cookies
182
- agent-browser cookies set name value # Set cookie
183
- agent-browser cookies clear # Clear cookies
184
-
185
- agent-browser storage local # Get all localStorage
186
- agent-browser storage local key # Get specific key
187
- agent-browser storage local set k v # Set value
188
- agent-browser storage local clear # Clear all
189
-
190
- agent-browser storage session # Same for sessionStorage
191
- \`\`\`
192
-
193
- ### Network
194
- \`\`\`bash
195
- agent-browser network route <url> # Intercept requests
196
- agent-browser network route <url> --abort # Block requests
197
- agent-browser network route <url> --body '{}' # Mock response
198
- agent-browser network unroute [url] # Remove routes
199
- agent-browser network requests # View tracked requests
200
- agent-browser network requests --filter api # Filter requests
201
- \`\`\`
202
-
203
- ### Tabs & Windows
204
- \`\`\`bash
205
- agent-browser tab # List tabs
206
- agent-browser tab new [url] # New tab
207
- agent-browser tab 2 # Switch to tab
208
- agent-browser tab close # Close tab
209
- agent-browser window new # New window
210
- \`\`\`
211
-
212
- ### Frames
213
- \`\`\`bash
214
- agent-browser frame "#iframe" # Switch to iframe
215
- agent-browser frame main # Back to main frame
216
- \`\`\`
217
-
218
- ### Dialogs
219
- \`\`\`bash
220
- agent-browser dialog accept [text] # Accept dialog (with optional prompt text)
221
- agent-browser dialog dismiss # Dismiss dialog
222
- \`\`\`
223
-
224
- ### Diff (compare snapshots, screenshots, URLs)
225
- \`\`\`bash
226
- agent-browser diff snapshot # Compare current vs last snapshot
227
- agent-browser diff snapshot --baseline before.txt # Compare current vs saved snapshot file
228
- agent-browser diff snapshot --selector "#main" --compact # Scoped snapshot diff
229
- agent-browser diff screenshot --baseline before.png # Visual pixel diff against baseline
230
- agent-browser diff screenshot --baseline b.png -o d.png # Save diff image to custom path
231
- agent-browser diff screenshot --baseline b.png -t 0.2 # Adjust color threshold (0-1)
232
- agent-browser diff url https://v1.com https://v2.com # Compare two URLs (snapshot diff)
233
- agent-browser diff url https://v1.com https://v2.com --screenshot # Also visual diff
234
- agent-browser diff url https://v1.com https://v2.com --selector "#main" # Scope to element
235
- \`\`\`
236
-
237
- ### JavaScript
238
- \`\`\`bash
239
- agent-browser eval "document.title" # Run JavaScript
240
- agent-browser eval -b "base64code" # Run base64-encoded JS
241
- agent-browser eval --stdin # Read JS from stdin
242
- \`\`\`
243
-
244
- ### Debug & Profiling
245
- \`\`\`bash
246
- agent-browser console # View console messages
247
- agent-browser console --clear # Clear console
248
- agent-browser errors # View page errors
249
- agent-browser errors --clear # Clear errors
250
- agent-browser highlight @e1 # Highlight element
251
- agent-browser trace start # Start recording trace
252
- agent-browser trace stop trace.zip # Stop and save trace
253
- agent-browser profiler start # Start Chrome DevTools profiling
254
- agent-browser profiler stop profile.json # Stop and save profile
255
- \`\`\`
256
-
257
- ### State management
258
- \`\`\`bash
259
- agent-browser state save auth.json # Save auth state
260
- agent-browser state load auth.json # Load auth state
261
- agent-browser state list # List saved state files
262
- agent-browser state show <file> # Show state summary
263
- agent-browser state rename <old> <new> # Rename state file
264
- agent-browser state clear [name] # Clear states for session
265
- agent-browser state clear --all # Clear all saved states
266
- agent-browser state clean --older-than <days> # Delete old states
267
- \`\`\`
268
-
269
- ### Setup
270
- \`\`\`bash
271
- agent-browser install # Download Chromium browser
272
- agent-browser install --with-deps # Also install system deps (Linux)
273
- \`\`\`
274
-
275
- ## Global Options
276
-
277
- | Option | Description |
278
- |--------|-------------|
279
- | \`--session <name>\` | Isolated browser session (\`AGENT_BROWSER_SESSION\` env) |
280
- | \`--session-name <name>\` | Auto-save/restore session state (\`AGENT_BROWSER_SESSION_NAME\` env) |
281
- | \`--profile <path>\` | Persistent browser profile (\`AGENT_BROWSER_PROFILE\` env) |
282
- | \`--state <path>\` | Load storage state from JSON file (\`AGENT_BROWSER_STATE\` env) |
283
- | \`--headers <json>\` | HTTP headers scoped to URL's origin |
284
- | \`--executable-path <path>\` | Custom browser binary (\`AGENT_BROWSER_EXECUTABLE_PATH\` env) |
285
- | \`--extension <path>\` | Load browser extension (repeatable; \`AGENT_BROWSER_EXTENSIONS\` env) |
286
- | \`--args <args>\` | Browser launch args (\`AGENT_BROWSER_ARGS\` env) |
287
- | \`--user-agent <ua>\` | Custom User-Agent (\`AGENT_BROWSER_USER_AGENT\` env) |
288
- | \`--proxy <url>\` | Proxy server (\`AGENT_BROWSER_PROXY\` env) |
289
- | \`--proxy-bypass <hosts>\` | Hosts to bypass proxy (\`AGENT_BROWSER_PROXY_BYPASS\` env) |
290
- | \`--ignore-https-errors\` | Ignore HTTPS certificate errors |
291
- | \`--allow-file-access\` | Allow file:// URLs to access local files |
292
- | \`-p, --provider <name>\` | Cloud browser provider (\`AGENT_BROWSER_PROVIDER\` env) |
293
- | \`--device <name>\` | iOS device name (\`AGENT_BROWSER_IOS_DEVICE\` env) |
294
- | \`--json\` | Machine-readable JSON output |
295
- | \`--full, -f\` | Full page screenshot |
296
- | \`--annotate\` | Annotated screenshot with numbered labels (\`AGENT_BROWSER_ANNOTATE\` env) |
297
- | \`--headed\` | Show browser window (\`AGENT_BROWSER_HEADED\` env) |
298
- | \`--cdp <port\\|wss://url>\` | Connect via Chrome DevTools Protocol |
299
- | \`--auto-connect\` | Auto-discover running Chrome (\`AGENT_BROWSER_AUTO_CONNECT\` env) |
300
- | \`--color-scheme <scheme>\` | Color scheme: dark, light, no-preference (\`AGENT_BROWSER_COLOR_SCHEME\` env) |
301
- | \`--download-path <path>\` | Default download directory (\`AGENT_BROWSER_DOWNLOAD_PATH\` env) |
302
- | \`--native\` | [Experimental] Use native Rust daemon (\`AGENT_BROWSER_NATIVE\` env) |
303
- | \`--config <path>\` | Custom config file (\`AGENT_BROWSER_CONFIG\` env) |
304
- | \`--debug\` | Debug output |
305
-
306
- ### Security options
307
- | Option | Description |
308
- |--------|-------------|
309
- | \`--content-boundaries\` | Wrap page output in boundary markers (\`AGENT_BROWSER_CONTENT_BOUNDARIES\` env) |
310
- | \`--max-output <chars>\` | Truncate page output to N characters (\`AGENT_BROWSER_MAX_OUTPUT\` env) |
311
- | \`--allowed-domains <list>\` | Comma-separated allowed domain patterns (\`AGENT_BROWSER_ALLOWED_DOMAINS\` env) |
312
- | \`--action-policy <path>\` | Path to action policy JSON file (\`AGENT_BROWSER_ACTION_POLICY\` env) |
313
- | \`--confirm-actions <list>\` | Action categories requiring confirmation (\`AGENT_BROWSER_CONFIRM_ACTIONS\` env) |
314
-
315
- ## Configuration file
316
-
317
- Create \`agent-browser.json\` for persistent defaults (no need to repeat flags):
318
-
319
- **Locations (lowest to highest priority):**
320
- 1. \`~/.agent-browser/config.json\` - user-level defaults
321
- 2. \`./agent-browser.json\` - project-level overrides
322
- 3. \`AGENT_BROWSER_*\` environment variables
323
- 4. CLI flags override everything
324
-
325
- \`\`\`json
326
- {
327
- "headed": true,
328
- "proxy": "http://localhost:8080",
329
- "profile": "./browser-data",
330
- "native": true
331
- }
332
- \`\`\`
333
-
334
- ## Example: Form submission
335
-
336
- \`\`\`bash
337
- agent-browser open https://example.com/form
338
- agent-browser snapshot -i
339
- # Output shows: textbox "Email" [ref=e1], textbox "Password" [ref=e2], button "Submit" [ref=e3]
340
-
341
- agent-browser fill @e1 "user@example.com"
342
- agent-browser fill @e2 "password123"
343
- agent-browser click @e3
344
- agent-browser wait --load networkidle
345
- agent-browser snapshot -i # Check result
346
- \`\`\`
347
-
348
- ## Example: Authentication with saved state
349
-
350
- \`\`\`bash
351
- # Login once
352
- agent-browser open https://app.example.com/login
353
- agent-browser snapshot -i
354
- agent-browser fill @e1 "username"
355
- agent-browser fill @e2 "password"
356
- agent-browser click @e3
357
- agent-browser wait --url "**/dashboard"
358
- agent-browser state save auth.json
359
-
360
- # Later sessions: load saved state
361
- agent-browser state load auth.json
362
- agent-browser open https://app.example.com/dashboard
363
- \`\`\`
364
-
365
- ### Header-based Auth (Skip login flows)
366
- \`\`\`bash
367
- # Headers scoped to api.example.com only
368
- agent-browser open api.example.com --headers '{"Authorization": "Bearer <token>"}'
369
- # Navigate to another domain - headers NOT sent (safe)
370
- agent-browser open other-site.com
371
- # Global headers (all domains)
372
- agent-browser set headers '{"X-Custom-Header": "value"}'
373
- \`\`\`
374
-
375
- ### Authentication Vault
376
- \`\`\`bash
377
- # Store credentials locally (encrypted). The LLM never sees passwords.
378
- echo "pass" | agent-browser auth save github --url https://github.com/login --username user --password-stdin
379
- agent-browser auth login github
380
- \`\`\`
381
-
382
- ## Sessions & Persistent Profiles
383
-
384
- ### Sessions (parallel browsers)
385
- \`\`\`bash
386
- agent-browser --session test1 open site-a.com
387
- agent-browser --session test2 open site-b.com
388
- agent-browser session list
389
- \`\`\`
390
-
391
- ### Session persistence (auto-save/restore)
392
- \`\`\`bash
393
- agent-browser --session-name twitter open twitter.com
394
- # Login once, state persists automatically across restarts
395
- # State files stored in ~/.agent-browser/sessions/
396
- \`\`\`
397
-
398
- ### Persistent Profiles
399
- Persists cookies, localStorage, IndexedDB, service workers, cache, login sessions across browser restarts.
400
- \`\`\`bash
401
- agent-browser --profile ~/.myapp-profile open myapp.com
402
- # Or via env var
403
- AGENT_BROWSER_PROFILE=~/.myapp-profile agent-browser open myapp.com
404
- \`\`\`
405
-
406
- ## JSON output (for parsing)
407
-
408
- Add \`--json\` for machine-readable output:
409
- \`\`\`bash
410
- agent-browser snapshot -i --json
411
- agent-browser get text @e1 --json
412
- \`\`\`
413
-
414
- ## Local files
415
-
416
- \`\`\`bash
417
- agent-browser --allow-file-access open file:///path/to/document.pdf
418
- agent-browser --allow-file-access open file:///path/to/page.html
419
- \`\`\`
420
-
421
- ## CDP Mode
422
-
423
- \`\`\`bash
424
- agent-browser connect 9222 # Local CDP port
425
- agent-browser --cdp 9222 snapshot # Direct CDP on each command
426
- agent-browser --cdp "wss://browser-service.com/cdp?token=..." snapshot # Remote via WebSocket
427
- agent-browser --auto-connect snapshot # Auto-discover running Chrome
428
- \`\`\`
429
-
430
- ## Cloud providers
431
-
432
- \`\`\`bash
433
- # Browserbase
434
- BROWSERBASE_API_KEY="key" BROWSERBASE_PROJECT_ID="id" agent-browser -p browserbase open example.com
435
-
436
- # Browser Use
437
- BROWSER_USE_API_KEY="key" agent-browser -p browseruse open example.com
438
-
439
- # Kernel
440
- KERNEL_API_KEY="key" agent-browser -p kernel open example.com
441
- \`\`\`
442
-
443
- ## iOS Simulator
444
-
445
- \`\`\`bash
446
- agent-browser device list # List available simulators
447
- agent-browser -p ios --device "iPhone 16 Pro" open example.com # Launch Safari
448
- agent-browser -p ios snapshot -i # Same commands as desktop
449
- agent-browser -p ios tap @e1 # Tap
450
- agent-browser -p ios swipe up # Mobile-specific
451
- agent-browser -p ios close # Close session
452
- \`\`\`
453
-
454
- ## Native Mode (Experimental)
455
-
456
- Pure Rust daemon using direct CDP - no Node.js/Playwright required:
457
- \`\`\`bash
458
- agent-browser --native open example.com
459
- # Or: export AGENT_BROWSER_NATIVE=1
460
- # Or: {"native": true} in agent-browser.json
461
- \`\`\`
462
-
463
- ---
464
- Install: \`bun add -g agent-browser && agent-browser install\`. Run \`agent-browser --help\` for all commands. Repo: https://github.com/vercel-labs/agent-browser`,
465
- allowedTools: ["Bash(agent-browser:*)"],
466
- }
1
+ import type { BuiltinSkill } from "../types"
2
+
3
+ export const playwrightSkill: BuiltinSkill = {
4
+ name: "playwright",
5
+ description: "MUST USE for any browser-related tasks. Browser automation via Playwright MCP - verification, browsing, information gathering, web scraping, testing, screenshots, and all browser interactions.",
6
+ template: `# Playwright Browser Automation
7
+
8
+ This skill provides browser automation capabilities via the Playwright MCP server.`,
9
+ mcpConfig: {
10
+ playwright: {
11
+ command: "npx",
12
+ args: ["@playwright/mcp@latest"],
13
+ },
14
+ },
15
+ }
16
+
17
+ export const agentBrowserSkill: BuiltinSkill = {
18
+ name: "agent-browser",
19
+ description: "MUST USE for any browser-related tasks. Browser automation via agent-browser CLI - verification, browsing, information gathering, web scraping, testing, screenshots, and all browser interactions.",
20
+ template: `# Browser Automation with agent-browser
21
+
22
+ ## Quick start
23
+
24
+ \`\`\`bash
25
+ agent-browser open <url> # Navigate to page
26
+ agent-browser snapshot -i # Get interactive elements with refs
27
+ agent-browser click @e1 # Click element by ref
28
+ agent-browser fill @e2 "text" # Fill input by ref
29
+ agent-browser close # Close browser
30
+ \`\`\`
31
+
32
+ ## Core workflow
33
+
34
+ 1. Navigate: \`agent-browser open <url>\`
35
+ 2. Snapshot: \`agent-browser snapshot -i\` (returns elements with refs like \`@e1\`, \`@e2\`)
36
+ 3. Interact using refs from the snapshot
37
+ 4. Re-snapshot after navigation or significant DOM changes
38
+
39
+ ## Commands
40
+
41
+ ### Navigation
42
+ \`\`\`bash
43
+ agent-browser open <url> # Navigate to URL (aliases: goto, navigate)
44
+ agent-browser back # Go back
45
+ agent-browser forward # Go forward
46
+ agent-browser reload # Reload page
47
+ agent-browser close # Close browser (aliases: quit, exit)
48
+ \`\`\`
49
+
50
+ ### Snapshot (page analysis)
51
+ \`\`\`bash
52
+ agent-browser snapshot # Full accessibility tree
53
+ agent-browser snapshot -i # Interactive elements only (recommended)
54
+ agent-browser snapshot -i -C # Include cursor-interactive elements (divs with onclick, etc.)
55
+ agent-browser snapshot -c # Compact (remove empty structural elements)
56
+ agent-browser snapshot -d 3 # Limit depth to 3
57
+ agent-browser snapshot -s "#main" # Scope to CSS selector
58
+ agent-browser snapshot -i -c -d 5 # Combine options
59
+ \`\`\`
60
+
61
+ The \`-C\` flag is useful for modern web apps that use custom clickable elements (divs, spans) instead of standard buttons/links.
62
+
63
+ ### Interactions (use @refs from snapshot)
64
+ \`\`\`bash
65
+ agent-browser click @e1 # Click (--new-tab to open in new tab)
66
+ agent-browser dblclick @e1 # Double-click
67
+ agent-browser focus @e1 # Focus element
68
+ agent-browser fill @e2 "text" # Clear and type
69
+ agent-browser type @e2 "text" # Type without clearing
70
+ agent-browser keyboard type "text" # Type with real keystrokes (no selector, current focus)
71
+ agent-browser keyboard inserttext "text" # Insert text without key events (no selector)
72
+ agent-browser press Enter # Press key
73
+ agent-browser press Control+a # Key combination
74
+ agent-browser keydown Shift # Hold key down
75
+ agent-browser keyup Shift # Release key
76
+ agent-browser hover @e1 # Hover
77
+ agent-browser check @e1 # Check checkbox
78
+ agent-browser uncheck @e1 # Uncheck checkbox
79
+ agent-browser select @e1 "value" # Select dropdown
80
+ agent-browser scroll down 500 # Scroll page (--selector <sel> for container)
81
+ agent-browser scrollintoview @e1 # Scroll element into view (alias: scrollinto)
82
+ agent-browser drag @e1 @e2 # Drag and drop
83
+ agent-browser upload @e1 file.pdf # Upload files
84
+ \`\`\`
85
+
86
+ ### Get information
87
+ \`\`\`bash
88
+ agent-browser get text @e1 # Get element text
89
+ agent-browser get html @e1 # Get innerHTML
90
+ agent-browser get value @e1 # Get input value
91
+ agent-browser get attr @e1 href # Get attribute
92
+ agent-browser get title # Get page title
93
+ agent-browser get url # Get current URL
94
+ agent-browser get count ".item" # Count matching elements
95
+ agent-browser get box @e1 # Get bounding box
96
+ agent-browser get styles @e1 # Get computed styles
97
+ \`\`\`
98
+
99
+ ### Check state
100
+ \`\`\`bash
101
+ agent-browser is visible @e1 # Check if visible
102
+ agent-browser is enabled @e1 # Check if enabled
103
+ agent-browser is checked @e1 # Check if checked
104
+ \`\`\`
105
+
106
+ ### Screenshots & PDF
107
+ \`\`\`bash
108
+ agent-browser screenshot # Screenshot (saves to temp dir if no path)
109
+ agent-browser screenshot path.png # Save to file
110
+ agent-browser screenshot --full # Full page
111
+ agent-browser screenshot --annotate # Annotated screenshot with numbered element labels
112
+ agent-browser pdf output.pdf # Save as PDF
113
+ \`\`\`
114
+
115
+ Annotated screenshots overlay numbered labels \`[N]\` on interactive elements. Each label corresponds to ref \`@eN\`, so refs work for both visual and text workflows:
116
+ \`\`\`bash
117
+ agent-browser screenshot --annotate ./page.png
118
+ # Output: [1] @e1 button "Submit", [2] @e2 link "Home", [3] @e3 textbox "Email"
119
+ agent-browser click @e2 # Click the "Home" link labeled [2]
120
+ \`\`\`
121
+
122
+ ### Video recording
123
+ \`\`\`bash
124
+ agent-browser record start ./demo.webm # Start recording (uses current URL + state)
125
+ agent-browser click @e1 # Perform actions
126
+ agent-browser record stop # Stop and save video
127
+ agent-browser record restart ./take2.webm # Stop current + start new recording
128
+ \`\`\`
129
+ Recording creates a fresh context but preserves cookies/storage from your session.
130
+
131
+ ### Wait
132
+ \`\`\`bash
133
+ agent-browser wait @e1 # Wait for element
134
+ agent-browser wait 2000 # Wait milliseconds
135
+ agent-browser wait --text "Success" # Wait for text
136
+ agent-browser wait --url "**/dashboard" # Wait for URL pattern
137
+ agent-browser wait --load networkidle # Wait for network idle
138
+ agent-browser wait --fn "window.ready" # Wait for JS condition
139
+ \`\`\`
140
+
141
+ Load states: \`load\`, \`domcontentloaded\`, \`networkidle\`
142
+
143
+ ### Mouse control
144
+ \`\`\`bash
145
+ agent-browser mouse move 100 200 # Move mouse
146
+ agent-browser mouse down left # Press button (left/right/middle)
147
+ agent-browser mouse up left # Release button
148
+ agent-browser mouse wheel 100 # Scroll wheel
149
+ \`\`\`
150
+
151
+ ### Semantic locators (alternative to refs)
152
+ \`\`\`bash
153
+ agent-browser find role button click --name "Submit"
154
+ agent-browser find text "Sign In" click
155
+ agent-browser find label "Email" fill "user@test.com"
156
+ agent-browser find placeholder "Search..." fill "query"
157
+ agent-browser find alt "Logo" click
158
+ agent-browser find title "Close" click
159
+ agent-browser find testid "submit-btn" click
160
+ agent-browser find first ".item" click
161
+ agent-browser find last ".item" click
162
+ agent-browser find nth 2 "a" text
163
+ \`\`\`
164
+
165
+ Actions: \`click\`, \`fill\`, \`type\`, \`hover\`, \`focus\`, \`check\`, \`uncheck\`, \`text\`
166
+ Options: \`--name <name>\` (filter role by accessible name), \`--exact\` (require exact text match)
167
+
168
+ ### Browser settings
169
+ \`\`\`bash
170
+ agent-browser set viewport 1920 1080 # Set viewport size
171
+ agent-browser set device "iPhone 14" # Emulate device
172
+ agent-browser set geo 37.7749 -122.4194 # Set geolocation
173
+ agent-browser set offline on # Toggle offline mode
174
+ agent-browser set headers '{"X-Key":"v"}' # Extra HTTP headers
175
+ agent-browser set credentials user pass # HTTP basic auth
176
+ agent-browser set media dark # Emulate color scheme
177
+ \`\`\`
178
+
179
+ ### Cookies & Storage
180
+ \`\`\`bash
181
+ agent-browser cookies # Get all cookies
182
+ agent-browser cookies set name value # Set cookie
183
+ agent-browser cookies clear # Clear cookies
184
+
185
+ agent-browser storage local # Get all localStorage
186
+ agent-browser storage local key # Get specific key
187
+ agent-browser storage local set k v # Set value
188
+ agent-browser storage local clear # Clear all
189
+
190
+ agent-browser storage session # Same for sessionStorage
191
+ \`\`\`
192
+
193
+ ### Network
194
+ \`\`\`bash
195
+ agent-browser network route <url> # Intercept requests
196
+ agent-browser network route <url> --abort # Block requests
197
+ agent-browser network route <url> --body '{}' # Mock response
198
+ agent-browser network unroute [url] # Remove routes
199
+ agent-browser network requests # View tracked requests
200
+ agent-browser network requests --filter api # Filter requests
201
+ \`\`\`
202
+
203
+ ### Tabs & Windows
204
+ \`\`\`bash
205
+ agent-browser tab # List tabs
206
+ agent-browser tab new [url] # New tab
207
+ agent-browser tab 2 # Switch to tab
208
+ agent-browser tab close # Close tab
209
+ agent-browser window new # New window
210
+ \`\`\`
211
+
212
+ ### Frames
213
+ \`\`\`bash
214
+ agent-browser frame "#iframe" # Switch to iframe
215
+ agent-browser frame main # Back to main frame
216
+ \`\`\`
217
+
218
+ ### Dialogs
219
+ \`\`\`bash
220
+ agent-browser dialog accept [text] # Accept dialog (with optional prompt text)
221
+ agent-browser dialog dismiss # Dismiss dialog
222
+ \`\`\`
223
+
224
+ ### Diff (compare snapshots, screenshots, URLs)
225
+ \`\`\`bash
226
+ agent-browser diff snapshot # Compare current vs last snapshot
227
+ agent-browser diff snapshot --baseline before.txt # Compare current vs saved snapshot file
228
+ agent-browser diff snapshot --selector "#main" --compact # Scoped snapshot diff
229
+ agent-browser diff screenshot --baseline before.png # Visual pixel diff against baseline
230
+ agent-browser diff screenshot --baseline b.png -o d.png # Save diff image to custom path
231
+ agent-browser diff screenshot --baseline b.png -t 0.2 # Adjust color threshold (0-1)
232
+ agent-browser diff url https://v1.com https://v2.com # Compare two URLs (snapshot diff)
233
+ agent-browser diff url https://v1.com https://v2.com --screenshot # Also visual diff
234
+ agent-browser diff url https://v1.com https://v2.com --selector "#main" # Scope to element
235
+ \`\`\`
236
+
237
+ ### JavaScript
238
+ \`\`\`bash
239
+ agent-browser eval "document.title" # Run JavaScript
240
+ agent-browser eval -b "base64code" # Run base64-encoded JS
241
+ agent-browser eval --stdin # Read JS from stdin
242
+ \`\`\`
243
+
244
+ ### Debug & Profiling
245
+ \`\`\`bash
246
+ agent-browser console # View console messages
247
+ agent-browser console --clear # Clear console
248
+ agent-browser errors # View page errors
249
+ agent-browser errors --clear # Clear errors
250
+ agent-browser highlight @e1 # Highlight element
251
+ agent-browser trace start # Start recording trace
252
+ agent-browser trace stop trace.zip # Stop and save trace
253
+ agent-browser profiler start # Start Chrome DevTools profiling
254
+ agent-browser profiler stop profile.json # Stop and save profile
255
+ \`\`\`
256
+
257
+ ### State management
258
+ \`\`\`bash
259
+ agent-browser state save auth.json # Save auth state
260
+ agent-browser state load auth.json # Load auth state
261
+ agent-browser state list # List saved state files
262
+ agent-browser state show <file> # Show state summary
263
+ agent-browser state rename <old> <new> # Rename state file
264
+ agent-browser state clear [name] # Clear states for session
265
+ agent-browser state clear --all # Clear all saved states
266
+ agent-browser state clean --older-than <days> # Delete old states
267
+ \`\`\`
268
+
269
+ ### Setup
270
+ \`\`\`bash
271
+ agent-browser install # Download Chromium browser
272
+ agent-browser install --with-deps # Also install system deps (Linux)
273
+ \`\`\`
274
+
275
+ ## Global Options
276
+
277
+ | Option | Description |
278
+ |--------|-------------|
279
+ | \`--session <name>\` | Isolated browser session (\`AGENT_BROWSER_SESSION\` env) |
280
+ | \`--session-name <name>\` | Auto-save/restore session state (\`AGENT_BROWSER_SESSION_NAME\` env) |
281
+ | \`--profile <path>\` | Persistent browser profile (\`AGENT_BROWSER_PROFILE\` env) |
282
+ | \`--state <path>\` | Load storage state from JSON file (\`AGENT_BROWSER_STATE\` env) |
283
+ | \`--headers <json>\` | HTTP headers scoped to URL's origin |
284
+ | \`--executable-path <path>\` | Custom browser binary (\`AGENT_BROWSER_EXECUTABLE_PATH\` env) |
285
+ | \`--extension <path>\` | Load browser extension (repeatable; \`AGENT_BROWSER_EXTENSIONS\` env) |
286
+ | \`--args <args>\` | Browser launch args (\`AGENT_BROWSER_ARGS\` env) |
287
+ | \`--user-agent <ua>\` | Custom User-Agent (\`AGENT_BROWSER_USER_AGENT\` env) |
288
+ | \`--proxy <url>\` | Proxy server (\`AGENT_BROWSER_PROXY\` env) |
289
+ | \`--proxy-bypass <hosts>\` | Hosts to bypass proxy (\`AGENT_BROWSER_PROXY_BYPASS\` env) |
290
+ | \`--ignore-https-errors\` | Ignore HTTPS certificate errors |
291
+ | \`--allow-file-access\` | Allow file:// URLs to access local files |
292
+ | \`-p, --provider <name>\` | Cloud browser provider (\`AGENT_BROWSER_PROVIDER\` env) |
293
+ | \`--device <name>\` | iOS device name (\`AGENT_BROWSER_IOS_DEVICE\` env) |
294
+ | \`--json\` | Machine-readable JSON output |
295
+ | \`--full, -f\` | Full page screenshot |
296
+ | \`--annotate\` | Annotated screenshot with numbered labels (\`AGENT_BROWSER_ANNOTATE\` env) |
297
+ | \`--headed\` | Show browser window (\`AGENT_BROWSER_HEADED\` env) |
298
+ | \`--cdp <port\\|wss://url>\` | Connect via Chrome DevTools Protocol |
299
+ | \`--auto-connect\` | Auto-discover running Chrome (\`AGENT_BROWSER_AUTO_CONNECT\` env) |
300
+ | \`--color-scheme <scheme>\` | Color scheme: dark, light, no-preference (\`AGENT_BROWSER_COLOR_SCHEME\` env) |
301
+ | \`--download-path <path>\` | Default download directory (\`AGENT_BROWSER_DOWNLOAD_PATH\` env) |
302
+ | \`--native\` | [Experimental] Use native Rust daemon (\`AGENT_BROWSER_NATIVE\` env) |
303
+ | \`--config <path>\` | Custom config file (\`AGENT_BROWSER_CONFIG\` env) |
304
+ | \`--debug\` | Debug output |
305
+
306
+ ### Security options
307
+ | Option | Description |
308
+ |--------|-------------|
309
+ | \`--content-boundaries\` | Wrap page output in boundary markers (\`AGENT_BROWSER_CONTENT_BOUNDARIES\` env) |
310
+ | \`--max-output <chars>\` | Truncate page output to N characters (\`AGENT_BROWSER_MAX_OUTPUT\` env) |
311
+ | \`--allowed-domains <list>\` | Comma-separated allowed domain patterns (\`AGENT_BROWSER_ALLOWED_DOMAINS\` env) |
312
+ | \`--action-policy <path>\` | Path to action policy JSON file (\`AGENT_BROWSER_ACTION_POLICY\` env) |
313
+ | \`--confirm-actions <list>\` | Action categories requiring confirmation (\`AGENT_BROWSER_CONFIRM_ACTIONS\` env) |
314
+
315
+ ## Configuration file
316
+
317
+ Create \`agent-browser.json\` for persistent defaults (no need to repeat flags):
318
+
319
+ **Locations (lowest to highest priority):**
320
+ 1. \`~/.agent-browser/config.json\` - user-level defaults
321
+ 2. \`./agent-browser.json\` - project-level overrides
322
+ 3. \`AGENT_BROWSER_*\` environment variables
323
+ 4. CLI flags override everything
324
+
325
+ \`\`\`json
326
+ {
327
+ "headed": true,
328
+ "proxy": "http://localhost:8080",
329
+ "profile": "./browser-data",
330
+ "native": true
331
+ }
332
+ \`\`\`
333
+
334
+ ## Example: Form submission
335
+
336
+ \`\`\`bash
337
+ agent-browser open https://example.com/form
338
+ agent-browser snapshot -i
339
+ # Output shows: textbox "Email" [ref=e1], textbox "Password" [ref=e2], button "Submit" [ref=e3]
340
+
341
+ agent-browser fill @e1 "user@example.com"
342
+ agent-browser fill @e2 "password123"
343
+ agent-browser click @e3
344
+ agent-browser wait --load networkidle
345
+ agent-browser snapshot -i # Check result
346
+ \`\`\`
347
+
348
+ ## Example: Authentication with saved state
349
+
350
+ \`\`\`bash
351
+ # Login once
352
+ agent-browser open https://app.example.com/login
353
+ agent-browser snapshot -i
354
+ agent-browser fill @e1 "username"
355
+ agent-browser fill @e2 "password"
356
+ agent-browser click @e3
357
+ agent-browser wait --url "**/dashboard"
358
+ agent-browser state save auth.json
359
+
360
+ # Later sessions: load saved state
361
+ agent-browser state load auth.json
362
+ agent-browser open https://app.example.com/dashboard
363
+ \`\`\`
364
+
365
+ ### Header-based Auth (Skip login flows)
366
+ \`\`\`bash
367
+ # Headers scoped to api.example.com only
368
+ agent-browser open api.example.com --headers '{"Authorization": "Bearer <token>"}'
369
+ # Navigate to another domain - headers NOT sent (safe)
370
+ agent-browser open other-site.com
371
+ # Global headers (all domains)
372
+ agent-browser set headers '{"X-Custom-Header": "value"}'
373
+ \`\`\`
374
+
375
+ ### Authentication Vault
376
+ \`\`\`bash
377
+ # Store credentials locally (encrypted). The LLM never sees passwords.
378
+ echo "pass" | agent-browser auth save github --url https://github.com/login --username user --password-stdin
379
+ agent-browser auth login github
380
+ \`\`\`
381
+
382
+ ## Sessions & Persistent Profiles
383
+
384
+ ### Sessions (parallel browsers)
385
+ \`\`\`bash
386
+ agent-browser --session test1 open site-a.com
387
+ agent-browser --session test2 open site-b.com
388
+ agent-browser session list
389
+ \`\`\`
390
+
391
+ ### Session persistence (auto-save/restore)
392
+ \`\`\`bash
393
+ agent-browser --session-name twitter open twitter.com
394
+ # Login once, state persists automatically across restarts
395
+ # State files stored in ~/.agent-browser/sessions/
396
+ \`\`\`
397
+
398
+ ### Persistent Profiles
399
+ Persists cookies, localStorage, IndexedDB, service workers, cache, login sessions across browser restarts.
400
+ \`\`\`bash
401
+ agent-browser --profile ~/.myapp-profile open myapp.com
402
+ # Or via env var
403
+ AGENT_BROWSER_PROFILE=~/.myapp-profile agent-browser open myapp.com
404
+ \`\`\`
405
+
406
+ ## JSON output (for parsing)
407
+
408
+ Add \`--json\` for machine-readable output:
409
+ \`\`\`bash
410
+ agent-browser snapshot -i --json
411
+ agent-browser get text @e1 --json
412
+ \`\`\`
413
+
414
+ ## Local files
415
+
416
+ \`\`\`bash
417
+ agent-browser --allow-file-access open file:///path/to/document.pdf
418
+ agent-browser --allow-file-access open file:///path/to/page.html
419
+ \`\`\`
420
+
421
+ ## CDP Mode
422
+
423
+ \`\`\`bash
424
+ agent-browser connect 9222 # Local CDP port
425
+ agent-browser --cdp 9222 snapshot # Direct CDP on each command
426
+ agent-browser --cdp "wss://browser-service.com/cdp?token=..." snapshot # Remote via WebSocket
427
+ agent-browser --auto-connect snapshot # Auto-discover running Chrome
428
+ \`\`\`
429
+
430
+ ## Cloud providers
431
+
432
+ \`\`\`bash
433
+ # Browserbase
434
+ BROWSERBASE_API_KEY="key" BROWSERBASE_PROJECT_ID="id" agent-browser -p browserbase open example.com
435
+
436
+ # Browser Use
437
+ BROWSER_USE_API_KEY="key" agent-browser -p browseruse open example.com
438
+
439
+ # Kernel
440
+ KERNEL_API_KEY="key" agent-browser -p kernel open example.com
441
+ \`\`\`
442
+
443
+ ## iOS Simulator
444
+
445
+ \`\`\`bash
446
+ agent-browser device list # List available simulators
447
+ agent-browser -p ios --device "iPhone 16 Pro" open example.com # Launch Safari
448
+ agent-browser -p ios snapshot -i # Same commands as desktop
449
+ agent-browser -p ios tap @e1 # Tap
450
+ agent-browser -p ios swipe up # Mobile-specific
451
+ agent-browser -p ios close # Close session
452
+ \`\`\`
453
+
454
+ ## Native Mode (Experimental)
455
+
456
+ Pure Rust daemon using direct CDP - no Node.js/Playwright required:
457
+ \`\`\`bash
458
+ agent-browser --native open example.com
459
+ # Or: export AGENT_BROWSER_NATIVE=1
460
+ # Or: {"native": true} in agent-browser.json
461
+ \`\`\`
462
+
463
+ ---
464
+ Install: \`bun add -g agent-browser && agent-browser install\`. Run \`agent-browser --help\` for all commands. Repo: https://github.com/vercel-labs/agent-browser`,
465
+ allowedTools: ["Bash(agent-browser:*)"],
466
+ }