@prestyj/cli 5.29.1 → 5.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/README.md +11 -12
  2. package/assets/skills/bulletproof/SKILL.md +1 -1
  3. package/assets/skills/clarify/SKILL.md +1 -1
  4. package/assets/skills/code-review/SKILL.md +1 -1
  5. package/assets/skills/compliance-guard/SKILL.md +1 -1
  6. package/assets/skills/compliance-guard/references/us.md +1 -1
  7. package/assets/skills/durable/SKILL.md +1 -1
  8. package/assets/skills/evidence-led-ui/SKILL.md +1 -1
  9. package/assets/skills/lean/SKILL.md +1 -1
  10. package/assets/skills/refactoring/SKILL.md +3 -1
  11. package/assets/skills/root-cause/SKILL.md +1 -1
  12. package/assets/skills/shared-language/SKILL.md +1 -1
  13. package/assets/skills/tdd/SKILL.md +1 -1
  14. package/dist/app-error.d.ts +21 -0
  15. package/dist/app-error.js +39 -0
  16. package/dist/app-error.js.map +1 -0
  17. package/dist/app-sidecar/app-settings.d.ts +63 -0
  18. package/dist/app-sidecar/app-settings.js +147 -0
  19. package/dist/app-sidecar/app-settings.js.map +1 -0
  20. package/dist/app-sidecar/attachments.d.ts +11 -0
  21. package/dist/app-sidecar/attachments.js +47 -0
  22. package/dist/app-sidecar/attachments.js.map +1 -0
  23. package/dist/app-sidecar/auth-routes.d.ts +3 -0
  24. package/dist/app-sidecar/auth-routes.js +290 -0
  25. package/dist/app-sidecar/auth-routes.js.map +1 -0
  26. package/dist/app-sidecar/autopilot-runner.d.ts +62 -0
  27. package/dist/app-sidecar/autopilot-runner.js +376 -0
  28. package/dist/app-sidecar/autopilot-runner.js.map +1 -0
  29. package/dist/app-sidecar/file-search.d.ts +15 -0
  30. package/dist/app-sidecar/file-search.js +103 -0
  31. package/dist/app-sidecar/file-search.js.map +1 -0
  32. package/dist/app-sidecar/hf-pull-manager.d.ts +20 -0
  33. package/dist/app-sidecar/hf-pull-manager.js +224 -0
  34. package/dist/app-sidecar/hf-pull-manager.js.map +1 -0
  35. package/dist/app-sidecar/history-routes.d.ts +3 -0
  36. package/dist/app-sidecar/history-routes.js +375 -0
  37. package/dist/app-sidecar/history-routes.js.map +1 -0
  38. package/dist/app-sidecar/history.d.ts +67 -0
  39. package/dist/app-sidecar/history.js +23 -0
  40. package/dist/app-sidecar/history.js.map +1 -0
  41. package/dist/app-sidecar/http.d.ts +5 -0
  42. package/dist/app-sidecar/http.js +27 -0
  43. package/dist/app-sidecar/http.js.map +1 -0
  44. package/dist/app-sidecar/integration-routes.d.ts +3 -0
  45. package/dist/app-sidecar/integration-routes.js +286 -0
  46. package/dist/app-sidecar/integration-routes.js.map +1 -0
  47. package/dist/app-sidecar/json-mode.d.ts +10 -0
  48. package/dist/app-sidecar/json-mode.js +73 -0
  49. package/dist/app-sidecar/json-mode.js.map +1 -0
  50. package/dist/app-sidecar/keep-awake.d.ts +4 -0
  51. package/dist/app-sidecar/keep-awake.js +5 -0
  52. package/dist/app-sidecar/keep-awake.js.map +1 -0
  53. package/dist/app-sidecar/mcp-routes.d.ts +3 -0
  54. package/dist/app-sidecar/mcp-routes.js +185 -0
  55. package/dist/app-sidecar/mcp-routes.js.map +1 -0
  56. package/dist/app-sidecar/mcp-rows.d.ts +31 -0
  57. package/dist/app-sidecar/mcp-rows.js +77 -0
  58. package/dist/app-sidecar/mcp-rows.js.map +1 -0
  59. package/dist/app-sidecar/nolan-context.d.ts +20 -0
  60. package/dist/app-sidecar/nolan-context.js +55 -0
  61. package/dist/app-sidecar/nolan-context.js.map +1 -0
  62. package/dist/app-sidecar/progress-manager.d.ts +10 -0
  63. package/dist/app-sidecar/progress-manager.js +116 -0
  64. package/dist/app-sidecar/progress-manager.js.map +1 -0
  65. package/dist/app-sidecar/prompt-routes.d.ts +3 -0
  66. package/dist/app-sidecar/prompt-routes.js +355 -0
  67. package/dist/app-sidecar/prompt-routes.js.map +1 -0
  68. package/dist/app-sidecar/repo-polls.d.ts +15 -0
  69. package/dist/app-sidecar/repo-polls.js +25 -0
  70. package/dist/app-sidecar/repo-polls.js.map +1 -0
  71. package/dist/app-sidecar/route-context.d.ts +145 -0
  72. package/dist/app-sidecar/route-context.js +2 -0
  73. package/dist/app-sidecar/route-context.js.map +1 -0
  74. package/dist/app-sidecar/run-control-routes.d.ts +3 -0
  75. package/dist/app-sidecar/run-control-routes.js +437 -0
  76. package/dist/app-sidecar/run-control-routes.js.map +1 -0
  77. package/dist/app-sidecar/session-routes.d.ts +3 -0
  78. package/dist/app-sidecar/session-routes.js +115 -0
  79. package/dist/app-sidecar/session-routes.js.map +1 -0
  80. package/dist/app-sidecar/session-types.d.ts +39 -0
  81. package/dist/app-sidecar/session-types.js +5 -0
  82. package/dist/app-sidecar/session-types.js.map +1 -0
  83. package/dist/app-sidecar/task-routes.d.ts +3 -0
  84. package/dist/app-sidecar/task-routes.js +232 -0
  85. package/dist/app-sidecar/task-routes.js.map +1 -0
  86. package/dist/app-sidecar/usage.d.ts +19 -0
  87. package/dist/app-sidecar/usage.js +153 -0
  88. package/dist/app-sidecar/usage.js.map +1 -0
  89. package/dist/app-sidecar/workspace-routes.d.ts +3 -0
  90. package/dist/app-sidecar/workspace-routes.js +374 -0
  91. package/dist/app-sidecar/workspace-routes.js.map +1 -0
  92. package/dist/app-sidecar.js +518 -3978
  93. package/dist/app-sidecar.js.map +1 -1
  94. package/dist/cli.js +6 -2
  95. package/dist/cli.js.map +1 -1
  96. package/dist/config.js +1 -1
  97. package/dist/core/acceptance-checks.js +3 -9
  98. package/dist/core/acceptance-checks.js.map +1 -1
  99. package/dist/core/agent-session/helpers.d.ts +26 -0
  100. package/dist/core/agent-session/helpers.js +47 -0
  101. package/dist/core/agent-session/helpers.js.map +1 -0
  102. package/dist/core/agent-session/mcp-tools.d.ts +68 -0
  103. package/dist/core/agent-session/mcp-tools.js +195 -0
  104. package/dist/core/agent-session/mcp-tools.js.map +1 -0
  105. package/dist/core/agent-session/run-loop-monitor.d.ts +63 -0
  106. package/dist/core/agent-session/run-loop-monitor.js +164 -0
  107. package/dist/core/agent-session/run-loop-monitor.js.map +1 -0
  108. package/dist/core/agent-session/transcript-markers.d.ts +57 -0
  109. package/dist/core/agent-session/transcript-markers.js +166 -0
  110. package/dist/core/agent-session/transcript-markers.js.map +1 -0
  111. package/dist/core/agent-session/verification-tracker.d.ts +46 -0
  112. package/dist/core/agent-session/verification-tracker.js +250 -0
  113. package/dist/core/agent-session/verification-tracker.js.map +1 -0
  114. package/dist/core/agent-session.d.ts +29 -89
  115. package/dist/core/agent-session.js +167 -705
  116. package/dist/core/agent-session.js.map +1 -1
  117. package/dist/core/auth-providers.js +3 -3
  118. package/dist/core/auth-providers.js.map +1 -1
  119. package/dist/core/autopilot-cycle.d.ts +6 -2
  120. package/dist/core/autopilot-cycle.js +1 -1
  121. package/dist/core/autopilot-cycle.js.map +1 -1
  122. package/dist/core/bundled-agents.js +6 -6
  123. package/dist/core/bundled-agents.js.map +1 -1
  124. package/dist/core/checklist-detection.d.ts +11 -0
  125. package/dist/core/checklist-detection.js +238 -0
  126. package/dist/core/checklist-detection.js.map +1 -0
  127. package/dist/core/checklist-git.d.ts +19 -0
  128. package/dist/core/checklist-git.js +54 -0
  129. package/dist/core/checklist-git.js.map +1 -0
  130. package/dist/core/checklist-items.d.ts +189 -0
  131. package/dist/core/checklist-items.js +226 -0
  132. package/dist/core/checklist-items.js.map +1 -0
  133. package/dist/core/checklist-prompt.d.ts +7 -0
  134. package/dist/core/checklist-prompt.js +45 -0
  135. package/dist/core/checklist-prompt.js.map +1 -0
  136. package/dist/core/checklist-snapshot.d.ts +17 -0
  137. package/dist/core/checklist-snapshot.js +46 -0
  138. package/dist/core/checklist-snapshot.js.map +1 -0
  139. package/dist/core/checklist-store.d.ts +59 -0
  140. package/dist/core/checklist-store.js +242 -0
  141. package/dist/core/checklist-store.js.map +1 -0
  142. package/dist/core/context-limits.js +1 -1
  143. package/dist/core/context-limits.js.map +1 -1
  144. package/dist/core/lsp/client.d.ts +4 -0
  145. package/dist/core/lsp/client.js +71 -3
  146. package/dist/core/lsp/client.js.map +1 -1
  147. package/dist/core/lsp/manager.d.ts +1 -0
  148. package/dist/core/lsp/manager.js +9 -3
  149. package/dist/core/lsp/manager.js.map +1 -1
  150. package/dist/core/lsp/project-root.d.ts +9 -0
  151. package/dist/core/lsp/project-root.js +75 -0
  152. package/dist/core/lsp/project-root.js.map +1 -0
  153. package/dist/core/lsp/reference-project.d.ts +6 -0
  154. package/dist/core/lsp/reference-project.js +110 -0
  155. package/dist/core/lsp/reference-project.js.map +1 -0
  156. package/dist/core/lsp/servers.js +1 -0
  157. package/dist/core/lsp/servers.js.map +1 -1
  158. package/dist/core/plan-handoff.d.ts +30 -0
  159. package/dist/core/plan-handoff.js +10 -0
  160. package/dist/core/plan-handoff.js.map +1 -0
  161. package/dist/core/plan-submission-gate.d.ts +28 -0
  162. package/dist/core/plan-submission-gate.js +27 -0
  163. package/dist/core/plan-submission-gate.js.map +1 -0
  164. package/dist/core/prompt-commands.js +95 -0
  165. package/dist/core/prompt-commands.js.map +1 -1
  166. package/dist/core/skills.js +6 -9
  167. package/dist/core/skills.js.map +1 -1
  168. package/dist/core/style-packs/index.js +2 -11
  169. package/dist/core/style-packs/index.js.map +1 -1
  170. package/dist/core/style-packs/packs.d.ts +3 -12
  171. package/dist/core/style-packs/packs.js +132 -173
  172. package/dist/core/style-packs/packs.js.map +1 -1
  173. package/dist/core/subagent-manager.d.ts +2 -1
  174. package/dist/core/subagent-manager.js +8 -5
  175. package/dist/core/subagent-manager.js.map +1 -1
  176. package/dist/core/verification-evidence.d.ts +8 -0
  177. package/dist/core/verification-evidence.js +27 -5
  178. package/dist/core/verification-evidence.js.map +1 -1
  179. package/dist/modes/acp-mode.d.ts +2 -1
  180. package/dist/modes/acp-mode.js +4 -1
  181. package/dist/modes/acp-mode.js.map +1 -1
  182. package/dist/modes/subagent-worker-mode.d.ts +2 -0
  183. package/dist/modes/subagent-worker-mode.js +1 -3
  184. package/dist/modes/subagent-worker-mode.js.map +1 -1
  185. package/dist/system-prompt.js +52 -78
  186. package/dist/system-prompt.js.map +1 -1
  187. package/dist/tools/ask-user.js +13 -74
  188. package/dist/tools/ask-user.js.map +1 -1
  189. package/dist/tools/bash.d.ts +4 -1
  190. package/dist/tools/bash.js +46 -81
  191. package/dist/tools/bash.js.map +1 -1
  192. package/dist/tools/checklist.d.ts +48 -0
  193. package/dist/tools/checklist.js +146 -0
  194. package/dist/tools/checklist.js.map +1 -0
  195. package/dist/tools/code-nav.d.ts +1 -1
  196. package/dist/tools/code-nav.js +9 -30
  197. package/dist/tools/code-nav.js.map +1 -1
  198. package/dist/tools/edit.d.ts +3 -9
  199. package/dist/tools/edit.js +92 -65
  200. package/dist/tools/edit.js.map +1 -1
  201. package/dist/tools/enter-plan.js +2 -7
  202. package/dist/tools/enter-plan.js.map +1 -1
  203. package/dist/tools/exit-plan.d.ts +2 -2
  204. package/dist/tools/exit-plan.js +9 -4
  205. package/dist/tools/exit-plan.js.map +1 -1
  206. package/dist/tools/find.js +3 -4
  207. package/dist/tools/find.js.map +1 -1
  208. package/dist/tools/grep.js +6 -18
  209. package/dist/tools/grep.js.map +1 -1
  210. package/dist/tools/index.d.ts +5 -3
  211. package/dist/tools/index.js +5 -1
  212. package/dist/tools/index.js.map +1 -1
  213. package/dist/tools/ls.js +3 -3
  214. package/dist/tools/ls.js.map +1 -1
  215. package/dist/tools/prompt-hints.js +35 -46
  216. package/dist/tools/prompt-hints.js.map +1 -1
  217. package/dist/tools/read.js +8 -20
  218. package/dist/tools/read.js.map +1 -1
  219. package/dist/tools/search-code.js +4 -12
  220. package/dist/tools/search-code.js.map +1 -1
  221. package/dist/tools/skill.js +13 -7
  222. package/dist/tools/skill.js.map +1 -1
  223. package/dist/tools/subagent-control.js +7 -22
  224. package/dist/tools/subagent-control.js.map +1 -1
  225. package/dist/tools/subagent-shared.d.ts +6 -8
  226. package/dist/tools/subagent-shared.js +17 -11
  227. package/dist/tools/subagent-shared.js.map +1 -1
  228. package/dist/tools/subagent.d.ts +2 -1
  229. package/dist/tools/subagent.js +7 -7
  230. package/dist/tools/subagent.js.map +1 -1
  231. package/dist/tools/task-output.js +4 -15
  232. package/dist/tools/task-output.js.map +1 -1
  233. package/dist/tools/task-send.js +5 -17
  234. package/dist/tools/task-send.js.map +1 -1
  235. package/dist/tools/task-stop.js +2 -2
  236. package/dist/tools/task-stop.js.map +1 -1
  237. package/dist/tools/tasks.d.ts +1 -1
  238. package/dist/tools/tool-search.js +2 -7
  239. package/dist/tools/tool-search.js.map +1 -1
  240. package/dist/tools/tool-tiers.d.ts +21 -4
  241. package/dist/tools/tool-tiers.js +45 -17
  242. package/dist/tools/tool-tiers.js.map +1 -1
  243. package/dist/tools/verification-review.d.ts +2 -0
  244. package/dist/tools/verification-review.js +41 -0
  245. package/dist/tools/verification-review.js.map +1 -0
  246. package/dist/tools/web-fetch.js +7 -33
  247. package/dist/tools/web-fetch.js.map +1 -1
  248. package/dist/tools/write.js +3 -4
  249. package/dist/tools/write.js.map +1 -1
  250. package/dist/ui/App.js +1 -0
  251. package/dist/ui/App.js.map +1 -1
  252. package/dist/ui/components/Footer.js +1 -2
  253. package/dist/ui/components/Footer.js.map +1 -1
  254. package/dist/ui/hooks/useModeState.js +15 -0
  255. package/dist/ui/hooks/useModeState.js.map +1 -1
  256. package/dist/ui/tool-line-summary.js +11 -1
  257. package/dist/ui/tool-line-summary.js.map +1 -1
  258. package/dist/ui/transcript/tool-presentation.js +1 -1
  259. package/dist/ui/transcript/tool-presentation.js.map +1 -1
  260. package/dist/utils/shared-poll.d.ts +37 -0
  261. package/dist/utils/shared-poll.js +104 -0
  262. package/dist/utils/shared-poll.js.map +1 -0
  263. package/package.json +8 -5
  264. package/dist/core/api-benchmark.d.ts +0 -63
  265. package/dist/core/api-benchmark.js +0 -381
  266. package/dist/core/api-benchmark.js.map +0 -1
  267. package/dist/core/bash-spawn-benchmark.d.ts +0 -1
  268. package/dist/core/bash-spawn-benchmark.js +0 -139
  269. package/dist/core/bash-spawn-benchmark.js.map +0 -1
  270. package/dist/core/cache-warm-benchmark.d.ts +0 -21
  271. package/dist/core/cache-warm-benchmark.js +0 -170
  272. package/dist/core/cache-warm-benchmark.js.map +0 -1
  273. package/dist/core/fast-apply-benchmark.d.ts +0 -25
  274. package/dist/core/fast-apply-benchmark.js +0 -284
  275. package/dist/core/fast-apply-benchmark.js.map +0 -1
  276. package/dist/core/hashline-edit-benchmark.d.ts +0 -88
  277. package/dist/core/hashline-edit-benchmark.js +0 -518
  278. package/dist/core/hashline-edit-benchmark.js.map +0 -1
  279. package/dist/core/semantic-search-benchmark.d.ts +0 -36
  280. package/dist/core/semantic-search-benchmark.js +0 -211
  281. package/dist/core/semantic-search-benchmark.js.map +0 -1
  282. package/dist/core/speed-benchmark.d.ts +0 -132
  283. package/dist/core/speed-benchmark.js +0 -410
  284. package/dist/core/speed-benchmark.js.map +0 -1
@@ -13,15 +13,19 @@ import { isCatastrophicCommand } from "../core/workspace-guard.js";
13
13
  import { checkDestructiveGit } from "../core/destructive-git-guard.js";
14
14
  import { shellThreatBlockMessage } from "../core/shell-threats.js";
15
15
  import { checkPackageInstall } from "../core/package-threats.js";
16
+ import { classifyVerificationCommand, containsBoundedCheck, } from "../core/verification-evidence.js";
16
17
  import { checkCommandPolicy } from "../core/network-guard.js";
17
18
  import { prepareSandboxLaunch, SANDBOX_ENV_PATCH, } from "../core/sandbox.js";
18
19
  import { annotateSandboxDenial } from "../core/sandbox-feedback.js";
20
+ import { collectVerificationReview } from "./verification-review.js";
19
21
  /** Tool env, plus the tweaks that only make sense inside the OS sandbox. */
20
22
  function sandboxAwareEnv(sandboxed) {
21
23
  const env = getSafeToolEnv();
22
24
  return sandboxed ? { ...env, ...SANDBOX_ENV_PATCH } : env;
23
25
  }
24
26
  const DEFAULT_TIMEOUT = 120_000; // 120 seconds
27
+ /** Host-authored rejection: no process started, so this is not a failed check. */
28
+ export const REVIEW_REJECTED_BEFORE_START = "Error: review requires a local, non-persistent foreground verification check. Pass only the check in command; do not combine it with edits or diff inspection. Nothing was run.";
25
29
  const AUTO_BACKGROUND_RE = /^Still running after \d+(?:\.\d+)?s, so it was moved to the background\b/;
26
30
  /**
27
31
  * Background process id when a bash result reports that a foreground command
@@ -86,10 +90,21 @@ function isGoalModeRef(value) {
86
90
  * re-running the command. The offload is best-effort — a full disk or
87
91
  * permission error never fails the tool result.
88
92
  */
89
- export async function renderBashOutput(rawOutput) {
93
+ export async function renderBashOutput(rawOutput, command) {
94
+ // Feedback only when the command wraps a real check. Exploration that merely
95
+ // mentions a verifier (`ls .venv/bin | grep ruff`) is not a verification
96
+ // attempt; nagging it made the model reshape harmless commands repeatedly.
97
+ // Showing the note only once per session was measured and rejected: it cut
98
+ // notes by a third but raised tool calls 27% (bench/h2h/DIRAC-FINDINGS.md).
99
+ const check = command && containsBoundedCheck(command) ? classifyVerificationCommand(command) : undefined;
100
+ const feedback = check?.candidate && !check.accepted && check.snapshotPreserveOnly
101
+ ? "\n\n[This mixed check/inspection chain cannot establish fresh verification; it can only preserve earlier successful checks. If the current changes are not already verified, run the check standalone or chain only checks with &&. Do not claim fresh verification from this shell exit status.]"
102
+ : check?.candidate && !check.accepted && !check.snapshotEligible
103
+ ? `\n\n[Verification evidence rejected: ${check.reason}. The output is still valid information; do not reshape this command to satisfy this note. When you need verification, run the check once as a standalone command (or chain only checks with &&) after your last edit, and do not claim verification from this shell exit status.]`
104
+ : "";
90
105
  const result = truncateTail(rawOutput);
91
106
  if (!result.truncated)
92
- return result.content;
107
+ return result.content + feedback;
93
108
  const overflowPath = Buffer.byteLength(rawOutput, "utf-8") > MAX_BYTES
94
109
  ? await writeOverflow(rawOutput, "bash").catch(() => null)
95
110
  : null;
@@ -98,54 +113,24 @@ export async function renderBashOutput(rawOutput) {
98
113
  : "";
99
114
  const c = compressToolOutput(rawOutput);
100
115
  const what = describeCompressed(rawOutput, c.content);
101
- return `[${c.notice}${what ? ` ${what}` : ""}${overflowNotice}]\n${c.content}`;
116
+ return `[${c.notice}${what ? ` ${what}` : ""}${overflowNotice}]\n${c.content}${feedback}`;
102
117
  }
103
118
  const BashParams = z.object({
104
- command: z.string().describe("The bash command to execute"),
105
- timeout: z
106
- .number()
107
- .int()
108
- .min(1000)
109
- .optional()
110
- .describe("Stop the command after this many milliseconds. Without it, a command still " +
111
- "running after 120000ms moves to the background instead of being stopped."),
112
- run_in_background: z
113
- .boolean()
114
- .optional()
115
- .describe("Run the command in the background. Returns a process ID immediately. " +
116
- "Use task_output to read output and task_stop to stop it."),
117
- persist: z
118
- .boolean()
119
- .optional()
120
- .describe("Run in the persistent session shell: cd, exported env vars, and shell state " +
121
- "survive across persist:true calls. Use for multi-step workflows in another " +
122
- "directory or with sourced environments. Default false (fresh shell per call)."),
119
+ command: z.string(),
120
+ review: z.boolean().optional().describe("Append git diff after a passing final check"),
121
+ timeout: z.number().int().min(1000).optional(),
122
+ run_in_background: z.boolean().optional(),
123
+ persist: z.boolean().optional().describe("Keep cd/env across calls"),
123
124
  wake: z
124
125
  .object({
125
- pattern: z
126
- .string()
127
- .min(1)
128
- .max(200)
129
- .optional()
130
- .describe("A regex; the moment NEW output matches it you are actively woken with the " +
131
- "matching line — no task_output polling. Use for signals in long builds, " +
132
- "dev servers and watchers (e.g. 'compiled with errors', 'listening on')."),
133
- silence_seconds: z
134
- .number()
135
- .int()
136
- .min(10)
137
- .max(3600)
138
- .optional()
139
- .describe("Wake me if the task produces no output at all for this many seconds while " +
140
- "still running — a stall/hang detector for commands that should be chatty."),
126
+ pattern: z.string().min(1).max(200).optional(),
127
+ silence_seconds: z.number().int().min(10).max(3600).optional(),
141
128
  })
142
129
  .refine((rules) => rules.pattern !== undefined || rules.silence_seconds !== undefined, {
143
130
  message: "Provide wake.pattern, wake.silence_seconds, or both.",
144
131
  })
145
132
  .optional()
146
- .describe("Wake conditions for a background task (run_in_background only). You are " +
147
- "notified automatically the instant one holds, instead of polling " +
148
- "task_output. Each condition fires once; exit always notifies regardless."),
133
+ .describe("Notify on output match or silence"),
149
134
  });
150
135
  export function createBashTool(cwd, processManager, ops = localOperations, planModeRefArg, goalModeRefOrShellOpts, shellOptsOrNetworkPolicy, getNetworkPolicyArg, getSandboxPolicyArg,
151
136
  /** Default foreground budget; injectable so tests need not wait 120s. */
@@ -177,52 +162,28 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
177
162
  // for mid-session PATH changes.
178
163
  const isCmdFallback = resolveShell("", shellOpts ?? {}).isCmdFallback;
179
164
  const description = isCmdFallback
180
- ? "Execute a command under Windows cmd.exe (no bash was found on this system). " +
181
- "The working directory is already set to the project root — " +
182
- "don't cd into it redundantly. Use cd only when you need a different directory. " +
183
- "Returns exit code and combined stdout/stderr. " +
184
- "Use cmd.exe syntax (dir, findstr, type, del); POSIX commands and bash syntax " +
185
- "(ls, grep, cat, &&-chains relying on bash semantics, $(...), single-quoting) will fail. " +
186
- "Long output is truncated (tail kept). " +
187
- "Set run_in_background=true for long-running OR interactive processes " +
188
- "(dev servers, watchers, REPLs, scaffolders, programs that prompt for input). " +
189
- "Use task_output to read output, task_send to type input/answer prompts, and " +
190
- "task_stop to stop background processes. " +
191
- "Commit, push, amend, or rewrite git history only when the user explicitly asked. " +
192
- "Kill processes by exact PID (taskkill /PID), never by image name alone."
193
- : "Execute a bash command. The shell's working directory is already set to the project root — " +
194
- "don't cd into it redundantly. Use cd only when you need a different directory. " +
195
- "Returns exit code and combined stdout/stderr. " +
196
- "Pipelines run with pipefail — a piped command reports the failing stage's exit " +
197
- "code, so piping tests through tail/head cannot mask a failure. " +
198
- "Commands run in a non-interactive bash shell with TERM=dumb. " +
199
- "Long output is truncated (tail kept). " +
200
- "Set run_in_background=true for long-running OR interactive processes " +
201
- "(dev servers, watchers, REPLs, scaffolders, programs that prompt for input). " +
202
- "Use task_output to read output, task_send to type input/answer prompts, and " +
203
- "task_stop to stop background processes. " +
204
- "Commit, push, amend, or rewrite git history only when the user explicitly asked. " +
205
- "Never background a command with a trailing & or nohup — use run_in_background instead. " +
206
- "Kill processes by exact PID, never broad patterns like pkill -f node. " +
207
- "Set persist=true to run in a session shell where cd/env state survives across " +
208
- "persist:true calls. " +
209
- "With run_in_background, also set wake (pattern and/or silence_seconds) to be " +
210
- "actively notified the moment matching output appears or the task stalls. " +
211
- "Never sleep to wait for a background process — task_output with wait_ms returns " +
212
- "when it exits or a declared wake fires.";
165
+ ? "Run a Windows cmd.exe command (no bash on this system) in the project root. Use cmd " +
166
+ "syntax (dir, findstr, type); POSIX commands and $(...) fail. Output tail is kept."
167
+ : "Run a non-interactive bash command (TERM=dumb, pipefail) in the project root.";
213
168
  return {
214
169
  name: "bash",
215
170
  description: description +
216
- " For dev servers, set a readiness wake.pattern, use task_output with wait_ms, " +
217
- "then check HTTP and finish while leaving the server running. " +
218
- "Do not use silence as readiness; healthy servers normally go quiet.",
171
+ " Servers/watchers/REPLs: run_in_background + wake.pattern, then task_output wait_ms; " +
172
+ "never `&`, nohup or sleep. Leave servers running. Kill by exact PID.",
219
173
  parameters: BashParams,
220
174
  executionMode: "sequential",
221
- async execute({ command, timeout: timeoutMs, run_in_background, persist, wake }, context) {
175
+ async execute({ command, timeout: timeoutMs, run_in_background, persist, wake, review }, context) {
222
176
  const goalModeRestriction = goalModeBashRestriction(getActiveGoalMode(goalModeRef), run_in_background === true);
223
177
  if (goalModeRestriction) {
224
178
  return goalModeRestriction;
225
179
  }
180
+ if (review &&
181
+ (persist ||
182
+ run_in_background ||
183
+ ops !== localOperations ||
184
+ !classifyVerificationCommand(command).accepted)) {
185
+ return REVIEW_REJECTED_BEFORE_START;
186
+ }
226
187
  if (wake && !run_in_background) {
227
188
  return "Error: wake conditions require run_in_background=true — there is nothing to watch on a foreground call.";
228
189
  }
@@ -335,7 +296,7 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
335
296
  const res = await sessionShell.run(command, timeoutMs ?? DEFAULT_TIMEOUT, context.signal, context.onUpdate
336
297
  ? (text) => context.onUpdate?.({ type: "bash_progress", output: text, totalBytes: 0 })
337
298
  : undefined);
338
- const output = await renderBashOutput(res.output);
299
+ const output = await renderBashOutput(res.output, command);
339
300
  const exitCode = res.exitCode === "TIMEOUT"
340
301
  ? `TIMEOUT (${timeoutMs ?? DEFAULT_TIMEOUT}ms)` +
341
302
  (res.shellKept
@@ -391,7 +352,7 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
391
352
  // listener below would never fire for an already-aborted signal.
392
353
  if (context.signal.aborted)
393
354
  return CANCELLED_BEFORE_START;
394
- return new Promise((resolve, reject) => {
355
+ const result = await new Promise((resolve, reject) => {
395
356
  const child = ops.spawn(launch.file, launch.args, {
396
357
  cwd,
397
358
  detached: true,
@@ -502,7 +463,7 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
502
463
  if (backgrounded)
503
464
  return;
504
465
  const rawOutput = Buffer.concat(chunks).toString("utf-8");
505
- let output = await renderBashOutput(rawOutput);
466
+ let output = await renderBashOutput(rawOutput, command);
506
467
  if (outputCapped) {
507
468
  output =
508
469
  `[Output capped at ${MAX_OUTPUT_BYTES / 1024 / 1024} MB to prevent memory exhaustion]\n` +
@@ -544,6 +505,10 @@ defaultTimeoutMs = DEFAULT_TIMEOUT) {
544
505
  reject(new Error(`Exit code: 1\nFailed to spawn: ${err.message}`));
545
506
  });
546
507
  });
508
+ if (!review || context.signal.aborted || !/^Exit code: 0(?:\s|$)/.test(result))
509
+ return result;
510
+ const inspection = await collectVerificationReview(cwd, context.signal);
511
+ return `${result}\n\n--- Independent read-only review ---\n${await renderBashOutput(inspection)}`;
547
512
  },
548
513
  };
549
514
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ import type { AgentTool } from "@prestyj/agent";
3
+ import { type GitState } from "../core/checklist-git.js";
4
+ declare const ChecklistParams: z.ZodDiscriminatedUnion<[z.ZodObject<{
5
+ action: z.ZodLiteral<"status">;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ action: z.ZodLiteral<"record">;
8
+ id: z.ZodEnum<{
9
+ secrets: "secrets";
10
+ tests: "tests";
11
+ ci: "ci";
12
+ dependencies: "dependencies";
13
+ docs: "docs";
14
+ "agent-setup": "agent-setup";
15
+ naming: "naming";
16
+ "git-github": "git-github";
17
+ "quality-tools": "quality-tools";
18
+ "commit-gate": "commit-gate";
19
+ "code-health": "code-health";
20
+ "errors-logging": "errors-logging";
21
+ "design-system": "design-system";
22
+ "styling-consistency": "styling-consistency";
23
+ "motion-consistency": "motion-consistency";
24
+ accessibility: "accessibility";
25
+ "ui-states": "ui-states";
26
+ security: "security";
27
+ "data-safety": "data-safety";
28
+ compliance: "compliance";
29
+ performance: "performance";
30
+ "build-release": "build-release";
31
+ monitoring: "monitoring";
32
+ "senior-review": "senior-review";
33
+ }>;
34
+ result: z.ZodEnum<{
35
+ pass: "pass";
36
+ issues: "issues";
37
+ "not-applicable": "not-applicable";
38
+ }>;
39
+ summary: z.ZodString;
40
+ findings: z.ZodDefault<z.ZodArray<z.ZodString>>;
41
+ evidence: z.ZodArray<z.ZodString>;
42
+ }, z.core.$strip>], "action">;
43
+ export interface ChecklistToolDeps {
44
+ readonly now?: () => Date;
45
+ readonly gitState?: (cwd: string, signal?: AbortSignal) => Promise<GitState>;
46
+ }
47
+ export declare function createChecklistTool(cwd: string, deps?: ChecklistToolDeps): AgentTool<typeof ChecklistParams>;
48
+ export {};
@@ -0,0 +1,146 @@
1
+ // `checklist` tool: the only writer of the project health checklist record.
2
+ // The model supplies the verdict; the code stamps the date (injected clock),
3
+ // the Git commit and whether there were uncommitted changes, so none of those
4
+ // can be made up.
5
+ import { z } from "zod";
6
+ import { log } from "../core/logger.js";
7
+ import { CHECKLIST_FILE, CHECKLIST_IDS, CHECKLIST_STALE_DAYS, getChecklistItem, } from "../core/checklist-items.js";
8
+ import { CHECKLIST_RESULTS, EVIDENCE_MAX, FINDING_MAX, LIST_MAX, SUMMARY_MAX, writeChecklistEntry, } from "../core/checklist-store.js";
9
+ import { readGitState } from "../core/checklist-git.js";
10
+ import { readChecklistSnapshot } from "../core/checklist-snapshot.js";
11
+ // The union is flattened into one object schema for providers, so both
12
+ // literals carry the same description.
13
+ const ACTION_DESCRIPTION = "status: every item with its status and last check. record: save the result of checking one item.";
14
+ const ChecklistParams = z.discriminatedUnion("action", [
15
+ z.object({
16
+ action: z.literal("status").describe(ACTION_DESCRIPTION),
17
+ }),
18
+ z.object({
19
+ action: z.literal("record").describe(ACTION_DESCRIPTION),
20
+ id: z.enum(CHECKLIST_IDS).describe("record: the checklist item id"),
21
+ result: z
22
+ .enum(CHECKLIST_RESULTS)
23
+ .describe("record: pass, issues (needs findings) or not-applicable"),
24
+ summary: z
25
+ .string()
26
+ .trim()
27
+ .min(1)
28
+ .max(SUMMARY_MAX)
29
+ .describe("record: one-line verdict in plain words"),
30
+ findings: z
31
+ .array(z.string().trim().min(1).max(FINDING_MAX))
32
+ .max(LIST_MAX)
33
+ .default([])
34
+ .describe("record: each problem with file:line, severity and suggested fix"),
35
+ evidence: z
36
+ .array(z.string().trim().min(1).max(EVIDENCE_MAX))
37
+ .min(1)
38
+ .max(LIST_MAX)
39
+ .describe("record: what was actually run or read, e.g. 'pnpm lint — 0 errors'"),
40
+ }),
41
+ ]);
42
+ const STATUS_LABEL = {
43
+ "not-run": "never run",
44
+ "not-applicable": "not applicable",
45
+ due: "due",
46
+ passed: "reviewed",
47
+ "needs-work": "needs work",
48
+ };
49
+ function formatRow(row) {
50
+ const checked = row.checkedAt
51
+ ? `checked ${row.checkedAt.slice(0, 10)}${row.commit ? ` at ${row.commit}` : ""}`
52
+ : "—";
53
+ const last = row.status === "due" && row.result ? ` (last: ${row.result})` : "";
54
+ const changed = row.result === "issues" && row.changedSinceCheck ? ", code changed since this check" : "";
55
+ const setup = row.detection ? `; setup: ${row.detection.summary} (not a review)` : "";
56
+ return `- ${row.id} — ${row.title}: ${STATUS_LABEL[row.status]}${last}, ${checked}${changed}${setup}`;
57
+ }
58
+ export function createChecklistTool(cwd, deps = {}) {
59
+ const now = deps.now ?? (() => new Date());
60
+ const gitState = deps.gitState ?? readGitState;
61
+ let pending = Promise.resolve();
62
+ function enqueue(fn) {
63
+ const result = pending.then(fn);
64
+ pending = result.then(() => { }, () => { });
65
+ return result;
66
+ }
67
+ return {
68
+ name: "checklist",
69
+ description: "Read or record the project health checklist (stored in " +
70
+ `${CHECKLIST_FILE}). \`status\` lists every item with its status and last ` +
71
+ `check; items older than ${CHECKLIST_STALE_DAYS} days are due. \`record\` saves ` +
72
+ "the result of checking one item: the date and Git commit are filled in " +
73
+ "automatically. `issues` needs at least one finding; `pass` takes none; " +
74
+ "`evidence` lists what you actually ran or read, including scope and exclusions. " +
75
+ "Record completed checklist reviews or checks requested in normal chat; never start extra audits unasked. " +
76
+ "After fixing an item's recorded findings, re-check them and record that item again " +
77
+ "(`pass`, or `issues` with what remains) so the checklist doesn't keep showing fixed findings.",
78
+ parameters: ChecklistParams,
79
+ executionMode: "sequential",
80
+ execute(args, { signal }) {
81
+ return enqueue(async () => {
82
+ const started = Date.now();
83
+ if (signal?.aborted)
84
+ return "Error: Checklist action cancelled.";
85
+ if (args.action === "status") {
86
+ const snapshot = await readChecklistSnapshot(cwd, now(), signal, gitState);
87
+ if (!snapshot.ok)
88
+ return `Error: ${snapshot.error}`;
89
+ const rows = snapshot.value.items;
90
+ let group = "";
91
+ const lines = [`${rows.length} project checks. Setup detection is not a passing review.`];
92
+ for (const row of rows) {
93
+ if (row.group !== group) {
94
+ group = row.group;
95
+ lines.push("", `${group}:`);
96
+ }
97
+ lines.push(formatRow(row));
98
+ }
99
+ return lines.join("\n");
100
+ }
101
+ const item = getChecklistItem(args.id);
102
+ if (!item)
103
+ return `Error: unknown checklist id "${args.id}".`;
104
+ if (args.result === "issues" && args.findings.length === 0) {
105
+ return "Error: result `issues` needs at least one finding. Add findings, or record `pass`.";
106
+ }
107
+ if (args.result === "pass" && args.findings.length > 0) {
108
+ return "Error: result `pass` cannot have findings. Record `issues`, or drop the findings.";
109
+ }
110
+ const at = now();
111
+ let git;
112
+ try {
113
+ git = await gitState(cwd, signal);
114
+ }
115
+ catch {
116
+ return signal?.aborted
117
+ ? "Error: Checklist action cancelled."
118
+ : "Error: Could not read Git state; no checklist result was recorded.";
119
+ }
120
+ if (signal?.aborted)
121
+ return "Error: Checklist action cancelled.";
122
+ const written = await writeChecklistEntry(cwd, args.id, {
123
+ checkedAt: at.toISOString(),
124
+ commit: git.commit,
125
+ uncommittedChanges: git.uncommittedChanges,
126
+ result: args.result,
127
+ summary: args.summary.trim(),
128
+ findings: args.findings.map((f) => f.trim()),
129
+ evidence: args.evidence.map((e) => e.trim()),
130
+ }, at, signal);
131
+ log("INFO", "checklist", `Record ${args.id}: ${written.ok ? args.result : "failed"}`, {
132
+ id: args.id,
133
+ result: args.result,
134
+ elapsedMs: Date.now() - started,
135
+ });
136
+ if (!written.ok)
137
+ return `Error: ${written.error}`;
138
+ const where = git.commit
139
+ ? ` at ${git.commit}${git.uncommittedChanges ? " (with uncommitted changes)" : ""}`
140
+ : "";
141
+ return `Recorded ${item.title}: ${args.result} on ${at.toISOString().slice(0, 10)}${where}.`;
142
+ });
143
+ },
144
+ };
145
+ }
146
+ //# sourceMappingURL=checklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../src/tools/checklist.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import type { LspManager } from "../core/lsp/manager.js";
4
4
  import { type ToolOperations } from "./operations.js";
5
5
  declare const CodeNavParams: z.ZodObject<{
6
6
  op: z.ZodEnum<{
7
- definition: "definition";
8
7
  references: "references";
8
+ definition: "definition";
9
9
  symbols: "symbols";
10
10
  hover: "hover";
11
11
  }>;
@@ -6,31 +6,12 @@ import { localOperations } from "./operations.js";
6
6
  const CodeNavParams = z.object({
7
7
  op: z
8
8
  .enum(["definition", "references", "symbols", "hover"])
9
- .describe("definition = where a symbol is declared; references = every use of it; " +
10
- "symbols = outline of one file; hover = its type/signature"),
11
- file: z.string().describe("File containing the symbol (relative to cwd or absolute)"),
12
- line: z
13
- .number()
14
- .int()
15
- .min(1)
16
- .optional()
17
- .describe("1-based line of the symbol. Optional when `symbol` is given; unused by `symbols`."),
18
- column: z
19
- .number()
20
- .int()
21
- .min(1)
22
- .optional()
23
- .describe("1-based column of the symbol; inferred from `symbol` when omitted"),
24
- symbol: z
25
- .string()
26
- .optional()
27
- .describe("Symbol name. Enough on its own for definition/references/hover — no `line` needed. Filters the `symbols` outline."),
28
- max_results: z
29
- .number()
30
- .int()
31
- .min(1)
32
- .optional()
33
- .describe("Maximum locations to return (default: 60)"),
9
+ .describe("symbols = file outline; hover = type/signature"),
10
+ file: z.string(),
11
+ line: z.number().int().min(1).optional().describe("Not needed when `symbol` is given"),
12
+ column: z.number().int().min(1).optional(),
13
+ symbol: z.string().optional().describe("Symbol name"),
14
+ max_results: z.number().int().min(1).optional().describe("Default 60"),
34
15
  });
35
16
  const DEFAULT_MAX_RESULTS = 60;
36
17
  const MAX_SNIPPET_LENGTH = 160;
@@ -80,10 +61,7 @@ const SYMBOL_KIND_NAMES = {
80
61
  export function createCodeNavTool(cwd, lspManager, ops = localOperations) {
81
62
  return {
82
63
  name: "code_nav",
83
- description: "Resolve a symbol with the language server: `definition` (where it is declared), " +
84
- "`references` (every use), `symbols` (outline of a file), `hover` (type/signature). " +
85
- "Exact and cross-file — prefer it over grep for 'who calls this' and 'where is this " +
86
- "defined'. Reports explicitly when no language server can answer.",
64
+ description: "Language server: exact definition, references (callers), file outline, type.",
87
65
  parameters: CodeNavParams,
88
66
  async execute({ op, file, line, column, symbol, max_results }) {
89
67
  if (!lspManager) {
@@ -124,7 +102,8 @@ export function createCodeNavTool(cwd, lspManager, ops = localOperations) {
124
102
  : await lspManager.references(absolute, content, position);
125
103
  if (outcome.kind !== "ok")
126
104
  return describeFailure(outcome, cwd, op);
127
- return formatLocations(outcome.value, cwd, ops, maxResults, op, absolute, position);
105
+ const locations = await formatLocations(outcome.value, cwd, ops, maxResults, op, absolute, position);
106
+ return outcome.warning ? `${outcome.warning}\n\n${locations}` : locations;
128
107
  },
129
108
  };
130
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"code-nav.js","sourceRoot":"","sources":["../../src/tools/code-nav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-nav.js","sourceRoot":"","sources":["../../src/tools/code-nav.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AAEvE,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,EAAE,EAAE,CAAC;SACF,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACtD,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;CACvE,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B;;;GAGG;AACH,MAAM,iBAAiB,GAA2B;IAChD,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,aAAa;IAChB,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,UAAkC,EAClC,MAAsB,eAAe;IAErC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8EAA8E;QAC3F,UAAU,EAAE,aAAa;QACzB,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;YAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,iHAAiH,CAAC;YAC3H,CAAC;YACD,MAAM,UAAU,GAAG,WAAW,IAAI,mBAAmB,CAAC;YACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAExC,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,eAAe,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,KAC7D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CAAC;YACL,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;oBAAE,OAAO,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpE,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAElD,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;oBAAE,OAAO,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI;oBAAE,OAAO,2BAA2B,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC;gBACtF,OAAO,IAAI,CAAC,MAAM,GAAG,gBAAgB;oBACnC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,uBAAuB;oBAC3D,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YAED,MAAM,OAAO,GACX,EAAE,KAAK,YAAY;gBACjB,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAC1D,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,MAAM,eAAe,CACrC,OAAO,CAAC,KAAK,EACb,GAAG,EACH,GAAG,EACH,UAAU,EACV,EAAE,EACF,QAAQ,EACR,QAAQ,CACT,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,KAAwB,EAAE,MAAc;IAC9D,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAClF,IAAI,UAA8B,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CACtB,KAAe,EACf,IAAwB,EACxB,MAA0B,EAC1B,MAA0B;IAE1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,4EAA4E;QAC5E,yEAAyE;QACzE,0EAA0E;QAC1E,sBAAsB;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,sGAAsG,CAAC;QAChH,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,MAAM,6EAA6E,CAAC;QAClG,CAAC;QACD,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,QAAQ,IAAI,iCAAiC,KAAK,CAAC,MAAM,UAAU,CAAC;IAC7E,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IAC3E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,OAAO,KAAK,MAAM,8BAA8B,IAAI,sDAAsD,CAAC;QAC7G,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IACD,6EAA6E;IAC7E,kDAAkD;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,YAAY,CACnB,GAAW,EACX,QAAgB,EAChB,QAA6C;IAE7C,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;AACvG,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACtB,OAA+D,EAC/D,GAAW,EACX,EAAU;IAEV,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IAClF,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,OAAO,CAAC,QAAQ;gBACrB,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,yCAAyC,EAAE,uCAAuC;gBAC3G,CAAC,CAAC,wCAAwC,GAAG,qCAAqC,CAAC;QACvF,KAAK,aAAa;YAChB,OAAO,uCAAuC,GAAG,GAC/C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAC1D,uEAAuE,CAAC;QAC1E,KAAK,SAAS;YACZ,OAAO,wCAAwC,EAAE,UAAU,GAAG,0EAA0E,CAAC;QAC3I;YACE,OAAO,mCAAmC,EAAE,UAAU,GAAG,GACvD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAC7C,qCAAqC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,QAAQ;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,SAAS;CACd,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CAAC,KAAqB;IAC5C,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,aAAa,CACpB,OAAyB,EACzB,MAA0B,EAC1B,UAAkB;IAElB,6EAA6E;IAC7E,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,OAAO,GAAG,OAAO;SACpB,MAAM,CAAC,eAAe,CAAC;SACvB,KAAK,EAAE;SACP,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;QACvC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CACpD,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,OAAO,CAAC;IACZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,CAAC,CAAC,wBAAwB,MAAM,kBAAkB,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAChG,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,MAAM,IAAI,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,2BAA2B,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAwB,EACxB,GAAW,EACX,GAAmB,EACnB,UAAkB,EAClB,EAAU,EACV,UAAkB,EAClB,QAA6C;IAE7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,YAAY;YACxB,CAAC,CAAC,yCAAyC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG;YACrF,CAAC,CAAC,yCAAyC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC;IAC1F,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC;QAClE,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrE,MAAM,OAAO,GACX,UAAU,CAAC,MAAM,GAAG,kBAAkB;YACpC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG;YAC/C,CAAC,CAAC,UAAU,CAAC;QACjB,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CACR,KAAK,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,2DAA2D,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,iFAAiF;AACjF,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}