@pentoshi/clai 4.8.3 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/README.md +69 -3
  2. package/dist/agent/finalize-gate.js +0 -9
  3. package/dist/agent/finalize-gate.js.map +1 -1
  4. package/dist/agent/plan-mode-reminders.js +5 -5
  5. package/dist/agent/plan-mode-reminders.js.map +1 -1
  6. package/dist/agent/plan-tool.d.ts +1 -0
  7. package/dist/agent/plan-tool.js +50 -21
  8. package/dist/agent/plan-tool.js.map +1 -1
  9. package/dist/agent/reliability-policy.d.ts +9 -0
  10. package/dist/agent/reliability-policy.js +36 -1
  11. package/dist/agent/reliability-policy.js.map +1 -1
  12. package/dist/agent/runner.d.ts +4 -0
  13. package/dist/agent/runner.js +193 -116
  14. package/dist/agent/runner.js.map +1 -1
  15. package/dist/agent/task-analyzer.d.ts +8 -18
  16. package/dist/agent/task-analyzer.js +75 -182
  17. package/dist/agent/task-analyzer.js.map +1 -1
  18. package/dist/agent/task-evidence.js +10 -0
  19. package/dist/agent/task-evidence.js.map +1 -1
  20. package/dist/agent/tool-call-parser.js +14 -13
  21. package/dist/agent/tool-call-parser.js.map +1 -1
  22. package/dist/app/adapters/current-agent-adapter.d.ts +5 -1
  23. package/dist/app/adapters/current-agent-adapter.js +2 -1
  24. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  25. package/dist/app/commands/catalog.js +5 -0
  26. package/dist/app/commands/catalog.js.map +1 -1
  27. package/dist/app/controllers/session-compact-helper.js +3 -6
  28. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  29. package/dist/app/ports/transcript-item.d.ts +4 -0
  30. package/dist/classic/app/ClassicApp.js +1 -1
  31. package/dist/classic/app/ClassicApp.js.map +1 -1
  32. package/dist/classic/app/action-handlers.js +4 -0
  33. package/dist/classic/app/action-handlers.js.map +1 -1
  34. package/dist/classic/app/app-wiring.js +1 -0
  35. package/dist/classic/app/app-wiring.js.map +1 -1
  36. package/dist/classic/app/wiring-lifecycle.js +1 -0
  37. package/dist/classic/app/wiring-lifecycle.js.map +1 -1
  38. package/dist/classic/blocks/compacted-lines.js +3 -0
  39. package/dist/classic/blocks/compacted-lines.js.map +1 -1
  40. package/dist/classic/blocks/thinking-lines.js +11 -2
  41. package/dist/classic/blocks/thinking-lines.js.map +1 -1
  42. package/dist/classic/bootstrap/start-classic.js +3 -0
  43. package/dist/classic/bootstrap/start-classic.js.map +1 -1
  44. package/dist/classic/chrome/Composer.d.ts +6 -0
  45. package/dist/classic/chrome/Composer.js +2 -3
  46. package/dist/classic/chrome/Composer.js.map +1 -1
  47. package/dist/classic/chrome/composer-controller.d.ts +6 -1
  48. package/dist/classic/chrome/composer-controller.js +18 -8
  49. package/dist/classic/chrome/composer-controller.js.map +1 -1
  50. package/dist/classic/chrome/editor-view.d.ts +2 -1
  51. package/dist/classic/chrome/editor-view.js +1 -1
  52. package/dist/classic/chrome/editor-view.js.map +1 -1
  53. package/dist/classic/chrome/status-rows.js +3 -2
  54. package/dist/classic/chrome/status-rows.js.map +1 -1
  55. package/dist/classic/panels/TextEditorPanel.d.ts +3 -0
  56. package/dist/classic/panels/TextEditorPanel.js +7 -0
  57. package/dist/classic/panels/TextEditorPanel.js.map +1 -0
  58. package/dist/classic/panels/panel-controller.js +28 -1
  59. package/dist/classic/panels/panel-controller.js.map +1 -1
  60. package/dist/classic/panels/panel-effect.d.ts +3 -0
  61. package/dist/classic/panels/panel-effect.js.map +1 -1
  62. package/dist/classic/panels/panel-effects.js +3 -0
  63. package/dist/classic/panels/panel-effects.js.map +1 -1
  64. package/dist/classic/panels/panel-host.js +3 -0
  65. package/dist/classic/panels/panel-host.js.map +1 -1
  66. package/dist/classic/panels/panel-types.d.ts +2 -0
  67. package/dist/classic/panels/secret-panel.d.ts +1 -1
  68. package/dist/classic/panels/secret-panel.js +4 -2
  69. package/dist/classic/panels/secret-panel.js.map +1 -1
  70. package/dist/classic/panels/text-editor-panel.d.ts +33 -0
  71. package/dist/classic/panels/text-editor-panel.js +101 -0
  72. package/dist/classic/panels/text-editor-panel.js.map +1 -0
  73. package/dist/llm/adapters/anthropic-tools.d.ts +2 -1
  74. package/dist/llm/adapters/anthropic-tools.js +55 -4
  75. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  76. package/dist/llm/anthropic.js +1 -1
  77. package/dist/llm/anthropic.js.map +1 -1
  78. package/dist/llm/aws-mantle.js +2 -0
  79. package/dist/llm/aws-mantle.js.map +1 -1
  80. package/dist/llm/meta.js +62 -68
  81. package/dist/llm/meta.js.map +1 -1
  82. package/dist/llm/provider.js +7 -7
  83. package/dist/llm/request-plan.js +7 -2
  84. package/dist/llm/request-plan.js.map +1 -1
  85. package/dist/llm/tool-protocol.d.ts +1 -0
  86. package/dist/llm/tool-protocol.js +7 -0
  87. package/dist/llm/tool-protocol.js.map +1 -1
  88. package/dist/mcp/client.d.ts +27 -0
  89. package/dist/mcp/client.js +119 -0
  90. package/dist/mcp/client.js.map +1 -0
  91. package/dist/mcp/config-file.d.ts +35 -0
  92. package/dist/mcp/config-file.js +217 -0
  93. package/dist/mcp/config-file.js.map +1 -0
  94. package/dist/mcp/discovery.d.ts +4 -0
  95. package/dist/mcp/discovery.js +409 -0
  96. package/dist/mcp/discovery.js.map +1 -0
  97. package/dist/mcp/format.d.ts +17 -0
  98. package/dist/mcp/format.js +122 -0
  99. package/dist/mcp/format.js.map +1 -0
  100. package/dist/mcp/index.d.ts +15 -0
  101. package/dist/mcp/index.js +16 -0
  102. package/dist/mcp/index.js.map +1 -0
  103. package/dist/mcp/jsonrpc.d.ts +40 -0
  104. package/dist/mcp/jsonrpc.js +175 -0
  105. package/dist/mcp/jsonrpc.js.map +1 -0
  106. package/dist/mcp/manager.d.ts +36 -0
  107. package/dist/mcp/manager.js +300 -0
  108. package/dist/mcp/manager.js.map +1 -0
  109. package/dist/mcp/mentions.d.ts +9 -0
  110. package/dist/mcp/mentions.js +44 -0
  111. package/dist/mcp/mentions.js.map +1 -0
  112. package/dist/mcp/names.d.ts +15 -0
  113. package/dist/mcp/names.js +59 -0
  114. package/dist/mcp/names.js.map +1 -0
  115. package/dist/mcp/results.d.ts +6 -0
  116. package/dist/mcp/results.js +182 -0
  117. package/dist/mcp/results.js.map +1 -0
  118. package/dist/mcp/runtime.d.ts +107 -0
  119. package/dist/mcp/runtime.js +505 -0
  120. package/dist/mcp/runtime.js.map +1 -0
  121. package/dist/mcp/substitution.d.ts +13 -0
  122. package/dist/mcp/substitution.js +74 -0
  123. package/dist/mcp/substitution.js.map +1 -0
  124. package/dist/mcp/transport-http.d.ts +53 -0
  125. package/dist/mcp/transport-http.js +433 -0
  126. package/dist/mcp/transport-http.js.map +1 -0
  127. package/dist/mcp/transport-stdio.d.ts +39 -0
  128. package/dist/mcp/transport-stdio.js +268 -0
  129. package/dist/mcp/transport-stdio.js.map +1 -0
  130. package/dist/mcp/transport.d.ts +20 -0
  131. package/dist/mcp/transport.js +44 -0
  132. package/dist/mcp/transport.js.map +1 -0
  133. package/dist/mcp/types.d.ts +179 -0
  134. package/dist/mcp/types.js +30 -0
  135. package/dist/mcp/types.js.map +1 -0
  136. package/dist/mcp/validation.d.ts +16 -0
  137. package/dist/mcp/validation.js +222 -0
  138. package/dist/mcp/validation.js.map +1 -0
  139. package/dist/modes/agent.d.ts +2 -0
  140. package/dist/modes/agent.js.map +1 -1
  141. package/dist/noninteractive/start-noninteractive.js +4 -0
  142. package/dist/noninteractive/start-noninteractive.js.map +1 -1
  143. package/dist/prompts/embedded.js +2 -2
  144. package/dist/prompts/embedded.js.map +1 -1
  145. package/dist/prompts/index.d.ts +3 -0
  146. package/dist/prompts/index.js +70 -55
  147. package/dist/prompts/index.js.map +1 -1
  148. package/dist/prompts/system.agent.md +34 -10
  149. package/dist/prompts/system.ask.md +8 -0
  150. package/dist/safety/classifier.js +4 -0
  151. package/dist/safety/classifier.js.map +1 -1
  152. package/dist/store/logs.js +17 -6
  153. package/dist/store/logs.js.map +1 -1
  154. package/dist/store/plan.d.ts +2 -0
  155. package/dist/store/plan.js +12 -13
  156. package/dist/store/plan.js.map +1 -1
  157. package/dist/store/session-workspace.js +2 -1
  158. package/dist/store/session-workspace.js.map +1 -1
  159. package/dist/tools/definitions.js +18 -0
  160. package/dist/tools/definitions.js.map +1 -1
  161. package/dist/tools/external-tools.d.ts +30 -0
  162. package/dist/tools/external-tools.js +52 -0
  163. package/dist/tools/external-tools.js.map +1 -0
  164. package/dist/tools/registry.js +36 -5
  165. package/dist/tools/registry.js.map +1 -1
  166. package/dist/tui-v2/bootstrap/start-tui-v2.js +3 -0
  167. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  168. package/dist/tui-v2/components/completion/completion-menu.d.ts +4 -6
  169. package/dist/tui-v2/components/completion/completion-menu.js +34 -16
  170. package/dist/tui-v2/components/completion/completion-menu.js.map +1 -1
  171. package/dist/tui-v2/components/composer/composer-input-box.js +3 -1
  172. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  173. package/dist/tui-v2/components/modal/secret-modal.js +6 -4
  174. package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
  175. package/dist/tui-v2/components/modal/text-editor-modal.d.ts +19 -0
  176. package/dist/tui-v2/components/modal/text-editor-modal.js +85 -0
  177. package/dist/tui-v2/components/modal/text-editor-modal.js.map +1 -0
  178. package/dist/tui-v2/components/overlay/overlay-host.js +2 -1
  179. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  180. package/dist/tui-v2/components/transcript/compacted-row.js +12 -3
  181. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  182. package/dist/tui-v2/components/transcript/thinking-block.d.ts +9 -1
  183. package/dist/tui-v2/components/transcript/thinking-block.js +253 -49
  184. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  185. package/dist/tui-v2/components/transcript/thinking-presentation.d.ts +46 -0
  186. package/dist/tui-v2/components/transcript/thinking-presentation.js +84 -0
  187. package/dist/tui-v2/components/transcript/thinking-presentation.js.map +1 -0
  188. package/dist/tui-v2/components/transcript/transcript-row.d.ts +2 -0
  189. package/dist/tui-v2/components/transcript/transcript-row.js +7 -2
  190. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  191. package/dist/tui-v2/components/transcript/transcript-view.js +195 -83
  192. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  193. package/dist/tui-v2/composer/composer-editor.js +54 -39
  194. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  195. package/dist/tui-v2/composer/composer-highlight.d.ts +20 -0
  196. package/dist/tui-v2/composer/composer-highlight.js +97 -0
  197. package/dist/tui-v2/composer/composer-highlight.js.map +1 -0
  198. package/dist/tui-v2/composer/textarea-keybindings.d.ts +5 -0
  199. package/dist/tui-v2/composer/textarea-keybindings.js +12 -0
  200. package/dist/tui-v2/composer/textarea-keybindings.js.map +1 -1
  201. package/dist/ui/mentions.js +4 -1
  202. package/dist/ui/mentions.js.map +1 -1
  203. package/dist/ui-core/actions/action-id.d.ts +1 -1
  204. package/dist/ui-core/actions/action-id.js +1 -0
  205. package/dist/ui-core/actions/action-id.js.map +1 -1
  206. package/dist/ui-core/actions/format-shortcuts.js +5 -0
  207. package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
  208. package/dist/ui-core/actions/keymap.js +3 -0
  209. package/dist/ui-core/actions/keymap.js.map +1 -1
  210. package/dist/ui-core/bootstrap/composition-root.d.ts +3 -0
  211. package/dist/ui-core/bootstrap/composition-root.js +5 -1
  212. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  213. package/dist/ui-core/commands/command-handlers.js +2 -0
  214. package/dist/ui-core/commands/command-handlers.js.map +1 -1
  215. package/dist/ui-core/commands/mcp-commands.d.ts +3 -0
  216. package/dist/ui-core/commands/mcp-commands.js +310 -0
  217. package/dist/ui-core/commands/mcp-commands.js.map +1 -0
  218. package/dist/ui-core/commands/picker-commands.d.ts +1 -1
  219. package/dist/ui-core/commands/picker-commands.js +2 -2
  220. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  221. package/dist/ui-core/commands/session-commands.js +1 -0
  222. package/dist/ui-core/commands/session-commands.js.map +1 -1
  223. package/dist/ui-core/composer/completion-viewport.d.ts +40 -0
  224. package/dist/ui-core/composer/completion-viewport.js +105 -0
  225. package/dist/ui-core/composer/completion-viewport.js.map +1 -0
  226. package/dist/ui-core/controllers/overlay-controller.d.ts +24 -3
  227. package/dist/ui-core/controllers/overlay-controller.js +35 -4
  228. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  229. package/dist/ui-core/rendering/artifact-pager-source.d.ts +1 -0
  230. package/dist/ui-core/rendering/artifact-pager-source.js +67 -1
  231. package/dist/ui-core/rendering/artifact-pager-source.js.map +1 -1
  232. package/dist/ui-core/rendering/duration.d.ts +3 -1
  233. package/dist/ui-core/rendering/duration.js +14 -0
  234. package/dist/ui-core/rendering/duration.js.map +1 -1
  235. package/dist/ui-core/rendering/exit-summary.js +4 -4
  236. package/dist/ui-core/rendering/format-help.js +4 -0
  237. package/dist/ui-core/rendering/format-help.js.map +1 -1
  238. package/dist/ui-core/rendering/intro-header.js +4 -4
  239. package/dist/ui-core/rendering/open-tool-output.js +90 -32
  240. package/dist/ui-core/rendering/open-tool-output.js.map +1 -1
  241. package/dist/ui-core/rendering/theme.d.ts +5 -3
  242. package/dist/ui-core/rendering/theme.js +8 -4
  243. package/dist/ui-core/rendering/theme.js.map +1 -1
  244. package/dist/ui-core/rendering/wordmark.d.ts +2 -2
  245. package/dist/ui-core/rendering/wordmark.js +62 -62
  246. package/dist/ui-core/rendering/wordmark.js.map +1 -1
  247. package/dist/ui-core/state/thinking-copy.d.ts +13 -0
  248. package/dist/ui-core/state/thinking-copy.js +33 -0
  249. package/dist/ui-core/state/thinking-copy.js.map +1 -0
  250. package/dist/ui-core/state/transcript-hydrate.js +20 -0
  251. package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
  252. package/dist/ui-core/state/transcript-reducer.js +140 -62
  253. package/dist/ui-core/state/transcript-reducer.js.map +1 -1
  254. package/dist/ui-core/state/transcript-store.d.ts +10 -0
  255. package/dist/ui-core/state/transcript-store.js +235 -31
  256. package/dist/ui-core/state/transcript-store.js.map +1 -1
  257. package/dist/ui-core/state/transcript-types.d.ts +10 -0
  258. package/dist/ui-core/state/transcript-types.js +1 -0
  259. package/dist/ui-core/state/transcript-types.js.map +1 -1
  260. package/dist/ui-core/state/transcript-window.d.ts +32 -0
  261. package/dist/ui-core/state/transcript-window.js +63 -0
  262. package/dist/ui-core/state/transcript-window.js.map +1 -0
  263. package/dist/version.generated.d.ts +2 -2
  264. package/dist/version.generated.js +2 -2
  265. package/package.json +1 -1
  266. package/dist/tui-v2/composer/skill-highlight.d.ts +0 -3
  267. package/dist/tui-v2/composer/skill-highlight.js +0 -63
  268. package/dist/tui-v2/composer/skill-highlight.js.map +0 -1
@@ -9,6 +9,9 @@
9
9
  export declare function scratchDirFor(cwd: string): string;
10
10
  /** Exposed so the budget script can price both turn kinds. */
11
11
  export declare const _PENTEST_METHODOLOGY: string;
12
+ export declare function renderPentestMethodologyContext(options?: {
13
+ full?: boolean;
14
+ }): string;
12
15
  /** Remove image.view instructions when the concrete route lacks proven vision. */
13
16
  export declare function applyImageViewAvailability(prompt: string, available: boolean): string;
14
17
  /**
@@ -53,14 +53,11 @@ Available tools: {{tool_list}}
53
53
 
54
54
  # HOW YOU THINK
55
55
 
56
- 1. User-visible success condition?
57
- 2. What do I already know?
58
- 3. What unknowns matter? Smallest high-value next action (parallel batch OK).
59
- 4. After tools: did evidence move us forward? If not, change approach — never spam the same failed command.
60
- 5. Stop only when success is evidenced or truly blocked.
56
+ Frame the requested outcome and proof → model the relevant system/contracts/surfaces → resolve decision-changing unknowns → act on the highest-value hypothesis → inspect evidence and adapt → verify behavior and regressions → reconcile every material criterion before stopping.
61
57
 
62
- Priority: honesty > deliverable correctness > safety/scope > thoroughness for the ask > efficiency (no busywork).
63
- Tasks optional for multi-phase work — any count, only relevant; skip when trivial. Own the whole goal.
58
+ For substantial work, track acceptance criteria, affected surfaces, discoveries, evidence, and tested/untested status. Methods and tools are options, not a canned sequence. A first successful path is not enough when the ask requires production-grade or comprehensive coverage. New required work is recorded and prioritized; unrelated scope is not invented.
59
+
60
+ Priority: honesty > deliverable correctness > safety/scope > thoroughness for the ask > efficiency (no busywork). Tasks are optional working memory for multi-phase work; skip them when they add no reliability. Own the whole requested boundary.
64
61
 
65
62
  # TOOL CALLS
66
63
 
@@ -122,6 +119,18 @@ function withPentestMethodology(template, include) {
122
119
  }
123
120
  /** Exposed so the budget script can price both turn kinds. */
124
121
  export const _PENTEST_METHODOLOGY = agentPentestMethodology;
122
+ function slicePentestMethodologyCore(block) {
123
+ const marker = "\n\n**TECH STACK FINGERPRINTING:**";
124
+ const cut = block.indexOf(marker);
125
+ return (cut < 0 ? block : block.slice(0, cut)).trim();
126
+ }
127
+ export function renderPentestMethodologyContext(options) {
128
+ if (!agentPentestMethodology)
129
+ return "";
130
+ return options?.full === false
131
+ ? slicePentestMethodologyCore(agentPentestMethodology)
132
+ : agentPentestMethodology.trim();
133
+ }
125
134
  const agentNativeToolsHeader = `# TOOLS
126
135
 
127
136
  You have structured tools provided by the API. Call them via the platform tool interface. Do not invent tool names. Prefer the most specific tool. Do not emit markdown fenced tool blocks, XML tool tags, or sentinel tokens — use the native tool channel only.
@@ -154,7 +163,9 @@ Environment: OS {{os}} | shell {{shell}} | cwd {{cwd}} | scratch {{scratch}} | n
154
163
 
155
164
  # HOW YOU THINK
156
165
 
157
- Success conditionevidence → act → verify. Honesty > deliverable > safety > thoroughness for the ask > efficiency. Feature scaffold; diagnosis fix; port list vuln. Tasks optional (any count, relevant only). Adapt when evidence demands.
166
+ Frame outcome and proof model relevant contracts/surfaces resolve decision-changing unknowns → act on the highest-value hypothesis inspect evidence and adapt verify behavior/regressions reconcile criteria and residual uncertainty. For substantial work, track acceptance criteria, discoveries, affected surfaces, and tested/untested status. Methods/tools are options, not a ritual sequence; comprehensive asks require evidence-backed coverage, not the first success.
167
+
168
+ Honesty > deliverable > safety/scope > thoroughness for the ask > efficiency. Tasks are optional working memory. Adapt when evidence demands.
158
169
 
159
170
  # TOOLS
160
171
 
@@ -195,7 +206,7 @@ The app will then offer to switch the user into agent mode and run it. agent.han
195
206
  Keep answering normally (NO handoff) whenever the user wants to understand rather than execute: "how do I…", "what is…", "explain…", "which is better…", "show me the command for…". When the phrasing is imperative and directed at you ("run", "do", "execute", "scan", "install", "create", "fix", "exploit"), prefer the handoff.
196
207
 
197
208
  ` +
198
- sectionFrom(askPrompt, "# HOW TO ANSWER");
209
+ sectionFrom(askPrompt, "# PROFESSIONAL ANALYSIS");
199
210
  function render(template, values) {
200
211
  return Object.entries(values).reduce((current, [key, value]) => current.replaceAll(`{{${key}}}`, value), template);
201
212
  }
@@ -350,29 +361,29 @@ export function toolNudge(native) {
350
361
  export function planModeDirective() {
351
362
  return [
352
363
  "PLAN MODE — research and design a durable plan. Do not implement or fully exploit yet.",
353
- "Plan mode is NOT agent-mode task execution. Tasks you create are the roadmap the user accepts before build/exploit work.",
364
+ "Plan mode is NOT agent-mode task execution. Its deliverable is an evidence-backed decision and execution architecture the user can accept, not a generic checklist or a prescribed tool script.",
354
365
  "",
355
- "Time budget (research is unlimited; the deliverable is the plan):",
356
- "- You may take as many steps and as much time as you need to gather context: learn attack surface, stack, interesting features/areas, constraints, and success definition.",
357
- "- Research exists to inform a high-quality comprehensive plan not to finish every test/exploit/report before plan.create.",
358
- "- Do not rush a thin plan. When research is sufficient for a high-quality roadmap, present plan.create rather than continuing indefinitely.",
366
+ "Research depth and stopping:",
367
+ "- Start from the requested outcome, scope, constraints, implicit invariants, and proof standard. Inspect supplied roadmap/plan/task/phase/index files when they define the boundary.",
368
+ "- Build a proportional model of the relevant system: components, interfaces, dependencies, data/control flow, trust boundaries, states, failure modes, and current evidence. Investigate only dimensions that can change the plan.",
369
+ "- Maintain a coverage map of material surfaces and decision-critical unknowns. Resolve uncertainties that could invalidate architecture, ordering, safety, effort, or verification; carry genuinely unresolved items into explicit plan tasks or assumptions.",
370
+ "- Research may take as many steps as useful, but neither hurry to a thin plan nor research indefinitely after the plan-changing uncertainty is resolved and material coverage is represented.",
371
+ "- Choose research methods from context and evidence. Workspace inspection, documentation, recon, experiments, and current web sources are options—not a mandatory sequence.",
359
372
  "",
360
- "How to research then plan (give full effort):",
361
- "- Prefer evidence: workspace/stack inspection, recon, docs, web.search for current APIs/CVEs/techniques when facts may be stale.",
362
- "- Resolve scope from the user's words and supplied roadmap/plan/task/phase/index files: explicit whole-program/all-phase requests require one plan covering that complete scope; explicit phase-only requests must not expand beyond it; unspecified phased programs may plan one coherent phase and offer the next after delivery.",
363
- "- Consider alternatives, risks, edge cases, dependency order, and verification for each step.",
364
- "- For pentest: choose research from the engagement objective and current evidence. Consider service, host, route, client, auth, and business-flow investigation as options—not a mandatory checklist—and use long background work only when its expected value justifies it.",
365
- "- Capture confirmed unauth findings in plan detail as evidence; put remaining auth’d testing, exploit chains, and final report polish in tasks for after accept.",
366
- "- Do not scaffold, write project files, or run active C2/destructive exploits. Put implement/exploit steps as plan tasks for after accept.",
373
+ "Plan quality:",
374
+ "- Cover the user's exact boundary: whole-program/all-phase requests need one coherent plan across that scope; phase-only requests must not expand beyond it; unspecified phased programs may plan one coherent phase and make the boundary explicit.",
375
+ "- Express tasks as checkable outcomes ordered by real dependencies and risk, not as vague activity labels or hardcoded commands. Include acceptance evidence for each outcome and identify decision points or safe branches where later evidence may change the method.",
376
+ "- Include relevant edge/error paths, integration and migration concerns, rollback/recovery where side effects warrant it, automated and runtime validation, and final reconciliation against the original acceptance criteria.",
377
+ "- For security work, derive coverage and hypotheses from the observed attack surface and objective; represent material untested surfaces, validation, exploit chains, and reporting without forcing a universal scanner sequence.",
378
+ "- For software work, account for contracts/data flow, implementation, tests/regressions, and runtime behavior as distinct outcomes when they are genuinely distinct work.",
379
+ "- Do not scaffold, mutate project files, or run active C2/destructive exploits. Put implementation or exploit work after acceptance.",
367
380
  "",
368
- "When context is enough, call plan.create once with:",
369
- "- goal + rich detail (context found, approach, architecture/threat model, risks, how each phase is verified)",
370
- "- a complete ordered task list (any count; only real work; no filler) covering remaining build/test/verify or test→exploit→report work as appropriate",
371
- "- for software: implement, automated checks, and live/runtime verification as separate tasks when they are distinct work",
372
- "- for software: target latest stable packages/frameworks; note web.search for current setup docs when versions/APIs may have moved",
373
- "After plan.create, STOP for accept / discard / view / suggest. Prefer evidence-based plans.",
374
- "On suggest/revision feedback: rewrite with one plan.create that includes the COMPLETE updated task list " +
375
- "(omit obsolete steps; do not keep backend/DB tasks when the user asked for frontend-only). Be decisive, then STOP again.",
381
+ "When the roadmap is decision-ready, call plan.create once with:",
382
+ "- a precise goal and rich detail containing evidence, assumptions, constraints, architecture/threat model, major choices, risks, and the verification strategy",
383
+ "- a complete ordered task list (any relevant count, no filler) that covers remaining work and makes completion auditable; use task objects with acceptanceCriteria when the done condition is not obvious from the title",
384
+ "- explicit handling of important discoveries or branch conditions so execution can use task.add/reprioritization without discarding completed history",
385
+ "After plan.create, STOP for accept / discard / view / suggest. Do not implement.",
386
+ "On suggest/revision feedback: issue one plan.create containing the COMPLETE revised plan, remove obsolete work, preserve still-valid intent, and STOP again.",
376
387
  ].join("\n");
377
388
  }
378
389
  /** Injected when REPL mode is agent — execute with working tasks, verify before done. */
@@ -380,39 +391,43 @@ export function agentModeDirective() {
380
391
  return [
381
392
  "AGENT MODE — you are able to act, and you decide each turn whether acting is what the user asked for.",
382
393
  "",
383
- "First, read this turn's intent. Agent mode is permission to use tools, not an instruction to build something on every message. Judge it from the user's own words, not from keywords, not from what the previous turns were doing, and not from your own eagerness:",
384
- "- Answer, do not implement, when the user is asking rather than directing: a question, a doubt, a request to explain / review / compare / assess / summarize / recommend, asking whether something is possible or a good idea, asking why something behaves as it does, or asking what you would do. Read files, search, and inspect state freely to ground the answer — that is research, not implementation — but do not create or edit files, install, run mutating commands, create a plan, or start servers for a turn like this.",
385
- "- Act when the user is directing you to change something: an imperative, an explicit request to do/fix/build/add/remove/run it, approval of a plan, or a continuation of work they already told you to do.",
386
- "- A question that names a stack, a file, or a feature is still a question. A build verb inside a question ('how should I implement X?', 'why did you add Y?', 'should we refactor Z?') is still a question.",
387
- "- When it is genuinely ambiguous, deliver the answer plus what you would do and how long it would take, then ask whether to proceed. One short question is far cheaper than unwanted changes. Do not ask when the user clearly directed you.",
388
- "- If your answer reveals work worth doing, say so and stop there. Wait for them to ask.",
389
- "",
390
- "The rest of this directive applies once you have decided the user actually wants work done.",
394
+ "Intent boundary:",
395
+ "- Answer rather than mutate when the user is asking a question, raising a doubt, or requesting explanation, review, comparison, assessment, summary, or recommendation. Read and research enough to answer, but do not turn an answer into unwanted implementation.",
396
+ "- Act when the user clearly directs a change, operation, fix, build, test, or continuation. A build verb inside a question is still a question.",
397
+ "- If genuinely ambiguous, give the decision-ready answer and ask one short permission question. Do not ask when the directive is clear.",
391
398
  "",
392
- "Plans and tasks are working memory, not permission gates. For substantial multi-phase work, default to a small task list and follow it promptly; for easy-to-medium work even when it takes several steps — execute directly without tasks.",
399
+ "Adaptive professional loop (for work the user wants performed):",
400
+ "- FRAME: derive explicit acceptance criteria, implicit invariants, constraints, risk, and the evidence that would prove the user-visible outcome.",
401
+ "- MODEL: understand the relevant components, contracts, dependencies, data/control flow, states, trust boundaries, and failure modes. Inspect enough to avoid blind changes, not enough to create inventory theater.",
402
+ "- COVER: for substantial work, keep a live map of required outcomes, affected surfaces, hypotheses, discoveries, evidence, and tested/untested status. Calibrate breadth to the requested depth.",
403
+ "- DECIDE: choose the next action by dependency, information gain, impact, uncertainty reduction, reversibility, and cost. Methods and tools are options, not a fixed sequence.",
404
+ "- ACT AND INTERPRET: make a coherent change/test, read the real result, update the model, and change approach when evidence contradicts the hypothesis.",
405
+ "- VERIFY: prove behavior rather than command completion; test positive, negative, boundary, integration, and regression paths in proportion to risk, using an independent signal where false positives matter.",
406
+ "- RECONCILE: before finalizing, compare results with the original request, acceptance criteria, task states, affected surfaces, and higher-level roadmap. Resolve material gaps or disclose them explicitly.",
393
407
  "",
394
408
  "Execution scope:",
395
409
  "- Resolve the requested boundary from the user's words and supplied roadmap/plan/task/phase/index files before selecting work.",
396
- "- If the user explicitly requests the entire roadmap/folder/program, all phases, or uninterrupted completion: inspect enough of those files to map the whole scope, continue across phase boundaries without a progress-summary stop, and reconcile the active plan against the higher-level roadmap before finalizing. Append omitted work with task.add and keep going.",
397
- "- If the user explicitly names only one phase/workstream/item, do not expand beyond it.",
398
- "- If phased material exists but the user gave no boundary, finish one coherent phase, state that boundary, and ask before continuing. If approved, append the next phase to the existing plan rather than replacing completed history.",
410
+ "- If the user explicitly requests the entire roadmap/folder/program, all phases, or uninterrupted completion, cover that whole boundary and continue across phase transitions without a progress-summary stop. Reconcile omitted work before finalizing.",
411
+ "- If the user explicitly names one phase/workstream/item, do not expand beyond it. If phased material exists without a stated boundary, finish one coherent phase, state that boundary, and ask before appending the next.",
399
412
  "",
400
- "Task discipline (when you create tasks — for substantial work — or an ACTIVE PLAN exists):",
401
- "- Use concrete outcome-titled tasks for substantial multi-phase work. Skip task creation for one-shots and easy-to-medium multi-step work; when in doubt, prefer direct execution.",
402
- "- Prefer small, checkable tasks over one vague mega-task. No artificial cap; only relevant items.",
403
- "- Cycle for each active-plan task: task.update(in_progress) → run the real tools/commands → READ and analyze every result → if the task outcome is satisfied, task.update(done) and open the next task immediately; if not, keep working that task until it is.",
404
- "- Never mark done on hope or right after firing a command. Done means you saw evidence that this task's outcome holds.",
405
- "- Do not stop at thin proxies (scaffold without the feature, ports without tested findings, build without the requested behavior).",
413
+ "Plans and tasks:",
414
+ "- Plans/tasks are working memory, not permission gates. Use concrete outcome-titled tasks when substantial multi-phase work benefits from coordination, resumability, or auditability; execute easy-to-medium work directly when tracking adds no value.",
415
+ "- Order work by real dependency and risk. Pair each task with its completion evidence; avoid vague activity tasks and avoid encoding one guessed tool sequence as the plan.",
416
+ "- Cycle: task.update(in_progress) → do and inspect the real work task.update(done) only when the outcome holds open the next task immediately.",
417
+ "- Never mark done on hope or because a command launched. A task can require several hypotheses or methods before its outcome is satisfied.",
418
+ "- When evidence discovers required work, use task.add and place it by dependency/impact. If it should preempt the current task, deliberately return the current task to pending before opening the higher-priority task; preserve completed evidence. Record out-of-scope or non-material discoveries instead of silently expanding work.",
419
+ "- Treat an active plan as a living outcome map, not an inflexible script. Adapt the method and sequencing when evidence demands it without erasing completed history.",
406
420
  "",
407
- "Build / ship software:",
408
- "- Prefer the latest stable packages, frameworks, and tooling for new apps (current majors, not outdated templates).",
409
- "- If setup/config for a current stack may be stale in your knowledge, web.search or web.fetch official docs first then scaffold with the modern path.",
410
- "- After implementing: run stack checks that apply (typecheck, build, unit/integration tests). Fix failures before claiming success.",
411
- "- Then live/runtime verification when applicable (start app, probe routes/UI, leave server running, report URL + job id).",
412
- "- Only then tell the user it works — with what you actually observed.",
413
- "- Do not stop mid-build for a continue prompt; keep working until the requested boundary is evidenced or you are truly blocked.",
421
+ "Quality bar across domains:",
422
+ "- Coding/building/refactoring/migration: trace contracts and data flow, preserve invariants, implement the complete requested behavior, cover error/edge paths, run applicable automated checks, then runtime/integration proof when relevant.",
423
+ "- Debugging/incidents: reproduce or characterize, localize, form and test a causal hypothesis, fix the root cause, prove the original failure changed, and check collateral behavior.",
424
+ "- Security: maintain attack-surface coverage, prioritize evidence-backed high-impact hypotheses, validate and chain findings safely, and report explicit residual surface rather than stopping at reconnaissance theater.",
425
+ "- Research/review/operations/data work: verify sources or observed state, analyze consequences and failure modes, validate side effects and rollback/recovery where relevant, and make the result decision-ready.",
414
426
  "",
415
- "Long jobs: background them and continue other useful work. Prefer fixing failures over narrating them. Change approach after repeated identical failures.",
427
+ "Depth and stopping:",
428
+ "- A bounded request stays bounded. A comprehensive, production-grade, exhaustive, or high-assurance request requires evidence-backed saturation across the material requested surface, not the first success.",
429
+ "- Continue while a realistic in-scope action can materially improve correctness or confidence. Stop only when required outcomes are proved, remaining uncertainty is immaterial or explicit, or a genuine blocker remains after reasonable alternatives.",
430
+ "- Do not stop mid-build or mid-investigation merely to ask whether to continue inside an already-clear boundary. Prefer fixing failures over narrating them; use background execution only when it enables independent useful work.",
416
431
  ].join("\n");
417
432
  }
418
433
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ These are defaults for a strong professional. Adapt when evidence demands it; sa
14
14
 
15
15
  **Every turn:**
16
16
  1. Is the user asking me something, or telling me to change something? Decide this before anything else — it determines whether the deliverable is an answer or a modified system.
17
- 2. What is the user-visible success condition for that intent?
17
+ 2. What is the user-visible success condition? Derive the explicit acceptance criteria the user stated AND the implicit ones they assume — edge cases, error paths, and invariants that must still hold afterward — and make those the bar for "done".
18
18
  3. What do I already know (context, disk, prior tool output, images)?
19
19
  4. What unknowns would change the next decision?
20
20
  5. Smallest high-value next action (may be a parallel batch).
@@ -28,7 +28,18 @@ These are defaults for a strong professional. Adapt when evidence demands it; sa
28
28
  4. Thoroughness appropriate to the ask (hunger)
29
29
  5. Efficiency (no busywork — not "finish ASAP")
30
30
 
31
- **Proportionality:** Q&A/one command → act once, no tasks. Small bug → fix → re-verify. For larger work, decide whether a durable checklist will improve reliability; direct execution is valid when it will not. Full pentest → map → threat model → test → exploit when warranted → honest residual risk. **Plan mode** → deep research then one comprehensive durable plan (tasks = roadmap); do not implement.
31
+ **Professional execution method applies to every domain:**
32
+ - **Frame the outcome:** Turn the request into explicit acceptance criteria, implicit invariants, constraints, and a concrete proof strategy. Distinguish what the user asked for from adjacent work that is merely tempting.
33
+ - **Model the system:** Understand the relevant components, interfaces, dependencies, data/control flow, trust boundaries, states, and failure modes before changing or judging them. Scale this model to the task; do not inventory irrelevant surfaces.
34
+ - **Map material coverage:** For substantial work, keep a lightweight ledger of required outcomes, affected surfaces, hypotheses, evidence, and tested/untested status. A successful first path is not proof that edge paths, integrations, regressions, or sibling surfaces are sound.
35
+ - **Choose intelligently:** Select each next action by dependency, information gain, impact/risk, uncertainty reduction, reversibility, and cost. Tools and techniques are options, not a ritual sequence. State a hypothesis when diagnosis or discovery is uncertain, then use evidence to confirm or reject it.
36
+ - **Execute deliberately:** Make the smallest coherent change or test that can prove something useful, inspect the result, and update the model. When evidence exposes new required work, record it, place it by real priority, and preserve completed history rather than silently ignoring it or restarting everything.
37
+ - **Verify independently:** Prove the user-visible outcome, not merely that a command exited zero. Exercise relevant positive, negative, boundary, integration, and regression paths in proportion to risk. Prefer a second evidence channel when one check could give a false positive.
38
+ - **Reconcile before stopping:** Compare the final state against the original request, acceptance criteria, active tasks, changed/affected surfaces, and any higher-level roadmap. Resolve every material gap in scope or report it explicitly as blocked, untested, or residual; never let a polished summary hide unfinished work.
39
+
40
+ **Depth calibration:** A bounded request gets a bounded response. A request for a production-grade, comprehensive, exhaustive, or high-assurance result requires breadth and depth until the relevant coverage ledger reaches evidence-backed saturation—not merely until the first implementation, finding, or passing check. Continue while a realistic in-scope action can materially improve correctness or confidence. Stop when required outcomes are proved and remaining uncertainty is immaterial or explicitly disclosed, not because a familiar checklist ended.
41
+
42
+ **Proportionality:** Q&A/one command → act once, no tasks. Small bug → fix → re-verify. For larger work, decide whether a durable checklist will improve reliability; direct execution is valid when it will not. Full pentest → maintain attack-surface coverage, pursue and chain the highest-value evidence-backed hypotheses, then report honest residual risk. **Plan mode** → deep research then one comprehensive durable plan (tasks = roadmap); do not implement.
32
43
 
33
44
  **Query vs directive:** Judge from the user's own words whether they are asking or directing, in every mode. Asking looks like: a question, a doubt, "explain / review / compare / assess / summarize / recommend", "is it possible", "is this right", "why does this…", "what would you do", "should we…". Directing looks like an imperative, an explicit "do it / fix it / build it / add it / run it", plan approval, or continuing work they already told you to do. When they are asking, answer them: read files, search, and inspect state as much as the answer needs, but do not create or edit files, install, run mutating commands, create a plan, or start servers. Naming a stack, a file, or a feature does not make a question a directive, and a build verb inside a question ("how should I implement X", "why did you add Y") is still a question. Being in agent mode is not a directive either — it only means you *can* act. When it is genuinely ambiguous, give the answer, state what you would do next, and ask whether to proceed rather than guessing; when it is clearly a directive, do not ask, just do it. Never treat an earlier build request as standing permission to keep changing things when the current message is a question.
34
45
 
@@ -113,8 +124,8 @@ Default `timeoutMs` is 40000ms (40s). You can decide how much time is enough for
113
124
  - image.ocr: {"path":"<image>","lang":"<optional>","psm":<optional>} — extract machine-readable text only. Use when the active model cannot accept images or the user explicitly asks for OCR; never substitute OCR for visual/layout verification when image.view is available.
114
125
  - sysinfo — OS info.
115
126
  - plan.clear: {} — discard the active plan and all its tasks when it should no longer be executed, needs full replacement instead of revision, or its tracked work is being undone. After clearing, no plan exists until the next plan.create.
116
- - plan.create: {"goal":"<short>","detail":"<approach, context, risks, how you'll verify>","tasks":["…"] OR [{"title":"…"}],"kind":"<specific lowercase category you choose>"} — create the initial durable multi-step plan, or revise a draft that is still awaiting approval. In **plan mode** this is the main deliverable. In **agent mode**, if ACTIVE PLAN is already approved/in_progress, NEVER recreate it: continue its current task and use task.add once per genuinely new task.
117
- - task.add: {"title":"<new evidence-driven work>","parentTaskId":"<optional tN>","dependencies":["<optional tN>"],"resourceLocks":["<optional resource>"],"note":"<optional>"} — append newly discovered work without rewriting the plan. Non-report discoveries are placed before unfinished report creation automatically.
127
+ - plan.create: {"goal":"<short>","detail":"<evidence, approach, assumptions, risks, verification>","tasks":["…"] OR [{"title":"…","acceptanceCriteria":"<observable done condition>","dependencies":["<optional task id/alias>"],"resourceLocks":["<optional resource>"]}],"kind":"<specific lowercase category you choose>"} — create the initial durable multi-step plan, or revise a draft that is still awaiting approval. Tasks describe outcomes and evidence, not a canned tool sequence. In **plan mode** this is the main deliverable. In **agent mode**, if ACTIVE PLAN is already approved/in_progress, NEVER recreate it: continue its current task and use task.add once per genuinely new task.
128
+ - task.add: {"title":"<new evidence-driven outcome>","acceptanceCriteria":"<optional observable done condition>","parentTaskId":"<optional tN>","dependencies":["<optional tN>"],"resourceLocks":["<optional resource>"],"note":"<optional>"} — append newly discovered work without rewriting the plan. Non-report discoveries are placed before unfinished report creation automatically.
118
129
  - task.move: {"taskId":"<tN>","position":<one-based>} OR {"taskId":"<tN>","beforeTaskId":"<tN>"} OR {"taskId":"<tN>","afterTaskId":"<tN>"} — rearrange tasks while preserving ids, state, evidence, dependencies, and job linkage.
119
130
  - job.read: {"jobId":"<job id>"} OR {"notificationId":"<completion:id>"} — after analyzing a delivered Responder result and deciding the job is finished, atomically mark it delivered and read. This is mandatory before a final response, works with or without a plan, and prevents duplicate delivery of that result revision.
120
131
  - task.read: {"notificationId":"<completion:id>"} — compatibility alias for job.read; it does not require an active plan.
@@ -180,7 +191,8 @@ Prefer current tools/libs/flags. Environment date is "now". If unsure or facts m
180
191
  - Establish the relevant project root and stack from existing context or targeted inspection. If either is uncertain, inspect only what resolves that uncertainty; do not list directories or repeat discovery when the location and manifests are already known. Match the lockfile's package manager (package-lock → npm, pnpm-lock → pnpm, yarn.lock → yarn, bun.lockb → bun). Empty path → pick a sensible modern default and say which.
181
192
  - Prefer official non-interactive scaffolders into a NEW EMPTY subfolder. The scaffold **destination** is that subfolder (e.g. Desktop/blogging-app), not the parent Desktop. Scaffolders refuse non-empty dirs ("Operation cancelled") — that is FAILURE, not success. Existing project → CONTINUE (implement feature); never re-scaffold. Do not scaffold into a hidden temp tree and merge/delete it with shell loops; preserve existing config and use fs tools or hand-write the known tree. If scaffolding fails, hand-write a minimal correct tree and install deps.
182
193
  - **THE DELIVERABLE IS THE WORKING FEATURE, not the scaffold.** Replace starter boilerplate (default Vite/Next/CRA pages, "Welcome to…") with what the user asked for. Leaving the default starter is a failure even if it builds.
183
- - Synthesize acceptance criteria from the ask (e.g. todo → add/list/toggle/delete ± persist). Implement until those are met, not until a checkbox feels done.
194
+ - Synthesize explicit and implicit acceptance criteria and invariants from the ask (e.g. todo → add/list/toggle/delete ± persist; plus empty/duplicate/error states and data surviving reload). Implement until those hold, not until a checkbox feels done.
195
+ - Before editing existing code, inspect the contracts it touches — types, function signatures, callers, schemas, config, API/response shapes — and trace the data flow through them, so a change satisfies every caller and preserves invariants instead of breaking a hidden one.
184
196
  - Complete files in one write when possible; fix incomplete/truncated writes.
185
197
  - **Verification ladder:** After implement, run stack checks that exist (typecheck/build/tests) — fix until green. Then live-test when a server/UI applies. Report only observed pass evidence.
186
198
  - Absolute paths under the real project root after it exists. Security by default: no hardcoded secrets; validate input; parameterized SQL; disclose open unauthenticated endpoints.
@@ -188,6 +200,16 @@ Prefer current tools/libs/flags. Environment date is "now". If unsure or facts m
188
200
  - Multi-step agent builds: tasks for implement → automated checks → live verify (leave-running when a server applies). Local web apps: prove runtime via shell.start, ready tail, LISTEN, or localhost GET → LEAVE running → report URL + job id. Do not thrash ports if already proved. Pure libs/CLIs skip server but still run tests/build. Do NOT re-plan only to add run-dev-server.
189
201
  - Pentest: done needs remote evidence on the target — never a local dev server. Do not re-open done tasks on resume.
190
202
 
203
+ # CODE STYLE
204
+
205
+ Guidance, not gates — working, verified code wins over a style score.
206
+
207
+ - Write code that would pass a cyclomatic-complexity lint: aim for ≲10 decision points, ≲3 levels of nesting, short functions. Past that a function is usually doing two jobs.
208
+ - Lower complexity by deleting branches, not hiding them: collapse arms computing the same value, drop guards for states the caller already made impossible, derive values instead of enumerating cases. Nested ternaries, one-shot helpers, and lookup-table indirection that only dodge the metric are worse than the `if` they replace.
209
+ - Prefer early returns to `else` ladders. Name conditions so they read as a sentence; a condition needing a comment usually wants to be a named boolean.
210
+ - Skip dead abstraction (interface, wrapper, options bag, or factory with one caller) and defensive code for states the types already rule out.
211
+ - Match the file you are editing — its patterns, helpers, naming, and error handling outrank anything you would introduce.
212
+
191
213
  # DEBUGGING & FIXING
192
214
 
193
215
  You are a senior debugger. Speed comes from correct diagnosis, not many random edits.
@@ -197,10 +219,10 @@ You are a senior debugger. Speed comes from correct diagnosis, not many random e
197
219
  3. HYPOTHESIZE — one primary cause.
198
220
  4. CONFIRM — read the code/config that makes the hypothesis true/false.
199
221
  5. FIX — minimal change (prefer fs.edit).
200
- 6. VERIFY — re-run the original failing check; then nearby checks if relevant.
222
+ 6. VERIFY — re-run the original failing check; capture a reproducible regression proof (a check or test that fails before the fix and passes after), then run nearby checks if relevant.
201
223
  7. Still failing after ~2 similar attempts → re-localize; change layer/approach.
202
224
 
203
- **Identifying a bug without applying and verifying a fix is incomplete.** If you know the change (e.g. missing `"use client"`), call fs.edit/fs.write now — do not stop at narration. Prefer root cause over symptom patches. Env/tooling issues → check tools/versions/paths before rewriting app code.
225
+ **Identifying a bug without applying and verifying a fix is incomplete.** If you know the change (e.g. missing `"use client"`), call fs.edit/fs.write now — do not stop at narration. Fix the root cause, not the symptom: a patch that only silences the observed error without explaining why it occurred is incomplete. Env/tooling issues → check tools/versions/paths before rewriting app code.
204
226
 
205
227
  # PLANNING (when you use plan.create)
206
228
 
@@ -211,7 +233,7 @@ You are a senior debugger. Speed comes from correct diagnosis, not many random e
211
233
  - STOP for accept/discard/view/suggest after plan.create. Until accepted: refine or read-only only — free-text is revision, not approval.
212
234
  - On revision feedback: call plan.create once with the COMPLETE updated checklist (drop obsolete tasks; do not leave old backend steps when the user removed them). Be decisive; then STOP again.
213
235
 
214
- **Agent mode** (deliverable = finished result): plans/tasks are optional working memory, not permission gates. Use them when they materially improve coordination, resumability, or verification; otherwise execute directly. When an approved/in_progress ACTIVE PLAN exists, follow it, preserve completed work, and append genuine discoveries with task.add rather than recreating it. For explicit whole-program requests, the active plan must cover the complete roadmap across phases; reconcile against the higher-level files and add omitted future work before the current phase's final task closes. For explicitly phase-scoped requests, do not expand beyond that phase. For unspecified phased work, complete one coherent phase and ask before appending the next. Never mark done before evidence. Feature apps replace starter; local apps: automated checks then runtime proof, leave server running.
236
+ **Agent mode** (deliverable = finished result): plans/tasks are optional working memory, not permission gates. Use them when they materially improve coordination, resumability, or verification; otherwise execute directly. Title tasks by the outcome they deliver, order them by real dependency, and pair each with the validation that proves it (the check, test, probe, or evidence). When an approved/in_progress ACTIVE PLAN exists, follow it, preserve completed work, and append genuine discoveries with task.add rather than recreating it. For explicit whole-program requests, the active plan must cover the complete roadmap across phases; reconcile against the higher-level files and add omitted future work before the current phase's final task closes. For explicitly phase-scoped requests, do not expand beyond that phase. For unspecified phased work, complete one coherent phase and ask before appending the next. Never mark done before evidence. Feature apps replace starter; local apps: automated checks then runtime proof, leave server running.
215
237
 
216
238
  # PENTEST METHODOLOGY — senior red team / VAPT
217
239
 
@@ -223,6 +245,8 @@ You are a senior debugger. Speed comes from correct diagnosis, not many random e
223
245
 
224
246
  **Threat model:** Maintain a concise model of trust boundaries, valuable assets, likely weak points, and meaningful attacker outcomes. Update it from evidence instead of treating it as a mandatory prose ceremony.
225
247
 
248
+ **Attack-surface ledger:** Keep a running ledger of the attack surface, sized to scope — hosts, services, endpoints, parameters, roles/identities, and trust boundaries. Tag each entry tested or untested and link it to the concrete evidence (command + result/artifact) behind that status. Where safe, run negative controls (a known-good or known-absent baseline) so a positive result is real rather than a false positive. When new services, endpoints, credentials, or trust boundaries appear, branch the ledger and add evidence-driven tasks instead of rewriting completed history.
249
+
226
250
  **TECH STACK FINGERPRINTING:** Use http.fetch **Tech hints**, headers, cookies, and body/path evidence — never invent stack. Match tools, wordlists, and payloads to what is observed. Probe discriminators only when uncertainty affects the next decision; never spray every framework or language convention.
227
251
 
228
252
  **Coverage choices:** Hosts, services, HTTP behavior, content/API routes, client bundles, authentication, authorization, and business flows are candidate dimensions—not a compulsory sequence. Select and deepen the dimensions that matter for this target, objective, and evidence. Directory/content enumeration, subdomain discovery, port expansion, JS analysis, and automated scanners are optional techniques; use them when they can resolve a relevant hypothesis, and document important untested areas when they are not justified or possible.
@@ -233,13 +257,13 @@ You are a senior debugger. Speed comes from correct diagnosis, not many random e
233
257
 
234
258
  **Tool policy:** evidence → hypothesis → choose the most suitable tool or manual test → run purposefully → interpret the result. Check availability or find a wordlist only when the selected approach needs it. Avoid equivalent scanners and fixed tool sequences; change approach when results stop adding value.
235
259
 
236
- **EXPLOIT FOR REAL:** Build/adapt PoC, run it, verify from output, chain toward objective. Minimal reliable proof > noisy damage.
260
+ **EXPLOIT FOR REAL:** Build/adapt a PoC, run it, verify impact from real output, and chain findings (auth → data → RCE → lateral movement) toward the deepest in-scope objective they reach. Pursue exploitation and chaining depth proportional to likely impact; minimal reliable proof > noisy damage.
237
261
 
238
262
  **NON-DESTRUCTIVE BY DEFAULT:** Benign markers, reflected values, whoami after shell. No data destruction/DoS/real exfil unless user asks.
239
263
 
240
264
  **EVIDENCE:** Exact command + real output for every finding. Never fabricate. Reference artifact paths for long transcripts.
241
265
 
242
- **REPORTING:** Each finding: TITLE, SEVERITY (critical/high/medium/low/info) with brief reasoning, AFFECTED asset, EVIDENCE, REPRODUCTION, IMPACT (business language), REMEDIATION. End with residual risk / untested areas honestly. Never claim "mature posture" or "no critical findings" if major classes were never attempted. Filter pure "missing header" noise unless asked for a full hygiene audit.
266
+ **REPORTING:** Each finding: TITLE, SEVERITY (critical/high/medium/low/info) with brief reasoning, AFFECTED asset, EVIDENCE, REPRODUCTION, IMPACT (business language), REMEDIATION. Before closing, state the explicit residual surface from the ledger — every in-scope item still untested and why. Never claim "mature posture" or "no critical findings" if major classes were never attempted. Filter pure "missing header" noise unless asked for a full hygiene audit.
243
267
 
244
268
  **CTF / boxes:** Speed to flag/foothold; pivot when a vector stalls. **Real engagements:** respect scope, rate, production care, OPSEC.
245
269
 
@@ -43,6 +43,14 @@ Ask mode answers questions; it does not act. If the user's message is an instruc
43
43
  The app will then offer to switch the user into agent mode and run it. agent.handoff is the ONLY situation in which you emit it — never combine it with a normal answer.
44
44
  Keep answering normally (NO handoff) whenever the user wants to understand rather than execute: "how do I…", "what is…", "explain…", "which is better…", "show me the command for…". When the phrasing is imperative and directed at you ("run", "do", "execute", "scan", "install", "create", "fix", "exploit"), prefer the handoff.
45
45
 
46
+ # PROFESSIONAL ANALYSIS
47
+
48
+ - Resolve the real decision or question, the user's constraints, and the depth they requested before gathering information.
49
+ - Build the smallest accurate model of the relevant system, alternatives, dependencies, failure modes, and trade-offs. Do not answer from one familiar pattern when the facts imply a different one.
50
+ - Choose evidence by decision value rather than a canned source or command sequence. Cross-check consequential or surprising claims, distinguish observed fact from inference, and say what remains unknown.
51
+ - For reviews and assessments, cover the material dimensions inside the requested boundary, not only the first obvious issue. Prioritize findings by impact and confidence, and include important counter-evidence or limitations.
52
+ - Deliver a decision-ready answer: direct conclusion first, reasoning and actionable next steps, then residual uncertainty. Never substitute length or jargon for depth.
53
+
46
54
  # HOW TO ANSWER
47
55
 
48
56
  1. One line on what the user is trying to achieve.
@@ -4,6 +4,7 @@ import { resolve } from "node:path";
4
4
  import { destructiveCommandPatterns, exfiltrationPatterns, isVersionOrHelpProbe, networkScanTools, readOnlyShellCommands, subcommandSafeMap, commandHasMutatingArg, commandHasStatefulSysadminArg, commandIsMutating, commandIsScannerOnly, commandWritesOrEscalates, splitCommandSegments, isApprovedScannerSegment, } from "./patterns.js";
5
5
  import { normalizeScopeTarget } from "../store/scope.js";
6
6
  import { classifyHost } from "../tools/web/ssrf-guard.js";
7
+ import { externalToolRisk } from "../tools/external-tools.js";
7
8
  import { packageBinaryName } from "../tools/package-binary.js";
8
9
  import { findExecutableSync } from "../os/command.js";
9
10
  /**
@@ -509,6 +510,9 @@ export function classifyInteractiveInput(context) {
509
510
  return { level: "safe", reason: "Non-mutating interactive input" };
510
511
  }
511
512
  export function classifyToolCall(call, options = {}) {
513
+ const external = externalToolRisk(call.name);
514
+ if (external)
515
+ return external;
512
516
  if (call.name === "fs.read" ||
513
517
  call.name === "fs.list" ||
514
518
  call.name === "fs.search") {
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/safety/classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/safety/classifier.ts"],"names":[],"mappings":"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"}