@pentoshi/clai 3.6.0 → 3.7.3

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 (322) hide show
  1. package/dist/agent/compaction-summary.d.ts +17 -0
  2. package/dist/agent/compaction-summary.js +64 -0
  3. package/dist/agent/compaction-summary.js.map +1 -0
  4. package/dist/agent/confirm-port.d.ts +3 -1
  5. package/dist/agent/confirm-port.js +5 -1
  6. package/dist/agent/confirm-port.js.map +1 -1
  7. package/dist/agent/context-manager.js +45 -22
  8. package/dist/agent/context-manager.js.map +1 -1
  9. package/dist/agent/events.d.ts +6 -0
  10. package/dist/agent/evidence-governor.d.ts +37 -0
  11. package/dist/agent/evidence-governor.js +70 -0
  12. package/dist/agent/evidence-governor.js.map +1 -0
  13. package/dist/agent/loop-guard.d.ts +29 -11
  14. package/dist/agent/loop-guard.js +93 -39
  15. package/dist/agent/loop-guard.js.map +1 -1
  16. package/dist/agent/must-continue.d.ts +56 -0
  17. package/dist/agent/must-continue.js +240 -0
  18. package/dist/agent/must-continue.js.map +1 -0
  19. package/dist/agent/outcomes.d.ts +101 -0
  20. package/dist/agent/outcomes.js +359 -0
  21. package/dist/agent/outcomes.js.map +1 -0
  22. package/dist/agent/plan-decision.d.ts +33 -0
  23. package/dist/agent/plan-decision.js +104 -0
  24. package/dist/agent/plan-decision.js.map +1 -0
  25. package/dist/agent/plan-tool.d.ts +12 -0
  26. package/dist/agent/plan-tool.js +312 -104
  27. package/dist/agent/plan-tool.js.map +1 -1
  28. package/dist/agent/project-root.js +3 -0
  29. package/dist/agent/project-root.js.map +1 -1
  30. package/dist/agent/prompt-composer.d.ts +21 -0
  31. package/dist/agent/prompt-composer.js +46 -0
  32. package/dist/agent/prompt-composer.js.map +1 -0
  33. package/dist/agent/runner.d.ts +11 -1
  34. package/dist/agent/runner.js +1226 -971
  35. package/dist/agent/runner.js.map +1 -1
  36. package/dist/agent/scope-context.d.ts +3 -0
  37. package/dist/agent/scope-context.js +24 -0
  38. package/dist/agent/scope-context.js.map +1 -0
  39. package/dist/agent/scratch-write.d.ts +4 -0
  40. package/dist/agent/scratch-write.js +54 -0
  41. package/dist/agent/scratch-write.js.map +1 -0
  42. package/dist/agent/session-policy.d.ts +7 -0
  43. package/dist/agent/session-policy.js +61 -0
  44. package/dist/agent/session-policy.js.map +1 -1
  45. package/dist/agent/session-state.d.ts +41 -0
  46. package/dist/agent/session-state.js +107 -0
  47. package/dist/agent/session-state.js.map +1 -0
  48. package/dist/agent/step-budget.d.ts +14 -0
  49. package/dist/agent/step-budget.js +26 -0
  50. package/dist/agent/step-budget.js.map +1 -0
  51. package/dist/agent/task-analyzer.d.ts +12 -3
  52. package/dist/agent/task-analyzer.js +263 -23
  53. package/dist/agent/task-analyzer.js.map +1 -1
  54. package/dist/agent/task-evidence.d.ts +111 -29
  55. package/dist/agent/task-evidence.js +519 -91
  56. package/dist/agent/task-evidence.js.map +1 -1
  57. package/dist/agent/task-plan.d.ts +57 -0
  58. package/dist/agent/task-plan.js +147 -1
  59. package/dist/agent/task-plan.js.map +1 -1
  60. package/dist/agent/tool-call-parser.d.ts +4 -12
  61. package/dist/agent/tool-call-parser.js +34 -67
  62. package/dist/agent/tool-call-parser.js.map +1 -1
  63. package/dist/agent/tool-history.d.ts +7 -0
  64. package/dist/agent/tool-history.js +50 -0
  65. package/dist/agent/tool-history.js.map +1 -1
  66. package/dist/agent/tool-output-formatting.d.ts +13 -1
  67. package/dist/agent/tool-output-formatting.js +75 -22
  68. package/dist/agent/tool-output-formatting.js.map +1 -1
  69. package/dist/agent/turn-outcome.d.ts +11 -0
  70. package/dist/agent/turn-outcome.js +17 -0
  71. package/dist/agent/turn-outcome.js.map +1 -0
  72. package/dist/agent/turn-state.d.ts +11 -0
  73. package/dist/agent/turn-state.js +28 -0
  74. package/dist/agent/turn-state.js.map +1 -0
  75. package/dist/agent/workspace-orient.d.ts +11 -0
  76. package/dist/agent/workspace-orient.js +103 -12
  77. package/dist/agent/workspace-orient.js.map +1 -1
  78. package/dist/app/adapters/agent-event-adapter.d.ts +2 -13
  79. package/dist/app/adapters/agent-event-adapter.js +63 -25
  80. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  81. package/dist/app/adapters/current-agent-adapter.d.ts +0 -5
  82. package/dist/app/adapters/current-agent-adapter.js +4 -7
  83. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  84. package/dist/app/adapters/current-jobs-adapter.js +1 -0
  85. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  86. package/dist/app/adapters/current-terminal-adapter.d.ts +0 -7
  87. package/dist/app/adapters/current-terminal-adapter.js +0 -7
  88. package/dist/app/adapters/current-terminal-adapter.js.map +1 -1
  89. package/dist/app/adapters/current-updates-adapter.d.ts +0 -5
  90. package/dist/app/adapters/current-updates-adapter.js +0 -5
  91. package/dist/app/adapters/current-updates-adapter.js.map +1 -1
  92. package/dist/app/adapters/in-memory-clipboard-adapter.d.ts +0 -5
  93. package/dist/app/adapters/in-memory-clipboard-adapter.js +0 -5
  94. package/dist/app/adapters/in-memory-clipboard-adapter.js.map +1 -1
  95. package/dist/app/commands/command.d.ts +0 -5
  96. package/dist/app/commands/command.js.map +1 -1
  97. package/dist/app/commands/registry.d.ts +0 -14
  98. package/dist/app/commands/registry.js +0 -20
  99. package/dist/app/commands/registry.js.map +1 -1
  100. package/dist/app/controllers/disposable.d.ts +0 -5
  101. package/dist/app/controllers/disposable.js +0 -5
  102. package/dist/app/controllers/disposable.js.map +1 -1
  103. package/dist/app/controllers/job-controller.d.ts +1 -5
  104. package/dist/app/controllers/job-controller.js +0 -4
  105. package/dist/app/controllers/job-controller.js.map +1 -1
  106. package/dist/app/controllers/plan-controller.d.ts +5 -8
  107. package/dist/app/controllers/plan-controller.js +30 -12
  108. package/dist/app/controllers/plan-controller.js.map +1 -1
  109. package/dist/app/controllers/session-controller.d.ts +17 -32
  110. package/dist/app/controllers/session-controller.js +56 -35
  111. package/dist/app/controllers/session-controller.js.map +1 -1
  112. package/dist/app/controllers/turn-controller.d.ts +2 -6
  113. package/dist/app/controllers/turn-controller.js +8 -8
  114. package/dist/app/controllers/turn-controller.js.map +1 -1
  115. package/dist/app/events/app-event.d.ts +4 -7
  116. package/dist/app/events/app-event.js +0 -6
  117. package/dist/app/events/app-event.js.map +1 -1
  118. package/dist/app/events/event-buffer.d.ts +6 -17
  119. package/dist/app/events/event-buffer.js +27 -24
  120. package/dist/app/events/event-buffer.js.map +1 -1
  121. package/dist/app/events/sequencer.d.ts +0 -9
  122. package/dist/app/events/sequencer.js +0 -4
  123. package/dist/app/events/sequencer.js.map +1 -1
  124. package/dist/app/ports/agent-port.d.ts +13 -3
  125. package/dist/app/ports/clipboard-port.d.ts +0 -5
  126. package/dist/app/ports/confirm-port.d.ts +0 -7
  127. package/dist/app/ports/jobs-port.d.ts +2 -5
  128. package/dist/app/ports/persistence-port.d.ts +0 -4
  129. package/dist/app/ports/secret-port.d.ts +0 -5
  130. package/dist/app/ports/terminal-port.d.ts +0 -6
  131. package/dist/app/ports/updates-port.d.ts +0 -4
  132. package/dist/attachments/service.d.ts +29 -0
  133. package/dist/attachments/service.js +47 -0
  134. package/dist/attachments/service.js.map +1 -0
  135. package/dist/commands/providers.js +0 -3
  136. package/dist/commands/providers.js.map +1 -1
  137. package/dist/commands/search-providers.d.ts +0 -33
  138. package/dist/commands/search-providers.js +0 -33
  139. package/dist/commands/search-providers.js.map +1 -1
  140. package/dist/commands/update.js +1 -9
  141. package/dist/commands/update.js.map +1 -1
  142. package/dist/index.js +22 -42
  143. package/dist/index.js.map +1 -1
  144. package/dist/llm/adapters/ollama-tools.d.ts +0 -4
  145. package/dist/llm/adapters/ollama-tools.js +0 -4
  146. package/dist/llm/adapters/ollama-tools.js.map +1 -1
  147. package/dist/llm/capabilities.d.ts +10 -10
  148. package/dist/llm/capabilities.js +43 -17
  149. package/dist/llm/capabilities.js.map +1 -1
  150. package/dist/llm/groq.js +0 -6
  151. package/dist/llm/groq.js.map +1 -1
  152. package/dist/llm/http.d.ts +0 -17
  153. package/dist/llm/http.js +0 -45
  154. package/dist/llm/http.js.map +1 -1
  155. package/dist/llm/router.d.ts +0 -6
  156. package/dist/llm/router.js +0 -15
  157. package/dist/llm/router.js.map +1 -1
  158. package/dist/llm/tool-protocol.d.ts +0 -6
  159. package/dist/llm/tool-protocol.js +3 -7
  160. package/dist/llm/tool-protocol.js.map +1 -1
  161. package/dist/modes/agent.d.ts +2 -1
  162. package/dist/modes/agent.js +4 -2
  163. package/dist/modes/agent.js.map +1 -1
  164. package/dist/modes/ask.d.ts +0 -18
  165. package/dist/modes/ask.js +0 -49
  166. package/dist/modes/ask.js.map +1 -1
  167. package/dist/os/cwd.d.ts +0 -21
  168. package/dist/os/cwd.js +0 -24
  169. package/dist/os/cwd.js.map +1 -1
  170. package/dist/os/pkgmgr.js +0 -6
  171. package/dist/os/pkgmgr.js.map +1 -1
  172. package/dist/prompts/embedded.d.ts +1 -0
  173. package/dist/prompts/embedded.js +9 -0
  174. package/dist/prompts/embedded.js.map +1 -0
  175. package/dist/prompts/index.d.ts +6 -18
  176. package/dist/prompts/index.js +104 -293
  177. package/dist/prompts/index.js.map +1 -1
  178. package/dist/prompts/system.agent.md +228 -0
  179. package/dist/prompts/system.ask.md +56 -0
  180. package/dist/repl/prompt-line.js +0 -36
  181. package/dist/repl/prompt-line.js.map +1 -1
  182. package/dist/repl/slash-commands.d.ts +0 -9
  183. package/dist/repl/slash-commands.js +2 -23
  184. package/dist/repl/slash-commands.js.map +1 -1
  185. package/dist/repl.d.ts +5 -0
  186. package/dist/repl.js +169 -55
  187. package/dist/repl.js.map +1 -1
  188. package/dist/safety/classifier.js +17 -9
  189. package/dist/safety/classifier.js.map +1 -1
  190. package/dist/safety/engagement-policy.d.ts +46 -0
  191. package/dist/safety/engagement-policy.js +198 -0
  192. package/dist/safety/engagement-policy.js.map +1 -0
  193. package/dist/store/engagement.d.ts +115 -0
  194. package/dist/store/engagement.js +278 -0
  195. package/dist/store/engagement.js.map +1 -0
  196. package/dist/store/logs.d.ts +5 -0
  197. package/dist/store/logs.js +52 -2
  198. package/dist/store/logs.js.map +1 -1
  199. package/dist/store/plan.d.ts +57 -5
  200. package/dist/store/plan.js +182 -8
  201. package/dist/store/plan.js.map +1 -1
  202. package/dist/store/scope.d.ts +4 -1
  203. package/dist/store/scope.js +2 -2
  204. package/dist/store/scope.js.map +1 -1
  205. package/dist/tools/definitions.js +70 -1
  206. package/dist/tools/definitions.js.map +1 -1
  207. package/dist/tools/elevated-shell.d.ts +60 -0
  208. package/dist/tools/elevated-shell.js +233 -0
  209. package/dist/tools/elevated-shell.js.map +1 -0
  210. package/dist/tools/file-diff.d.ts +125 -0
  211. package/dist/tools/file-diff.js +495 -0
  212. package/dist/tools/file-diff.js.map +1 -0
  213. package/dist/tools/fs.d.ts +11 -13
  214. package/dist/tools/fs.js +269 -78
  215. package/dist/tools/fs.js.map +1 -1
  216. package/dist/tools/http.d.ts +15 -0
  217. package/dist/tools/http.js +202 -61
  218. package/dist/tools/http.js.map +1 -1
  219. package/dist/tools/jobs.d.ts +71 -10
  220. package/dist/tools/jobs.js +403 -124
  221. package/dist/tools/jobs.js.map +1 -1
  222. package/dist/tools/nmap-runner.d.ts +11 -0
  223. package/dist/tools/nmap-runner.js +115 -74
  224. package/dist/tools/nmap-runner.js.map +1 -1
  225. package/dist/tools/pentest-workflows.d.ts +8 -0
  226. package/dist/tools/pentest-workflows.js +71 -0
  227. package/dist/tools/pentest-workflows.js.map +1 -0
  228. package/dist/tools/registry.d.ts +9 -0
  229. package/dist/tools/registry.js +244 -57
  230. package/dist/tools/registry.js.map +1 -1
  231. package/dist/tools/shell.d.ts +3 -0
  232. package/dist/tools/shell.js +35 -13
  233. package/dist/tools/shell.js.map +1 -1
  234. package/dist/tools/tool-types.d.ts +11 -0
  235. package/dist/tools/web/fetch-core.d.ts +7 -0
  236. package/dist/tools/web/fetch-core.js +40 -1
  237. package/dist/tools/web/fetch-core.js.map +1 -1
  238. package/dist/tools/web/fetch.js +8 -1
  239. package/dist/tools/web/fetch.js.map +1 -1
  240. package/dist/tui-v2/app/App.js +34 -41
  241. package/dist/tui-v2/app/App.js.map +1 -1
  242. package/dist/tui-v2/app/command-handlers.js +20 -1
  243. package/dist/tui-v2/app/command-handlers.js.map +1 -1
  244. package/dist/tui-v2/app/commands/picker-commands.js +3 -0
  245. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  246. package/dist/tui-v2/app/commands/session-commands.js +5 -0
  247. package/dist/tui-v2/app/commands/session-commands.js.map +1 -1
  248. package/dist/tui-v2/app/plan-lifecycle.d.ts +25 -3
  249. package/dist/tui-v2/app/plan-lifecycle.js +87 -24
  250. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  251. package/dist/tui-v2/bootstrap/patch-opentui-text.d.ts +6 -0
  252. package/dist/tui-v2/bootstrap/patch-opentui-text.js +53 -0
  253. package/dist/tui-v2/bootstrap/patch-opentui-text.js.map +1 -0
  254. package/dist/tui-v2/bootstrap/start-tui-v2.js +7 -0
  255. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  256. package/dist/tui-v2/components/jobs/jobs-panel.js +23 -14
  257. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  258. package/dist/tui-v2/components/modal/confirm-modal.d.ts +1 -1
  259. package/dist/tui-v2/components/modal/confirm-modal.js +18 -7
  260. package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
  261. package/dist/tui-v2/components/overlay/overlay-host.js +1 -1
  262. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  263. package/dist/tui-v2/components/pager/pager.d.ts +6 -0
  264. package/dist/tui-v2/components/pager/pager.js +313 -67
  265. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  266. package/dist/tui-v2/components/status/status-line.d.ts +9 -0
  267. package/dist/tui-v2/components/status/status-line.js +17 -3
  268. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  269. package/dist/tui-v2/components/transcript/assistant-message.js +1 -1
  270. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  271. package/dist/tui-v2/components/transcript/compacted-row.js +1 -1
  272. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  273. package/dist/tui-v2/components/transcript/tool-card.d.ts +9 -1
  274. package/dist/tui-v2/components/transcript/tool-card.js +114 -9
  275. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  276. package/dist/tui-v2/components/transcript/transcript-row.js +2 -2
  277. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  278. package/dist/tui-v2/composer/composer-editor.js +16 -0
  279. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  280. package/dist/tui-v2/controllers/overlay-controller.d.ts +16 -2
  281. package/dist/tui-v2/controllers/overlay-controller.js +92 -12
  282. package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
  283. package/dist/tui-v2/rendering/artifact-pager-source.d.ts +19 -0
  284. package/dist/tui-v2/rendering/artifact-pager-source.js +103 -0
  285. package/dist/tui-v2/rendering/artifact-pager-source.js.map +1 -0
  286. package/dist/tui-v2/rendering/file-diff-view.d.ts +63 -0
  287. package/dist/tui-v2/rendering/file-diff-view.js +263 -0
  288. package/dist/tui-v2/rendering/file-diff-view.js.map +1 -0
  289. package/dist/tui-v2/rendering/open-tool-output.d.ts +9 -1
  290. package/dist/tui-v2/rendering/open-tool-output.js +65 -12
  291. package/dist/tui-v2/rendering/open-tool-output.js.map +1 -1
  292. package/dist/tui-v2/rendering/pager-chrome.d.ts +12 -0
  293. package/dist/tui-v2/rendering/pager-chrome.js +56 -0
  294. package/dist/tui-v2/rendering/pager-chrome.js.map +1 -0
  295. package/dist/tui-v2/rendering/plan-view.js +1 -1
  296. package/dist/tui-v2/rendering/plan-view.js.map +1 -1
  297. package/dist/tui-v2/rendering/syntax-highlight.d.ts +37 -0
  298. package/dist/tui-v2/rendering/syntax-highlight.js +1303 -0
  299. package/dist/tui-v2/rendering/syntax-highlight.js.map +1 -0
  300. package/dist/tui-v2/rendering/theme.d.ts +28 -0
  301. package/dist/tui-v2/rendering/theme.js +28 -0
  302. package/dist/tui-v2/rendering/theme.js.map +1 -1
  303. package/dist/tui-v2/rendering/tool-presenter.d.ts +5 -0
  304. package/dist/tui-v2/rendering/tool-presenter.js +35 -3
  305. package/dist/tui-v2/rendering/tool-presenter.js.map +1 -1
  306. package/dist/tui-v2/state/transcript-hydrate.js +5 -0
  307. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  308. package/dist/tui-v2/state/transcript-reducer.js +12 -2
  309. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  310. package/dist/tui-v2/state/transcript-store.d.ts +7 -0
  311. package/dist/tui-v2/state/transcript-store.js +46 -0
  312. package/dist/tui-v2/state/transcript-store.js.map +1 -1
  313. package/dist/tui-v2/state/transcript-types.d.ts +12 -0
  314. package/dist/tui-v2/state/transcript-types.js +9 -0
  315. package/dist/tui-v2/state/transcript-types.js.map +1 -1
  316. package/dist/types.d.ts +17 -1
  317. package/dist/ui/mentions.d.ts +6 -0
  318. package/dist/ui/mentions.js +50 -12
  319. package/dist/ui/mentions.js.map +1 -1
  320. package/dist/ui/plan-pane.js +1 -1
  321. package/dist/ui/plan-pane.js.map +1 -1
  322. package/package.json +18 -12
@@ -1 +1 @@
1
- {"version":3,"file":"task-evidence.js","sourceRoot":"","sources":["../../src/agent/task-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAczD,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,eAAe,CAAC;AACtF,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAA6B,EAC7B,MAA0B,EAC1B,QAAgB;IAEhB,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO;QACL,MAAM;QACN,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,GAAG,CAAC;QAC7C,UAAU,EAAE,QAAQ;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA6B,EAC7B,MAAc;IAEd,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EACJ,gBAAgB,MAAM,wCAAwC;gBAC9D,6BAA6B,MAAM,6CAA6C;gBAChF,wEAAwE;SAC3E,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EACJ,gBAAgB,MAAM,wEAAwE;gBAC9F,iGAAiG;gBACjG,CAAC,MAAM,CAAC,UAAU;oBAChB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,oEAAoE,CAAC;SAC5E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,OAAO,yTAAyT,CAAC,IAAI,CACnU,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,uBAAuB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/C,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,uEAAuE;QACvE,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,CACL,mQAAmQ,CAAC,IAAI,CACtQ,GAAG,CACJ;YACD,iEAAiE;YACjE,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC;YACvC,8CAA8C,CAAC,IAAI,CAAC,GAAG,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,CACL,0KAA0K,CAAC,IAAI,CAC7K,GAAG,CACJ,IAAI,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAC7C,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,CACL,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,aAAa,CACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,OAAO,CACL,IAAI,KAAK,aAAa;QACtB,mBAAmB,CAAC,IAAI,CAAC;QACzB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,WAAW;QACpB,mFAAmF;QACnF,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,WAAW,CACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mCAAmC,CAAC,GAAW;IAC7D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,uBAAuB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,CACL,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC;QACrD,4CAA4C,CAAC,IAAI,CAAC,GAAG,CAAC;QACtD,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC;QACnC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,sCAAsC,CAAC,IAAI,CAAC,GAAG,CAAC;QAChD,mCAAmC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7C,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAClC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAAC,IAGjC;IACC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACpD,IACE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;QAC3D,mCAAmC,CAAC,GAAG,CAAC,EACxC,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,qEAAqE;IAC3F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,6BAA6B,CAAC,GAAW;IACvD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,YAAY;IACtD,OAAO,CACL,8IAA8I,CAAC,IAAI,CACjJ,CAAC,CACF,IAAI,qDAAqD,CAAC,IAAI,CAAC,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAc,EACd,IAAqE;IAErE,IAAI,IAAI,EAAE,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,OAAO;QAAE,OAAO,KAAK,CAAC;IACrE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,qDAAqD;IACrD,IACE,CAAC,CAAC,MAAM,GAAG,GAAG;QACd,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC,oDAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,EAC7D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,4CAA4C;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5E,OAAO,CACL,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;YACzB,IAAI,CAAC,IAAI,KAAK,YAAY;YAC1B,IAAI,CAAC,IAAI,KAAK,WAAW;YACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,CACL,0CAA0C,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,8CAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,CACL,gHAAgH,CAAC,IAAI,CACnH,CAAC,CACF;QACD,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,6CAA6C,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,CAAC,qDAAqD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,OAAO,0MAA0M,CAAC,IAAI,CACpN,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,IAAc,EACd,IAAoC;IAEpC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,eAAe,GACnB,oHAAoH,CAAC,IAAI,CACvH,CAAC,CACF;QACD,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,IAAI,eAAe;QAAE,OAAO,SAAS,CAAC;IAEtC,MAAM,aAAa,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,eAAe,GACnB,CAAC,aAAa;QACd,CAAC,cAAc;QACf,CAAC,6JAA6J,CAAC,IAAI,CACjK,CAAC,CACF;YACC,CAAC,sDAAsD,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,CAAC,sDAAsD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,oDAAoD;IACpD,IACE,CAAC,cAAc,IAAI,aAAa,CAAC;QACjC,IAAI,CAAC,IAAI,KAAK,YAAY;QAC1B,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,CAAC,aAAa,IAAI,cAAc,IAAI,eAAe,CAAC;QACpD,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,EACjD,CAAC;QACD,OAAO,CACL,kCAAkC,SAAS,yDAAyD;YACpG,uIAAuI,CACxI,CAAC;IACJ,CAAC;IAED,IACE,eAAe;QACf,IAAI,CAAC,IAAI,KAAK,YAAY;QAC1B,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACxC,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,EAAE,cAAc,CAAC;QACxC,MAAM,kBAAkB,GACtB,CAAC,UAAU;YACX,UAAU,CAAC,MAAM,KAAK,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,CACL,kCAAkC,SAAS,8EAA8E,CAC1H,CAAC;QACJ,CAAC;QACD,oEAAoE;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAY,EACZ,IAAc,EACd,SAAoB;IAEpB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE;QACtC,IAAI,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,sCAAsC;QACjD,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,yBAAyB,CAAC,KAAK,CAAC;gBAAE,CAAC,IAAI,EAAE,CAAC;iBACzC,IAAI,0BAA0B,CAAC,KAAK,CAAC;gBAAE,CAAC,IAAI,EAAE,CAAC;;gBAC/C,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD;QAC/D,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IACE,mEAAmE,CAAC,IAAI,CACtE,KAAK,CACN,EACD,CAAC;gBACD,CAAC,IAAI,EAAE,CAAC;YACV,CAAC;;gBAAM,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;QACD,IACE,IAAI,CAAC,IAAI,KAAK,UAAU;YACxB,IAAI,CAAC,IAAI,KAAK,cAAc;YAC5B,IAAI,CAAC,IAAI,KAAK,SAAS,EACvB,CAAC;YACD,IAAI,yBAAyB,CAAC,KAAK,CAAC;gBAAE,CAAC,IAAI,EAAE,CAAC;YAC9C,IACE,4EAA4E,CAAC,IAAI,CAC/E,KAAK,CACN,EACD,CAAC;gBACD,CAAC,IAAI,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,IAAI,IAAmB,CAAC;IACxB,IAAI,SAAS,GAAG,CAAC,QAAQ,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,CAAC;YACT,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,IAAI,2EAA2E,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,4CAA4C;IAC5C,IACE,sLAAsL,CAAC,IAAI,CACzL,CAAC,CACF;QACD,mEAAmE,CAAC,IAAI,CAAC,CAAC,CAAC,EAC3E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,kCAAkC;IAClC,IACE,wGAAwG,CAAC,IAAI,CAC3G,CAAC,CACF,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,IACE,kFAAkF,CAAC,IAAI,CACrF,CAAC,CACF,EACD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,yEAAyE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,yFAAyF,CAAC,IAAI,CACnG,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAc;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IACE,IAAI,CAAC,IAAI,KAAK,UAAU;QACxB,IAAI,CAAC,IAAI,KAAK,SAAS;QACvB,IAAI,CAAC,IAAI,KAAK,iBAAiB;QAC/B,IAAI,CAAC,IAAI,KAAK,WAAW,EACzB,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAAwB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrF,KAAK,CAAC,IAAI,CAAE,CAAsB,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAc;IACxD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,4DAA4D;IAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,UAAkB,EAClB,cAAuB,EACvB,IAAc;IAEd,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,cAAc;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/E,OAAO,CACL,oFAAoF;QACpF,8FAA8F;QAC9F,uFAAuF,CACxF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAc,EACd,IAAI,GAAG,OAAO,EAAE;IAEhB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzB,oFAAoF;IACpF,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CACxB,kDAAkD,CACnD,CAAC;IACF,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACtD,4EAA4E;QAC5E,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC3C,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IACE,8EAA8E,CAAC,IAAI,CACjF,CAAC,CACF;QACD,qCAAqC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAc,EACd,eAAmC;IAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAC3E,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC3E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,2EAA2E;IAC3E,MAAM,GAAG,GAAG,oBAAoB,EAAE,IAAI,eAAe,CAAC;IACtD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACjD,6FAA6F;IAC7F,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CACzB,oKAAoK,CACrK,CAAC;QACF,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,SAAS,GACb,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1B,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE;aAChE,CAAC;QACJ,CAAC;QACD,uFAAuF;QACvF,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,IAAI,GAAG,EAAE,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,iBAAiB,GACrB,4KAA4K,CAAC,IAAI,CAC/K,GAAG,CACJ,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;IACnC,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"task-evidence.js","sourceRoot":"","sources":["../../src/agent/task-evidence.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,9 @@ export declare function markStepRunning(plan: TaskPlan, stepId: string): void;
26
26
  export declare function markStepDone(plan: TaskPlan, stepId: string, note?: string | undefined): void;
27
27
  export declare function markStepFailed(plan: TaskPlan, stepId: string, note?: string | undefined): void;
28
28
  export declare function nextPendingStep(plan: TaskPlan): PlanStep | undefined;
29
+ export declare function isPlanTerminal(plan: TaskPlan): boolean;
30
+ export declare function isPlanSuccessful(plan: TaskPlan): boolean;
31
+ /** @deprecated Use isPlanTerminal or isPlanSuccessful explicitly. */
29
32
  export declare function isPlanComplete(plan: TaskPlan): boolean;
30
33
  /**
31
34
  * Compact plan summary for LLM context injection. Keeps token count low.
@@ -35,3 +38,57 @@ export declare function formatPlanForPrompt(plan: TaskPlan): string;
35
38
  * Terminal-formatted plan for user display. Uses Unicode box-drawing.
36
39
  */
37
40
  export declare function formatPlanForDisplay(plan: TaskPlan): string;
41
+ /** Versioned dependency/resource metadata. Fields are optional for legacy persisted plans. */
42
+ export interface VersionedPlanStep extends PlanStep {
43
+ dependencies?: string[] | undefined;
44
+ resourceLocks?: string[] | undefined;
45
+ supersededBy?: string | undefined;
46
+ }
47
+ export interface VersionedTaskPlan extends Omit<TaskPlan, "steps"> {
48
+ schemaVersion: 2;
49
+ version: number;
50
+ steps: VersionedPlanStep[];
51
+ }
52
+ interface VersionedPlanOperation {
53
+ /** The plan version read by the caller. Stale operations are rejected. */
54
+ expectedVersion: number;
55
+ }
56
+ export type PlanOperation = VersionedPlanOperation & ({
57
+ type: "addTask";
58
+ step: VersionedPlanStep;
59
+ index?: number;
60
+ } | {
61
+ type: "editTask";
62
+ stepId: string;
63
+ changes: Partial<Omit<VersionedPlanStep, "id">>;
64
+ } | {
65
+ type: "removeTask";
66
+ stepId: string;
67
+ } | {
68
+ type: "supersedeTask";
69
+ stepId: string;
70
+ replacement: VersionedPlanStep;
71
+ } | {
72
+ type: "splitTask";
73
+ stepId: string;
74
+ steps: VersionedPlanStep[];
75
+ } | {
76
+ type: "mergeTasks";
77
+ stepIds: string[];
78
+ step: VersionedPlanStep;
79
+ } | {
80
+ type: "setDependencies";
81
+ stepId: string;
82
+ dependencies: string[];
83
+ });
84
+ export declare function deserializeTaskPlan(value: unknown): VersionedTaskPlan;
85
+ export declare function validatePlanDag(plan: Pick<VersionedTaskPlan, "steps">): {
86
+ ok: true;
87
+ } | {
88
+ ok: false;
89
+ reason: string;
90
+ };
91
+ export declare function assertValidPlanDag(plan: Pick<VersionedTaskPlan, "steps">): void;
92
+ export declare function readyPlanSteps(plan: Pick<VersionedTaskPlan, "steps">): VersionedPlanStep[];
93
+ export declare function applyPlanOperation(plan: VersionedTaskPlan, operation: PlanOperation): VersionedTaskPlan;
94
+ export {};
@@ -48,11 +48,20 @@ export function markStepFailed(plan, stepId, note) {
48
48
  export function nextPendingStep(plan) {
49
49
  return plan.steps.find((s) => s.status === "pending");
50
50
  }
51
- export function isPlanComplete(plan) {
51
+ export function isPlanTerminal(plan) {
52
52
  return plan.steps
53
53
  .filter((s) => s.required !== false)
54
54
  .every((s) => s.status === "done" || s.status === "failed" || s.status === "skipped");
55
55
  }
56
+ export function isPlanSuccessful(plan) {
57
+ return plan.steps
58
+ .filter((s) => s.required !== false)
59
+ .every((s) => s.status === "done" || s.status === "skipped");
60
+ }
61
+ /** @deprecated Use isPlanTerminal or isPlanSuccessful explicitly. */
62
+ export function isPlanComplete(plan) {
63
+ return isPlanSuccessful(plan);
64
+ }
56
65
  /**
57
66
  * Compact plan summary for LLM context injection. Keeps token count low.
58
67
  */
@@ -95,4 +104,141 @@ export function formatPlanForDisplay(plan) {
95
104
  lines.push(` Progress: ${done}/${plan.steps.length}`);
96
105
  return lines.join("\n");
97
106
  }
107
+ export function deserializeTaskPlan(value) {
108
+ if (!value || typeof value !== "object")
109
+ throw new Error("invalid task plan");
110
+ const raw = value;
111
+ if (!Array.isArray(raw.steps) || typeof raw.id !== "string" || typeof raw.goal !== "string") {
112
+ throw new Error("invalid task plan");
113
+ }
114
+ const plan = {
115
+ id: raw.id,
116
+ goal: raw.goal,
117
+ complexity: raw.complexity ?? "standard",
118
+ currentStepId: raw.currentStepId,
119
+ createdAt: raw.createdAt ?? new Date(0).toISOString(),
120
+ updatedAt: raw.updatedAt ?? raw.createdAt ?? new Date(0).toISOString(),
121
+ schemaVersion: 2,
122
+ version: typeof raw.version === "number" && raw.version >= 1 ? raw.version : 1,
123
+ steps: raw.steps.map((step) => ({
124
+ ...step,
125
+ dependencies: [...(step.dependencies ?? [])],
126
+ resourceLocks: [...(step.resourceLocks ?? [])],
127
+ })),
128
+ };
129
+ assertValidPlanDag(plan);
130
+ return plan;
131
+ }
132
+ export function validatePlanDag(plan) {
133
+ const ids = new Set();
134
+ for (const step of plan.steps) {
135
+ if (ids.has(step.id))
136
+ return { ok: false, reason: `duplicate step id: ${step.id}` };
137
+ ids.add(step.id);
138
+ }
139
+ for (const step of plan.steps) {
140
+ for (const dependency of step.dependencies ?? []) {
141
+ if (!ids.has(dependency))
142
+ return { ok: false, reason: `unknown dependency ${dependency} for ${step.id}` };
143
+ if (dependency === step.id)
144
+ return { ok: false, reason: `self dependency: ${step.id}` };
145
+ }
146
+ }
147
+ const visiting = new Set();
148
+ const visited = new Set();
149
+ const byId = new Map(plan.steps.map((step) => [step.id, step]));
150
+ const visit = (id) => {
151
+ if (visiting.has(id))
152
+ return false;
153
+ if (visited.has(id))
154
+ return true;
155
+ visiting.add(id);
156
+ for (const dependency of byId.get(id)?.dependencies ?? [])
157
+ if (!visit(dependency))
158
+ return false;
159
+ visiting.delete(id);
160
+ visited.add(id);
161
+ return true;
162
+ };
163
+ for (const id of ids)
164
+ if (!visit(id))
165
+ return { ok: false, reason: "dependency cycle detected" };
166
+ return { ok: true };
167
+ }
168
+ export function assertValidPlanDag(plan) {
169
+ const result = validatePlanDag(plan);
170
+ if (!result.ok)
171
+ throw new Error(result.reason);
172
+ }
173
+ export function readyPlanSteps(plan) {
174
+ const done = new Set(plan.steps.filter((step) => step.status === "done" || step.status === "skipped").map((step) => step.id));
175
+ const held = new Set(plan.steps.filter((step) => step.status === "running").flatMap((step) => step.resourceLocks ?? []));
176
+ return plan.steps.filter((step) => step.status === "pending" &&
177
+ !step.supersededBy &&
178
+ (step.dependencies ?? []).every((id) => done.has(id)) &&
179
+ !(step.resourceLocks ?? []).some((resource) => held.has(resource)));
180
+ }
181
+ export function applyPlanOperation(plan, operation) {
182
+ if (operation.expectedVersion !== plan.version) {
183
+ throw new Error(`plan version mismatch: expected ${operation.expectedVersion}, current ${plan.version}`);
184
+ }
185
+ const normalizeStep = (step) => ({
186
+ ...step,
187
+ dependencies: [...(step.dependencies ?? [])],
188
+ resourceLocks: [...(step.resourceLocks ?? [])],
189
+ });
190
+ let steps = plan.steps.map(normalizeStep);
191
+ const indexOf = (id) => {
192
+ const index = steps.findIndex((step) => step.id === id);
193
+ if (index < 0)
194
+ throw new Error(`unknown step: ${id}`);
195
+ return index;
196
+ };
197
+ if (operation.type === "addTask")
198
+ steps.splice(operation.index ?? steps.length, 0, normalizeStep(operation.step));
199
+ else if (operation.type === "editTask") {
200
+ const index = indexOf(operation.stepId);
201
+ steps[index] = normalizeStep({ ...steps[index], ...operation.changes, id: operation.stepId });
202
+ }
203
+ else if (operation.type === "removeTask") {
204
+ indexOf(operation.stepId);
205
+ if (steps.some((step) => (step.dependencies ?? []).includes(operation.stepId)))
206
+ throw new Error(`cannot remove depended-on step: ${operation.stepId}`);
207
+ steps = steps.filter((step) => step.id !== operation.stepId);
208
+ }
209
+ else if (operation.type === "setDependencies") {
210
+ const index = indexOf(operation.stepId);
211
+ steps[index] = { ...steps[index], dependencies: [...new Set(operation.dependencies)] };
212
+ }
213
+ else if (operation.type === "supersedeTask") {
214
+ const index = indexOf(operation.stepId);
215
+ steps[index] = { ...steps[index], status: "skipped", supersededBy: operation.replacement.id };
216
+ steps.splice(index + 1, 0, normalizeStep({ ...operation.replacement, dependencies: operation.replacement.dependencies ?? steps[index].dependencies }));
217
+ steps = steps.map((step) => ({ ...step, dependencies: (step.dependencies ?? []).map((id) => id === operation.stepId ? operation.replacement.id : id) }));
218
+ }
219
+ else if (operation.type === "splitTask") {
220
+ const index = indexOf(operation.stepId);
221
+ const original = steps[index];
222
+ if (operation.steps.length < 2)
223
+ throw new Error("split requires at least two replacement steps");
224
+ const replacements = operation.steps.map((step, i) => normalizeStep({ ...step, dependencies: (step.dependencies?.length ?? 0) > 0 ? step.dependencies : (i === 0 ? original.dependencies : [operation.steps[i - 1].id]) }));
225
+ steps.splice(index, 1, ...replacements);
226
+ const finalId = replacements.at(-1).id;
227
+ steps = steps.map((step) => ({ ...step, dependencies: (step.dependencies ?? []).map((id) => id === operation.stepId ? finalId : id) }));
228
+ }
229
+ else {
230
+ if (operation.stepIds.length < 2)
231
+ throw new Error("merge requires at least two steps");
232
+ const indexes = operation.stepIds.map(indexOf);
233
+ const selected = new Set(operation.stepIds);
234
+ const first = Math.min(...indexes);
235
+ const dependencies = [...new Set(operation.stepIds.flatMap((id) => steps[indexOf(id)].dependencies ?? []).filter((id) => !selected.has(id)))];
236
+ steps = steps.filter((step) => !selected.has(step.id));
237
+ steps.splice(first, 0, normalizeStep({ ...operation.step, dependencies: operation.step.dependencies ?? dependencies }));
238
+ steps = steps.map((step) => ({ ...step, dependencies: (step.dependencies ?? []).map((id) => selected.has(id) ? operation.step.id : id) }));
239
+ }
240
+ const next = { ...plan, steps, version: plan.version + 1, updatedAt: new Date().toISOString() };
241
+ assertValidPlanDag(next);
242
+ return next;
243
+ }
98
244
  //# sourceMappingURL=task-plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"task-plan.js","sourceRoot":"","sources":["../../src/agent/task-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-plan.js","sourceRoot":"","sources":["../../src/agent/task-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqCzC,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,IAAc,EACd,QAAqE,EAAE;IAEvE,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,KAAK;QACL,IAAI;QACJ,MAAM,EAAE,SAAS;QACjB,GAAG,KAAK;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,UAA0B,EAC1B,KAAiB;IAEjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI;QACJ,UAAU;QACV,KAAK;QACL,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc,EAAE,MAAc;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACrD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAc,EACd,MAAc,EACd,IAAyB;IAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACrD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAc,EACd,MAAc,EACd,IAAyB;IAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACrD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,OAAO,IAAI,CAAC,KAAK;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC;SACnC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,OAAO,IAAI,CAAC,KAAK;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC;SACnC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AACjE,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAc;IAChD,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,KAAK,MAAM;YACpB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;oBACxB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;wBACzB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,KAAK,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,MAAM,KAAK,GAA+B;QACxC,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,GAAG;KACb,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AA+BD,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,KAA8C,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5F,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,GAAsB;QAC9B,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,UAAU;QACxC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACrD,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACtE,aAAa,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9E,KAAK,EAAG,GAAG,CAAC,KAA6B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvD,GAAG,IAAI;YACP,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAC5C,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;SAC/C,CAAC,CAAC;KACJ,CAAC;IACF,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAsC;IACpE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;QACpF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,UAAU,QAAQ,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YAC1G,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,CAAC,EAAU,EAAW,EAAE;QACpC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,IAAI,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAC;QAChG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,GAAG;QAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;IAChG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAsC;IACvE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAsC;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9H,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACzH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAChC,IAAI,CAAC,MAAM,KAAK,SAAS;QACzB,CAAC,IAAI,CAAC,YAAY;QAClB,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAuB,EAAE,SAAwB;IAClF,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mCAAmC,SAAS,CAAC,eAAe,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,aAAa,GAAG,CAAC,IAAuB,EAAqB,EAAE,CAAC,CAAC;QACrE,GAAG,IAAI;QACP,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAC5C,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;KAC/C,CAAC,CAAC;IACH,IAAI,KAAK,GAAwB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,CAAC,EAAU,EAAU,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7G,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAAC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAE,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAAC,CAAC;SAC/K,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACzC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACvJ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAE,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IACnI,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACxI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,WAAW,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACxJ,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3J,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAE,CAAC;QACxE,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjG,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7N,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;QACxC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1I,CAAC;SAAM,CAAC;QACN,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAAC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAChI,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAE,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/I,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC;QACxH,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7I,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IAChG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -207,21 +207,13 @@ export declare function requiresFreshWebSearch(prompt: string): boolean;
207
207
  export declare function isLumpedSingleTask(taskTitles: string[]): boolean;
208
208
  export declare function freshnessGuardMessage(now?: Date): string;
209
209
  /**
210
- * Directive injected for build/scaffold turns. Forces the careful
211
- * explore understand → plan → implement loop instead of a one-shot dump,
212
- * and forbids stopping before the goal is reached.
213
- * Language/stack-agnostic: principles only; pick tools that match the project.
210
+ * Compact build inject reinforces judgment defaults without restating the
211
+ * full system playbook. Stack-agnostic.
214
212
  */
215
213
  export declare function buildWorkflowDirective(): string;
214
+ export declare function narrowNmapOperationDirective(): string;
216
215
  /**
217
- * Directive injected for pentest / security engagements when no plan exists
218
- * yet. A pentest has a different shape than a coding build: you do NOT have
219
- * a clear scope, stack, or feature list up front. The plan must be BUILT
220
- * FROM recon findings, not invented in advance. This directive tells the
221
- * agent that recon is allowed before a plan exists, that the first plan
222
- * comes after real findings, that incremental task additions are expected
223
- * as new attack surface appears, and that any out-of-scope discovery must
224
- * be flagged to the user rather than acted on.
216
+ * Compact pentest inject objective-first red team / VAPT defaults.
225
217
  */
226
218
  export declare function pentestWorkflowDirective(): string;
227
219
  /**
@@ -1144,8 +1144,14 @@ export function formatToolArgs(call) {
1144
1144
  return `${call.args.target ?? ""}${call.args.record ? ` ${call.args.record}` : " A"}`;
1145
1145
  if (call.name === "whois.lookup")
1146
1146
  return String(call.args.target ?? "");
1147
- if (call.name === "fs.read" || call.name === "fs.write" || call.name === "fs.append")
1147
+ if (call.name === "fs.read" ||
1148
+ call.name === "fs.write" ||
1149
+ call.name === "fs.append" ||
1150
+ call.name === "fs.edit" ||
1151
+ call.name === "fs.replaceLines" ||
1152
+ call.name === "fs.delete") {
1148
1153
  return String(call.args.path ?? "");
1154
+ }
1149
1155
  if (call.name === "fs.writeMany") {
1150
1156
  const files = Array.isArray(call.args.files) ? call.args.files : [];
1151
1157
  const names = files
@@ -1531,78 +1537,39 @@ export function freshnessGuardMessage(now = new Date()) {
1531
1537
  "If web.search fails or has no results, say that current information is unavailable instead of guessing from memory.");
1532
1538
  }
1533
1539
  /**
1534
- * Directive injected for build/scaffold turns. Forces the careful
1535
- * explore understand → plan → implement loop instead of a one-shot dump,
1536
- * and forbids stopping before the goal is reached.
1537
- * Language/stack-agnostic: principles only; pick tools that match the project.
1540
+ * Compact build inject reinforces judgment defaults without restating the
1541
+ * full system playbook. Stack-agnostic.
1538
1542
  */
1539
1543
  export function buildWorkflowDirective() {
1540
1544
  return [
1541
- "BUILD WORKFLOW (build/scaffold/feature — follow this order EXACTLY; deviation is a failure):",
1542
- "1. EXPLORE (MANDATORY before plan.create): Read the WORKSPACE STATUS block if present. Also fs.list the process cwd, the user destination (Desktop/Documents/etc. if named), and any candidate project folder. Never assume a path is empty non-empty dirs make scaffolders print 'Operation cancelled'.",
1543
- "2. UNDERSTAND: fs.read manifest/config/entry files that exist (package.json, Cargo.toml, go.mod, pyproject.toml, composer.json, Gemfile, pom.xml, CMakeLists.txt, Makefile, etc.). Detect the existing stack and MATCH it. If empty/missing, choose a sensible modern default for the ask and say so in the plan detail.",
1544
- "3. PLAN: call plan.create with a comprehensive plan — detail MUST state (a) what already exists on disk, (b) stack + why, (c) whether you will CONTINUE an existing project or create a NEW empty subfolder, (d) how you will verify. Tasks: 4–8 ordered steps. If the target project ALREADY EXISTS, the first task is NOT re-scaffold — it is inspect/continue. Middle tasks implement the REAL feature (replace boilerplate). Include install/build as needed. For local apps with a server, the FINAL task starts it (shell.start), waits until ready (shell.tail), probes it, LEAVES it running, reports URL/port/job id. Scaffold + install + run alone without the feature is a FAILURE.",
1545
- "4. IMPLEMENT: after /implement approval, task by task in STRICT ORDER: task.update in_progress real work VERIFY tool success → task.update done next. Never mark done without a successful tool result. Never run install/server work under a pure implement task. Batch only within ONE task.",
1546
- "",
1547
- "PATHS & SCAFFOLDING (stack-agnostic):",
1548
- "- DESTINATION PATHS ARE LITERAL. Absolute destinations keep their leading `/`. Never turn `/Users/alice/Desktop` into relative `Users/alice/Desktop` under cwd. Create/work at the real absolute path. Outside-sandbox paths need confirmation, not a silent fallback to the agent cwd.",
1549
- "- Agent process cwd may be THIS tool's source tree — never write the user's app into it. Prefer absolute paths under the real project root for every fs/shell call.",
1550
- "- Prefer the ecosystem's official non-interactive scaffolder into a NEW EMPTY subfolder. Examples (use only when that stack is appropriate): JS `npm create … <name>`, Rust `cargo new <name>`, Go `go mod init`, Python `poetry new` / language defaults, Rails `rails new`, etc. Scaffolders REFUSE non-empty directories → 'Operation cancelled'. `--yes` does not fix that. NEVER re-scaffold into an existing project; continue it instead.",
1551
- "- If a scaffolder cannot run non-interactively, hand-write a minimal correct tree for that stack and install deps yourself.",
1552
- "- VERIFY init: project markers/files must exist after scaffold. 'Operation cancelled', non-zero exit, or missing tree = FAILED task — do not pretend success.",
1553
- "",
1554
- "CRITICAL RULES during IMPLEMENTATION:",
1555
- "- Batch tool calls carefully: read-only lookups may parallelize; writes/commands are sequential. Keep each batch on ONE task.",
1556
- "- During /implement, do not re-do full explore unless WORKSPACE STATUS is missing or a path is ambiguous start the first pending task.",
1557
- "- ONE task at a time, in ORDER.",
1558
- "- Write complete files; never shorten to fit a tool call. Prefer fs.writeMany for several files, fs.write for one large file, fs.edit for exact text, fs.replaceLines only with fresh line numbers from fs.read.",
1559
- "- VERIFY before done: after writes, confirm content; after commands, exit 0; after builds, the project’s real build/test command succeeds. A dev server 'ready' line is NOT proof the app is correct — run the stack’s build or tests when they exist.",
1560
- "- On failure: mark failed, diagnose root cause, fix, retry. Do not jump edits without reading the error context.",
1561
- "- NEVER claim done / installed / running without a successful tool result you actually saw.",
1562
- "- For local server apps: shell.start (not background via shell.exec), shell.tail + one localhost probe, leave running, report URL + job id.",
1563
- "- THE DELIVERABLE IS THE WORKING FEATURE, NOT THE SCAFFOLD. Replace starter boilerplate with what the user asked for (todo UI, API routes, CLI commands, etc.). Leaving the default starter is a failure even if build passes.",
1564
- "- REVISING PLANS: new user requests → plan.create with prior completed tasks preserved + new tasks appended; wait for approval; do not re-run done tasks. Run-only requests after a finished plan → tools only, no new plan.",
1565
- "",
1566
- "FORBIDDEN until plan.create + user /implement: fs.write, fs.writeMany, fs.edit, fs.append, shell.exec (except bare version probes), shell.start, pkg.install, pkg.uninstall, and all scaffolders. Allowed before the plan: fs.list/read/search, tool.check, sysinfo, web.search/web.fetch (docs only), and plan.create. If nudged to act with no plan yet: explore read-only (optional web research), then plan.create — never freestyle scaffold. Scaffolders/install can take many quiet minutes — do not abandon them; if a run is interrupted but package.json already exists, CONTINUE (npm install + implement feature), do not re-scaffold.",
1567
- "Trivial single-file typo fixes may skip the plan; multi-file apps/features ALWAYS plan.create first, then wait for /implement.",
1545
+ "BUILD FOCUS (this turn is a build/scaffold/feature — use judgment, not a rigid script):",
1546
+ "EXPLORE once: read WORKSPACE STATUS; list the user destination and candidate project only as needed. After a project root is known, work there do NOT repeatedly relist the parent destination. Non-empty dirs CONTINUE an existing project / existing stack (NEVER re-scaffold). 'Operation cancelled' = failure.",
1547
+ "UNDERSTAND: match existing stack from manifests/lockfiles (package manager from lockfile). Empty path pick a modern default and say so. Stack-agnostic scaffolding only into NEW EMPTY folders.",
1548
+ "Scaffold destination is the new subfolder (e.g. Desktop/app), not the parent. Feature apps: replace starter boilerplate scaffold alone is a failure. For multi-phase app builds, create one concise durable plan with meaningful tasks before mutation and keep task states current; trivial edits can skip tasks.",
1549
+ "Local apps end with shell.start + probe; LEAVE the server running; report URL/port/job id. Absolute paths; never write the user app into the agent package tree.",
1550
+ "On tool WARN/error: change approach — never retry the identical failing command. Debug by root cause; never stop at diagnosis without fix+re-verify.",
1551
+ ].join("\n");
1552
+ }
1553
+ export function narrowNmapOperationDirective() {
1554
+ return [
1555
+ "NARROW NMAP OPERATION (the user requested one bounded scan, not a broader pentest):",
1556
+ "- Call net.scan exactly once with the requested target, ports, scan type, and timing/profile semantics.",
1557
+ "- Do NOT call plan.create or task.update. Do NOT add WHOIS, DNS, HTTP fetching, crawling, vulnerability checks, reconnaissance, or attack-surface analysis unless the user explicitly requested them.",
1558
+ "- If the scan needs administrator access, let net.scan open the secure password prompt. Never retry through shell.exec or place a password in command text.",
1559
+ "- For a background result, use only backgroundJob.id as the shell.tail id. Report the canonical job ID and current/terminal status; do not mistake the artifact filename for the ID.",
1560
+ "- Stop after reporting this scan's result or durable job receipt. Ask before broadening the operation.",
1568
1561
  ].join("\n");
1569
1562
  }
1570
1563
  /**
1571
- * Directive injected for pentest / security engagements when no plan exists
1572
- * yet. A pentest has a different shape than a coding build: you do NOT have
1573
- * a clear scope, stack, or feature list up front. The plan must be BUILT
1574
- * FROM recon findings, not invented in advance. This directive tells the
1575
- * agent that recon is allowed before a plan exists, that the first plan
1576
- * comes after real findings, that incremental task additions are expected
1577
- * as new attack surface appears, and that any out-of-scope discovery must
1578
- * be flagged to the user rather than acted on.
1564
+ * Compact pentest inject objective-first red team / VAPT defaults.
1579
1565
  */
1580
1566
  export function pentestWorkflowDirective() {
1581
1567
  return [
1582
- "PENTEST WORKFLOW (this is a security / pentest engagement — follow this order EXACTLY; deviation is a failure):",
1583
- "1. RECON FIRST, NO PLAN YET. For pentest engagements, run reconnaissance and discovery DIRECTLY before creating a plan. Read-only recon (whois.lookup, dns.lookup, net.context, http.fetch GET, tool.batch of read-only lookups, net.scan, pentest.recon) is allowed BEFORE any plan exists these calls do not require an active plan or an in-progress task, because recon is what the plan is built FROM. Batch independent lookups with tool.batch to parallelize. Do NOT skip recon to 'get the plan started'.",
1584
- "2. FINGERPRINT THE TECH STACK. After initial recon, identify the target's technology stack FROM REAL EVIDENCE (http.fetch output includes a 'Tech Stack Detected' summary with Server, Framework, Frontend, CDN, Languages, Security Headers). Read this summary carefully. Once identified, ALL subsequent enumeration and exploitation MUST target that specific stack. Do NOT throw PHP wordlists at a Next.js target, .aspx payloads at a Python app, or Java exploits at a Node.js service. If the stack is unclear, probe a few discriminating endpoints (/_next/data, /wp-login.php, /api/, /elmah.axd) to confirm before committing.",
1585
- "3. PLAN FROM REAL FINDINGS. Call plan.create ONLY after you have real findings — open ports, services and versions, endpoints, technologies (identified stack), weaknesses, exposed surfaces. A pentest plan without findings is a guess. Use these exact response shapes: (A) RECON RESPONSE = one or more gathering calls only; NEVER include plan.create. (B) ANALYSIS + PLAN RESPONSE = reason from the returned tool output, then emit EXACTLY ONE standalone plan.create call; NEVER attach recon, exploitation, task.update, or any follow-on call. (C) AFTER PLAN RESPONSE = stop and wait for /implement approval. A plan based on proposed calls rather than returned evidence is invalid. The plan should reference the identified tech stack and scope tool/wordlist/payload choices to it.",
1586
- "4. INCREMENTAL PLAN UPDATES AS ATTACK SURFACE GROWS. A pentest is inherently open-ended — every new open port, service, endpoint, or weakness uncovers more attack surface. Call plan.create again with a REVISED tasks array that includes ALL previously completed tasks (preserved by id and order) followed by the new tasks at the end. The system merges and preserves the completed state of the old tasks. Do NOT delete done work to add new tasks; do NOT restart from scratch.",
1587
- "5. STAY INSIDE THE ENGAGEMENT SCOPE. The engagement scope is the hard boundary. Do NOT scan, probe, fuzz, or attack hosts / domains / ports that are out of scope. If a recon result exposes something clearly out of scope (a discovered subdomain, an adjacent service, an unrelated host, a port on a different network), STOP and FLAG it to the user in plain prose — do NOT act on it automatically. Out-of-scope targets require explicit user confirmation before any active testing.",
1588
- "6. ENUMERATE WITH STACK-TARGETED TOOLS. Most findings come from thorough, STACK-TARGETED enumeration — not from blindly fuzzing with every extension (.php, .asp, .aspx, .jsp, .cgi). Once you know the stack from step 2, use the right wordlists, extensions, and payloads for THAT stack ONLY. Once you have a vector, carry exploitation through with tools (build / adapt a PoC, generate the payload, run the attack, verify the result) — but pick the vector FROM the findings, not from a hunch.",
1589
- "7. DISCOVERY HYGIENE AND SIGNAL CONTROL. Do not guess dozens of directories/endpoints or wordlist paths and send speculative fetches. Derive candidates from returned links, robots.txt, sitemap, assets, banners, and the identified stack; use a dedicated, bounded discovery tool when one is warranted. For directory/content discovery, select an appropriate fuzzer (ffuf, gobuster, feroxbuster, dirsearch, or dirb) only after stack fingerprinting and a verified wordlist. Before using a non-standard binary call tool.check; if missing and appropriate, install only that needed tool via pkg.install and verify it before use. Before wordlist-driven discovery call wordlist.find. Configure scanners for quiet/structured output, include only candidate hits or relevant status codes, and filter known negative/wildcard responses at the scanner. Return successes and unusual findings; retain one representative failure only when there are no findings. Never spend model context on progress bars, verbose banners, or thousands of repeated failures.",
1590
- "8. COMPLETION = STOP. When plan tasks are done and you have written the findings/report (or the user only asked for recon findings), your final deliverable is the report/summary. Do NOT then explore the local workspace, do NOT read the clai package.json, do NOT run npm/bun/vite/next, and do NOT shell.start a localhost server. Remote targets are not local apps. Only start a local server if the user explicitly asked to run or test a local project.",
1591
- "",
1592
- "WHAT REQUIRES A PLAN vs. WHAT DOES NOT (read this carefully):",
1593
- "- Read-only recon (whois.lookup, dns.lookup, net.context, http.fetch GET, tool.batch of read-only lookups, net.scan, pentest.recon) DOES NOT require an active plan or an in-progress task. These calls gather the findings the plan is built on; they are allowed before plan.create and outside the task-update gate.",
1594
- "- Active / exploit calls (http.fetch with a non-GET method or a body, custom payloads, brute-force, sqlmap / hydra / msfconsole, listener / callback setup, shellcode execution, anything that mutates the target or generates side-effects) DO require an active plan AND an in-progress task AND a one-time pentest authorization prompt. Run them inside a plan task and update the task as you go (in_progress → work → done).",
1595
- "",
1596
- "CRITICAL RULES during a pentest engagement:",
1597
- "- TECH STACK AWARENESS: Every enumeration/exploit tool call MUST be relevant to the identified tech stack. If you detected Next.js, do NOT fuzz for .php, .asp, or .jsp files — focus on /_next/data, /api/ routes, .env, client-side JS analysis, SSR endpoints. If you detected WordPress, focus on wp-admin, wp-content, xmlrpc.php, plugin/theme enumeration. Wrong-stack tool calls waste context tokens and produce zero findings.",
1598
- "- VERIFY every claim from real tool output: an open port, a service version, an exploit success, a captured credential, a shell. Never fabricate findings. A reported 'vulnerability' without evidence is worse than no report.",
1599
- "- EVIDENCE: capture the exact command run and its real output for every finding. Long recon / scan transcripts are saved as artifacts you can reference; cite the artifact path in your report.",
1600
- "- NON-DESTRUCTIVE BY DEFAULT: prove a vulnerability with the least-invasive evidence (a benign PoC, a marker file, a reflected value, whoami / id after a shell). Do not destroy data, DoS the target, or exfiltrate real sensitive data unless the user explicitly asks for that impact.",
1601
- "- SCOPE BOUNDARY: if a recon call returns something clearly out of the engagement scope, do NOT keep exploring it. Flag it to the user in plain prose and ask whether to add it to scope. Do not silently expand scope.",
1602
- "- NO-SCOPE FALLBACK: if no engagement scope is configured, treat the explicitly-named target(s) in the user's request as the scope and flag everything else (subdomains, adjacent IPs, unrelated services) before touching it.",
1603
- "- REPORTING: each finding = TITLE, SEVERITY (critical / high / medium / low / info), AFFECTED asset or endpoint, EVIDENCE (command + key output), REPRODUCTION steps, IMPACT, concrete REMEDIATION.",
1604
- "- CTF / BOXES: the goal is the flag or the foothold — enumerate, get a shell, escalate, read the flag. Iterate quickly across likely vectors instead of exhausting one, and move on the moment you have what the objective needs.",
1605
- "- NO LOCAL DEV SERVER ON REMOTE ENGAGEMENTS: shell.start / npm run dev / bun run / vite / next dev / python -m http.server are FORBIDDEN unless the user explicitly named a local path/app to test. The working directory may be the clai tool itself — that is NOT the target. Never treat ~/.clai or the clai source tree as the application under test.",
1568
+ "PENTEST FOCUS (security / pentest / VAPT engagement — find and verify real findings, not theater):",
1569
+ "RECON FIRST (no plan needed): whois.lookup, dns.lookup, net.context, http.fetch GET, tool.batch, net.scan, pentest.recon plus shell enum/fuzz as needed. Map surface hungrily: subdomains, ports (escalate beyond top-100 when thorough), content/API enum (ffuf/gobuster + wordlist.find), JS harvest, auth entry points. Background long scans; continue other recon.",
1570
+ "Threat model from evidence actively test high-ROI vectors (authz/IDOR, auth/session/JWT, business logic, real injection sinks, secrets in JS). Confirm with PoC evidence not port lists alone.",
1571
+ "Preferred shapes: RECON RESPONSE ANALYSIS + PLAN RESPONSE (standalone plan.create from returned tool output). Incremental tasks as attack surface grows. Report TITLE/SEVERITY/EVIDENCE/REPRO/IMPACT/REMEDIATION + residual/untested.",
1572
+ "Never claim mature posture if major classes were untested. Stay in engagement scope; FLAG out-of-scope hosts. Non-destructive default. No local dev server for remote targets.",
1606
1573
  ].join("\n");
1607
1574
  }
1608
1575
  /**
@@ -1613,9 +1580,9 @@ export function pentestNoLocalServerDirective() {
1613
1580
  return [
1614
1581
  "REMOTE / PENTEST SESSION RULE (always on for this engagement):",
1615
1582
  "- Target is remote (or remote-style). After findings/report delivery, STOP.",
1616
- "- FORBIDDEN unless the user explicitly asks for a local app: shell.start, npm/bun/pnpm/yarn run dev, vite, next dev, python -m http.server, and any localhost “dev server” workflow.",
1617
- "- FORBIDDEN as a post-report follow-up: fs.list/fs.read of the clai workspace or package.json to “figure out how to start the server”.",
1618
- "- If the user only said they want the assessment complete, answer in prose. Do not invent a new local-server task.",
1583
+ "- Do not shell.start / npm|bun|pnpm|yarn run dev / vite / next dev / python -m http.server unless the user explicitly asked for a local app.",
1584
+ "- Do not explore the clai workspace or package.json to invent a local server task.",
1585
+ "- If assessment is complete, answer in prose with evidence no local-server follow-up.",
1619
1586
  ].join("\n");
1620
1587
  }
1621
1588
  export function shouldDimToolChatter(call) {