@prestyj/cli 5.11.0 → 5.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/assets/skills/compliance-guard/SKILL.md +251 -0
  2. package/assets/skills/compliance-guard/references/artifacts.md +186 -0
  3. package/assets/skills/compliance-guard/references/eu-uk.md +151 -0
  4. package/assets/skills/compliance-guard/references/exposure-triage.md +161 -0
  5. package/assets/skills/compliance-guard/references/lawsuit-vectors.md +141 -0
  6. package/assets/skills/compliance-guard/references/provenance.md +42 -0
  7. package/assets/skills/compliance-guard/references/sector-gates.md +173 -0
  8. package/assets/skills/compliance-guard/references/security-baseline.md +130 -0
  9. package/assets/skills/compliance-guard/references/trigger-map.md +163 -0
  10. package/assets/skills/compliance-guard/references/us.md +164 -0
  11. package/dist/app-sidecar-auth-broadcast.test.js +69 -3
  12. package/dist/app-sidecar-auth-broadcast.test.js.map +1 -1
  13. package/dist/app-sidecar-sessions.test.js +1 -1
  14. package/dist/app-sidecar.js +119 -45
  15. package/dist/app-sidecar.js.map +1 -1
  16. package/dist/chat-agents/jiwa.test.js +1 -1
  17. package/dist/cli/auth.d.ts.map +1 -1
  18. package/dist/cli/auth.js +33 -36
  19. package/dist/cli/auth.js.map +1 -1
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +12 -1
  22. package/dist/cli.js.map +1 -1
  23. package/dist/config.d.ts +16 -5
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/config.js +35 -76
  26. package/dist/config.js.map +1 -1
  27. package/dist/config.test.js +20 -12
  28. package/dist/config.test.js.map +1 -1
  29. package/dist/core/agent-session-checkpoint-flush.test.js +2 -2
  30. package/dist/core/agent-session-crash-durability.test.js +3 -3
  31. package/dist/core/agent-session-model-switch.test.js +1 -1
  32. package/dist/core/agent-session-process-gate.test.js +7 -1
  33. package/dist/core/agent-session-process-gate.test.js.map +1 -1
  34. package/dist/core/agent-session-review-coverage.test.js +1 -1
  35. package/dist/core/agent-session-tool-tiers.test.d.ts +2 -0
  36. package/dist/core/agent-session-tool-tiers.test.d.ts.map +1 -0
  37. package/dist/core/agent-session-tool-tiers.test.js +138 -0
  38. package/dist/core/agent-session-tool-tiers.test.js.map +1 -0
  39. package/dist/core/agent-session.d.ts +43 -3
  40. package/dist/core/agent-session.d.ts.map +1 -1
  41. package/dist/core/agent-session.js +142 -31
  42. package/dist/core/agent-session.js.map +1 -1
  43. package/dist/core/agents.d.ts +29 -1
  44. package/dist/core/agents.d.ts.map +1 -1
  45. package/dist/core/agents.js +47 -97
  46. package/dist/core/agents.js.map +1 -1
  47. package/dist/core/agents.test.js +87 -7
  48. package/dist/core/agents.test.js.map +1 -1
  49. package/dist/core/api-benchmark.d.ts +3 -3
  50. package/dist/core/api-benchmark.js +7 -7
  51. package/dist/core/auth-providers.d.ts +37 -1
  52. package/dist/core/auth-providers.d.ts.map +1 -1
  53. package/dist/core/auth-providers.js +83 -3
  54. package/dist/core/auth-providers.js.map +1 -1
  55. package/dist/core/auto-update.test.js +1 -1
  56. package/dist/core/autopilot-gate.d.ts +2 -2
  57. package/dist/core/autopilot-gate.js +1 -1
  58. package/dist/core/bash-spawn-benchmark.js +6 -6
  59. package/dist/core/bundled-agents.d.ts +3 -0
  60. package/dist/core/bundled-agents.d.ts.map +1 -0
  61. package/dist/core/bundled-agents.js +252 -0
  62. package/dist/core/bundled-agents.js.map +1 -0
  63. package/dist/core/cache-warm-benchmark.d.ts +2 -2
  64. package/dist/core/cache-warm-benchmark.js +5 -5
  65. package/dist/core/code-retrieval-chunkers.d.ts +27 -0
  66. package/dist/core/code-retrieval-chunkers.d.ts.map +1 -0
  67. package/dist/core/code-retrieval-chunkers.js +264 -0
  68. package/dist/core/code-retrieval-chunkers.js.map +1 -0
  69. package/dist/core/code-retrieval-chunkers.test.d.ts +2 -0
  70. package/dist/core/code-retrieval-chunkers.test.d.ts.map +1 -0
  71. package/dist/core/code-retrieval-chunkers.test.js +203 -0
  72. package/dist/core/code-retrieval-chunkers.test.js.map +1 -0
  73. package/dist/core/code-retrieval.d.ts +6 -0
  74. package/dist/core/code-retrieval.d.ts.map +1 -1
  75. package/dist/core/code-retrieval.js +38 -1
  76. package/dist/core/code-retrieval.js.map +1 -1
  77. package/dist/core/encode-cwd.test.js +1 -1
  78. package/dist/core/extensions/plugin-bundles.js +2 -2
  79. package/dist/core/extensions/plugin-bundles.js.map +1 -1
  80. package/dist/core/extensions/plugin-bundles.test.js +2 -2
  81. package/dist/core/extensions/plugin-bundles.test.js.map +1 -1
  82. package/dist/core/fast-apply-benchmark.d.ts +2 -2
  83. package/dist/core/fast-apply-benchmark.js +6 -6
  84. package/dist/core/foreign-session-import.test.js +1 -1
  85. package/dist/core/goal-lifecycle-smoke.test.js +2 -2
  86. package/dist/core/goal-store.js +1 -1
  87. package/dist/core/goal-store.test.js +2 -2
  88. package/dist/core/goal-verifier.test.js +2 -2
  89. package/dist/core/goal-worker-dev-server-lifecycle.test.js +1 -1
  90. package/dist/core/goal-worker.test.js +2 -2
  91. package/dist/core/hashline-edit-benchmark.d.ts +2 -2
  92. package/dist/core/hashline-edit-benchmark.js +7 -7
  93. package/dist/core/local-endpoint-store.test.js +1 -1
  94. package/dist/core/logger.d.ts +1 -1
  95. package/dist/core/logger.js +2 -2
  96. package/dist/core/logger.js.map +1 -1
  97. package/dist/core/lsp/client-navigation.test.d.ts +2 -0
  98. package/dist/core/lsp/client-navigation.test.d.ts.map +1 -0
  99. package/dist/core/lsp/client-navigation.test.js +135 -0
  100. package/dist/core/lsp/client-navigation.test.js.map +1 -0
  101. package/dist/core/lsp/client.d.ts +69 -0
  102. package/dist/core/lsp/client.d.ts.map +1 -1
  103. package/dist/core/lsp/client.js +151 -2
  104. package/dist/core/lsp/client.js.map +1 -1
  105. package/dist/core/lsp/integration.test.js +2 -2
  106. package/dist/core/lsp/manager-navigation.test.d.ts +2 -0
  107. package/dist/core/lsp/manager-navigation.test.d.ts.map +1 -0
  108. package/dist/core/lsp/manager-navigation.test.js +121 -0
  109. package/dist/core/lsp/manager-navigation.test.js.map +1 -0
  110. package/dist/core/lsp/manager.d.ts +35 -1
  111. package/dist/core/lsp/manager.d.ts.map +1 -1
  112. package/dist/core/lsp/manager.js +92 -0
  113. package/dist/core/lsp/manager.js.map +1 -1
  114. package/dist/core/lsp/servers.test.js +1 -1
  115. package/dist/core/lsp/windows.test.js +4 -4
  116. package/dist/core/mcp/catalog-cache.test.js +1 -1
  117. package/dist/core/mcp/client-session-recovery.test.js +1 -1
  118. package/dist/core/mcp/client.d.ts.map +1 -1
  119. package/dist/core/mcp/client.js +2 -10
  120. package/dist/core/mcp/client.js.map +1 -1
  121. package/dist/core/mcp/content.d.ts +19 -0
  122. package/dist/core/mcp/content.d.ts.map +1 -0
  123. package/dist/core/mcp/content.js +172 -0
  124. package/dist/core/mcp/content.js.map +1 -0
  125. package/dist/core/mcp/content.test.d.ts +2 -0
  126. package/dist/core/mcp/content.test.d.ts.map +1 -0
  127. package/dist/core/mcp/content.test.js +135 -0
  128. package/dist/core/mcp/content.test.js.map +1 -0
  129. package/dist/core/mcp/deferred-catalog.d.ts +1 -1
  130. package/dist/core/mcp/deferred-catalog.js +1 -1
  131. package/dist/core/mcp/elicitation.test.js +1 -1
  132. package/dist/core/mcp/legacy-negotiation.test.js +2 -2
  133. package/dist/core/mcp/oauth-store.test.js +2 -2
  134. package/dist/core/mcp/resolve-stdio.test.js +5 -5
  135. package/dist/core/mcp/shared-pool.test.js +5 -5
  136. package/dist/core/mcp/store.test.js +5 -5
  137. package/dist/core/mcp/when-connected.test.js +2 -2
  138. package/dist/core/nolan-model.test.js +1 -1
  139. package/dist/core/nolan-prompt.js +5 -5
  140. package/dist/core/oauth/xai.d.ts +2 -0
  141. package/dist/core/oauth/xai.d.ts.map +1 -0
  142. package/dist/core/oauth/xai.js +4 -0
  143. package/dist/core/oauth/xai.js.map +1 -0
  144. package/dist/core/persistent-shell.js +1 -1
  145. package/dist/core/persistent-shell.test.js +6 -6
  146. package/dist/core/process-manager-dev-server-repro.test.js +51 -12
  147. package/dist/core/process-manager-dev-server-repro.test.js.map +1 -1
  148. package/dist/core/process-manager-notifications.test.js +24 -14
  149. package/dist/core/process-manager-notifications.test.js.map +1 -1
  150. package/dist/core/process-manager.d.ts +22 -0
  151. package/dist/core/process-manager.d.ts.map +1 -1
  152. package/dist/core/process-manager.js +58 -2
  153. package/dist/core/process-manager.js.map +1 -1
  154. package/dist/core/progress/git-xp.test.js +2 -2
  155. package/dist/core/progress/ranks.d.ts +14 -3
  156. package/dist/core/progress/ranks.d.ts.map +1 -1
  157. package/dist/core/progress/ranks.js +181 -12
  158. package/dist/core/progress/ranks.js.map +1 -1
  159. package/dist/core/progress/ranks.test.js +48 -7
  160. package/dist/core/progress/ranks.test.js.map +1 -1
  161. package/dist/core/progress/rebuild.test.js +1 -1
  162. package/dist/core/progress/store.test.js +1 -1
  163. package/dist/core/progress/types.d.ts +2 -1
  164. package/dist/core/progress/types.d.ts.map +1 -1
  165. package/dist/core/project-discovery.d.ts.map +1 -1
  166. package/dist/core/project-discovery.js +62 -48
  167. package/dist/core/project-discovery.js.map +1 -1
  168. package/dist/core/project-discovery.test.js +10 -10
  169. package/dist/core/prompt-commands.js +3 -3
  170. package/dist/core/radio.d.ts +1 -1
  171. package/dist/core/radio.d.ts.map +1 -1
  172. package/dist/core/radio.js +90 -6
  173. package/dist/core/radio.js.map +1 -1
  174. package/dist/core/radio.test.js +15 -2
  175. package/dist/core/radio.test.js.map +1 -1
  176. package/dist/core/run-journal.test.js +2 -2
  177. package/dist/core/sandbox.test.js +6 -6
  178. package/dist/core/semantic-search-benchmark.d.ts +2 -2
  179. package/dist/core/semantic-search-benchmark.js +5 -5
  180. package/dist/core/session-compaction.test.js +1 -1
  181. package/dist/core/session-manager.d.ts.map +1 -1
  182. package/dist/core/session-manager.js +83 -67
  183. package/dist/core/session-manager.js.map +1 -1
  184. package/dist/core/session-manager.test.js +7 -7
  185. package/dist/core/session-storage-fd-leak.test.d.ts +2 -0
  186. package/dist/core/session-storage-fd-leak.test.d.ts.map +1 -0
  187. package/dist/core/session-storage-fd-leak.test.js +116 -0
  188. package/dist/core/session-storage-fd-leak.test.js.map +1 -0
  189. package/dist/core/session-storage.d.ts +22 -2
  190. package/dist/core/session-storage.d.ts.map +1 -1
  191. package/dist/core/session-storage.js +33 -6
  192. package/dist/core/session-storage.js.map +1 -1
  193. package/dist/core/session-storage.test.js +2 -2
  194. package/dist/core/settings-manager.d.ts +2 -0
  195. package/dist/core/settings-manager.d.ts.map +1 -1
  196. package/dist/core/settings-manager.js +10 -1
  197. package/dist/core/settings-manager.js.map +1 -1
  198. package/dist/core/shell-path.js +1 -1
  199. package/dist/core/shell.d.ts +1 -1
  200. package/dist/core/shell.js +2 -2
  201. package/dist/core/shell.test.js +2 -2
  202. package/dist/core/shutdown.d.ts +71 -0
  203. package/dist/core/shutdown.d.ts.map +1 -0
  204. package/dist/core/shutdown.js +144 -0
  205. package/dist/core/shutdown.js.map +1 -0
  206. package/dist/core/shutdown.test.d.ts +2 -0
  207. package/dist/core/shutdown.test.d.ts.map +1 -0
  208. package/dist/core/shutdown.test.js +160 -0
  209. package/dist/core/shutdown.test.js.map +1 -0
  210. package/dist/core/sidecar-error-reporter.js +1 -1
  211. package/dist/core/sidecar-error-reporter.test.js +2 -2
  212. package/dist/core/skills-routing.test.js +96 -0
  213. package/dist/core/skills-routing.test.js.map +1 -1
  214. package/dist/core/skills.d.ts.map +1 -1
  215. package/dist/core/skills.js +3 -0
  216. package/dist/core/skills.js.map +1 -1
  217. package/dist/core/subagent-manager.d.ts +9 -0
  218. package/dist/core/subagent-manager.d.ts.map +1 -1
  219. package/dist/core/subagent-manager.js +45 -12
  220. package/dist/core/subagent-manager.js.map +1 -1
  221. package/dist/core/subagent-manager.test.js +14 -8
  222. package/dist/core/subagent-manager.test.js.map +1 -1
  223. package/dist/core/subagent-store.test.js +3 -3
  224. package/dist/core/task-store.js +1 -1
  225. package/dist/index.js +1 -1
  226. package/dist/index.js.map +1 -1
  227. package/dist/modes/acp-mode.js +2 -2
  228. package/dist/modes/acp-mode.test.js +4 -4
  229. package/dist/modes/agent-home-mode.d.ts.map +1 -1
  230. package/dist/modes/agent-home-mode.js +15 -11
  231. package/dist/modes/agent-home-mode.js.map +1 -1
  232. package/dist/modes/json-mode.d.ts +9 -1
  233. package/dist/modes/json-mode.d.ts.map +1 -1
  234. package/dist/modes/json-mode.js +3 -1
  235. package/dist/modes/json-mode.js.map +1 -1
  236. package/dist/modes/serve-mode.d.ts +1 -1
  237. package/dist/modes/serve-mode.d.ts.map +1 -1
  238. package/dist/modes/serve-mode.js +14 -9
  239. package/dist/modes/serve-mode.js.map +1 -1
  240. package/dist/modes/subagent-worker-mode.d.ts +5 -0
  241. package/dist/modes/subagent-worker-mode.d.ts.map +1 -1
  242. package/dist/modes/subagent-worker-mode.js.map +1 -1
  243. package/dist/session.test.js +1 -1
  244. package/dist/system-prompt.d.ts +37 -1
  245. package/dist/system-prompt.d.ts.map +1 -1
  246. package/dist/system-prompt.js +123 -11
  247. package/dist/system-prompt.js.map +1 -1
  248. package/dist/system-prompt.test.js +90 -11
  249. package/dist/system-prompt.test.js.map +1 -1
  250. package/dist/system-prompt.tiering.test.d.ts +2 -0
  251. package/dist/system-prompt.tiering.test.d.ts.map +1 -0
  252. package/dist/system-prompt.tiering.test.js +105 -0
  253. package/dist/system-prompt.tiering.test.js.map +1 -0
  254. package/dist/tools/code-nav.d.ts +30 -0
  255. package/dist/tools/code-nav.d.ts.map +1 -0
  256. package/dist/tools/code-nav.js +320 -0
  257. package/dist/tools/code-nav.js.map +1 -0
  258. package/dist/tools/code-nav.test.d.ts +2 -0
  259. package/dist/tools/code-nav.test.d.ts.map +1 -0
  260. package/dist/tools/code-nav.test.js +136 -0
  261. package/dist/tools/code-nav.test.js.map +1 -0
  262. package/dist/tools/edit.test.js +1 -1
  263. package/dist/tools/generate-image.d.ts +1 -1
  264. package/dist/tools/goals.d.ts +2 -2
  265. package/dist/tools/goals.test.js +2 -2
  266. package/dist/tools/grep-parity.test.d.ts +2 -0
  267. package/dist/tools/grep-parity.test.d.ts.map +1 -0
  268. package/dist/tools/grep-parity.test.js +92 -0
  269. package/dist/tools/grep-parity.test.js.map +1 -0
  270. package/dist/tools/grep-recall.test.d.ts +2 -0
  271. package/dist/tools/grep-recall.test.d.ts.map +1 -0
  272. package/dist/tools/grep-recall.test.js +114 -0
  273. package/dist/tools/grep-recall.test.js.map +1 -0
  274. package/dist/tools/grep-spawn.test.d.ts +2 -0
  275. package/dist/tools/grep-spawn.test.d.ts.map +1 -0
  276. package/dist/tools/grep-spawn.test.js +66 -0
  277. package/dist/tools/grep-spawn.test.js.map +1 -0
  278. package/dist/tools/grep.d.ts +13 -3
  279. package/dist/tools/grep.d.ts.map +1 -1
  280. package/dist/tools/grep.js +340 -40
  281. package/dist/tools/grep.js.map +1 -1
  282. package/dist/tools/grep.test.js +17 -14
  283. package/dist/tools/grep.test.js.map +1 -1
  284. package/dist/tools/index.d.ts +7 -0
  285. package/dist/tools/index.d.ts.map +1 -1
  286. package/dist/tools/index.js +8 -1
  287. package/dist/tools/index.js.map +1 -1
  288. package/dist/tools/plan-mode.test.js +1 -1
  289. package/dist/tools/prompt-hints.d.ts +9 -0
  290. package/dist/tools/prompt-hints.d.ts.map +1 -1
  291. package/dist/tools/prompt-hints.js +61 -8
  292. package/dist/tools/prompt-hints.js.map +1 -1
  293. package/dist/tools/safe-env.js +1 -1
  294. package/dist/tools/search-code.d.ts.map +1 -1
  295. package/dist/tools/search-code.js +7 -6
  296. package/dist/tools/search-code.js.map +1 -1
  297. package/dist/tools/search-code.test.js +8 -2
  298. package/dist/tools/search-code.test.js.map +1 -1
  299. package/dist/tools/skill.js +2 -1
  300. package/dist/tools/skill.js.map +1 -1
  301. package/dist/tools/subagent-control.d.ts.map +1 -1
  302. package/dist/tools/subagent-control.js +20 -5
  303. package/dist/tools/subagent-control.js.map +1 -1
  304. package/dist/tools/subagent-control.test.js +34 -1
  305. package/dist/tools/subagent-control.test.js.map +1 -1
  306. package/dist/tools/subagent-shared.d.ts +20 -1
  307. package/dist/tools/subagent-shared.d.ts.map +1 -1
  308. package/dist/tools/subagent-shared.js +34 -7
  309. package/dist/tools/subagent-shared.js.map +1 -1
  310. package/dist/tools/subagent-shared.test.js +43 -9
  311. package/dist/tools/subagent-shared.test.js.map +1 -1
  312. package/dist/tools/subagent.d.ts.map +1 -1
  313. package/dist/tools/subagent.js +11 -8
  314. package/dist/tools/subagent.js.map +1 -1
  315. package/dist/tools/subagent.test.js +3 -0
  316. package/dist/tools/subagent.test.js.map +1 -1
  317. package/dist/tools/task-send.test.js +19 -10
  318. package/dist/tools/task-send.test.js.map +1 -1
  319. package/dist/tools/tool-search.d.ts.map +1 -1
  320. package/dist/tools/tool-search.js +2 -1
  321. package/dist/tools/tool-search.js.map +1 -1
  322. package/dist/tools/tool-tiers.d.ts +42 -0
  323. package/dist/tools/tool-tiers.d.ts.map +1 -0
  324. package/dist/tools/tool-tiers.js +78 -0
  325. package/dist/tools/tool-tiers.js.map +1 -0
  326. package/dist/tools/tool-tiers.test.d.ts +2 -0
  327. package/dist/tools/tool-tiers.test.d.ts.map +1 -0
  328. package/dist/tools/tool-tiers.test.js +48 -0
  329. package/dist/tools/tool-tiers.test.js.map +1 -0
  330. package/dist/tools/write.test.js +1 -1
  331. package/dist/ui/App.js.map +1 -1
  332. package/dist/ui/components/Banner.d.ts.map +1 -1
  333. package/dist/ui/components/Banner.js +24 -16
  334. package/dist/ui/components/Banner.js.map +1 -1
  335. package/dist/ui/components/ToolExecution.js +42 -34
  336. package/dist/ui/components/ToolExecution.js.map +1 -1
  337. package/dist/ui/components/force-color.d.ts +2 -0
  338. package/dist/ui/components/force-color.d.ts.map +1 -0
  339. package/dist/ui/components/force-color.js +11 -0
  340. package/dist/ui/components/force-color.js.map +1 -0
  341. package/dist/ui/components/themed-output.test.d.ts +2 -0
  342. package/dist/ui/components/themed-output.test.d.ts.map +1 -0
  343. package/dist/ui/components/themed-output.test.js +111 -0
  344. package/dist/ui/components/themed-output.test.js.map +1 -0
  345. package/dist/ui/error-item.d.ts +1 -1
  346. package/dist/ui/error-item.js +3 -3
  347. package/dist/ui/error-item.js.map +1 -1
  348. package/dist/ui/hooks/useAgentLoop.d.ts +3 -0
  349. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  350. package/dist/ui/hooks/useAgentLoop.js +27 -2
  351. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  352. package/dist/ui/login.js +1 -1
  353. package/dist/ui/login.js.map +1 -1
  354. package/dist/ui/render.d.ts +1 -1
  355. package/dist/ui/render.js +6 -6
  356. package/dist/ui/theme/dark-ansi.json +6 -0
  357. package/dist/ui/theme/dark-daltonized.json +6 -0
  358. package/dist/ui/theme/dark.json +6 -0
  359. package/dist/ui/theme/light-ansi.json +6 -0
  360. package/dist/ui/theme/light-daltonized.json +6 -0
  361. package/dist/ui/theme/light.json +6 -0
  362. package/dist/ui/theme/theme.d.ts +6 -0
  363. package/dist/ui/theme/theme.d.ts.map +1 -1
  364. package/dist/ui/tui-terminal-recorder.test.js +1 -1
  365. package/dist/utils/git.test.js +3 -3
  366. package/package.json +4 -4
@@ -7,8 +7,8 @@ export declare const SESSION_MEDIA_MARKER_VERSION = 1;
7
7
  export declare const SESSION_PLAIN_SUFFIX = ".jsonl";
8
8
  export declare const SESSION_ARCHIVE_SUFFIX = ".jsonl.gz";
9
9
  export declare const SESSION_ASSET_SUFFIX = ".jsonl.assets";
10
- export declare const SESSION_TEMP_MARKER = ".gg-session-tmp-";
11
- declare const REDIRECT_TYPE = "gg_session_redirect";
10
+ export declare const SESSION_TEMP_MARKER = ".ez-session-tmp-";
11
+ declare const REDIRECT_TYPE = "ez_session_redirect";
12
12
  export interface SessionRedirect {
13
13
  type: typeof REDIRECT_TYPE;
14
14
  version: typeof SESSION_REDIRECT_VERSION;
@@ -41,9 +41,29 @@ export declare function sessionGroupPaths(filePath: string): {
41
41
  export declare function temporarySiblingPath(filePath: string): string;
42
42
  export declare function resolveSessionPath(filePath: string): Promise<string>;
43
43
  export declare function isGzipSessionPath(filePath: string): Promise<boolean>;
44
+ /**
45
+ * Open a session transcript for reading, transparently gunzipping archives.
46
+ *
47
+ * Returns `close()` alongside the stream because tearing down a gzip read is a
48
+ * trap: `source.pipe(gunzip)` leaves the source unreachable, and `.pipe()` does
49
+ * NOT propagate destroy() upstream. Destroying only the returned stream — the
50
+ * intuitive cleanup — severs the pipe before the source can be torn down and
51
+ * orphans its file descriptor forever.
52
+ *
53
+ * Measured on the shipped Node 22.12 runtime, 100 partial reads:
54
+ * destroy(gunzip) only ....... 10 leaked fds
55
+ * destroy(gunzip) + source ... 0 leaked fds
56
+ *
57
+ * A bare `break` out of `for await` is safe on its own (readline's iterator
58
+ * return() tears down the whole chain), but any explicit teardown must go
59
+ * through `close()` so both ends are destroyed together. Callers that stop
60
+ * early should always call it; destroy() is idempotent, so calling it after a
61
+ * natural end-of-stream is harmless.
62
+ */
44
63
  export declare function openSessionReadStream(filePath: string): Promise<{
45
64
  path: string;
46
65
  stream: Readable;
66
+ close: () => void;
47
67
  }>;
48
68
  export declare function thawSessionArchive(filePath: string): Promise<string>;
49
69
  export declare function normalizeSessionEntryForStorage<T>(entry: T, sessionPath: string, metrics?: StorageNormalizationMetrics): Promise<T | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"session-storage.d.ts","sourceRoot":"","sources":["../../src/core/session-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-storage.d.ts","sourceRoot":"","sources":["../../src/core/session-storage.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ export const SESSION_MEDIA_MARKER_VERSION = 1;
13
13
  export const SESSION_PLAIN_SUFFIX = ".jsonl";
14
14
  export const SESSION_ARCHIVE_SUFFIX = ".jsonl.gz";
15
15
  export const SESSION_ASSET_SUFFIX = ".jsonl.assets";
16
- export const SESSION_TEMP_MARKER = ".gg-session-tmp-";
17
- const REDIRECT_TYPE = "gg_session_redirect";
18
- const MEDIA_MARKER_PREFIX = `gg-session-asset:v${SESSION_MEDIA_MARKER_VERSION}:`;
16
+ export const SESSION_TEMP_MARKER = ".ez-session-tmp-";
17
+ const REDIRECT_TYPE = "ez_session_redirect";
18
+ const MEDIA_MARKER_PREFIX = `ez-session-asset:v${SESSION_MEDIA_MARKER_VERSION}:`;
19
19
  const SHA256_PATTERN = /^[a-f0-9]{64}$/;
20
20
  const MAX_REDIRECT_BYTES = 4096;
21
21
  export function emptyStorageNormalizationMetrics() {
@@ -112,13 +112,40 @@ export async function isGzipSessionPath(filePath) {
112
112
  await handle.close();
113
113
  }
114
114
  }
115
+ /**
116
+ * Open a session transcript for reading, transparently gunzipping archives.
117
+ *
118
+ * Returns `close()` alongside the stream because tearing down a gzip read is a
119
+ * trap: `source.pipe(gunzip)` leaves the source unreachable, and `.pipe()` does
120
+ * NOT propagate destroy() upstream. Destroying only the returned stream — the
121
+ * intuitive cleanup — severs the pipe before the source can be torn down and
122
+ * orphans its file descriptor forever.
123
+ *
124
+ * Measured on the shipped Node 22.12 runtime, 100 partial reads:
125
+ * destroy(gunzip) only ....... 10 leaked fds
126
+ * destroy(gunzip) + source ... 0 leaked fds
127
+ *
128
+ * A bare `break` out of `for await` is safe on its own (readline's iterator
129
+ * return() tears down the whole chain), but any explicit teardown must go
130
+ * through `close()` so both ends are destroyed together. Callers that stop
131
+ * early should always call it; destroy() is idempotent, so calling it after a
132
+ * natural end-of-stream is harmless.
133
+ */
115
134
  export async function openSessionReadStream(filePath) {
116
135
  const resolved = await resolveSessionPath(filePath);
117
136
  const input = createReadStream(resolved);
118
137
  if (await isGzipSessionPath(resolved)) {
119
- return { path: resolved, stream: input.pipe(createGunzip()) };
138
+ const stream = input.pipe(createGunzip());
139
+ return {
140
+ path: resolved,
141
+ stream,
142
+ close: () => {
143
+ stream.destroy();
144
+ input.destroy();
145
+ },
146
+ };
120
147
  }
121
- return { path: resolved, stream: input };
148
+ return { path: resolved, stream: input, close: () => input.destroy() };
122
149
  }
123
150
  /**
124
151
  * Flush a file's contents to disk before it is renamed into place.
@@ -294,7 +321,7 @@ function mediaMarker(sha256) {
294
321
  return `${MEDIA_MARKER_PREFIX}${sha256}`;
295
322
  }
296
323
  function parseMediaMarker(value) {
297
- if (typeof value !== "string" || !value.startsWith("gg-session-asset:"))
324
+ if (typeof value !== "string" || !value.startsWith("ez-session-asset:"))
298
325
  return null;
299
326
  if (!value.startsWith(MEDIA_MARKER_PREFIX))
300
327
  return { valid: false };
@@ -1 +1 @@
1
- {"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/core/session-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/core/session-storage.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAmB,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AACpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAEtD,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAC5C,MAAM,mBAAmB,GAAG,qBAAqB,4BAA4B,GAAG,CAAC;AACjF,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAuBhC,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,GAAG,KAAK,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAKhD,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO;QACL,SAAS;QACT,WAAW,EAAE,kBAAkB,CAAC,SAAS,CAAC;QAC1C,UAAU,EAAE,eAAe,CAAC,SAAS,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CACxF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,CACL,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9B,KAAK,KAAK,GAAG;QACb,KAAK,KAAK,IAAI;QACd,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrB,aAAa,CAAC,KAAK,CAAC,CACrB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAEpF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;QAC1D,IACE,KAAK,CAAC,IAAI,KAAK,aAAa;YAC5B,KAAK,CAAC,OAAO,KAAK,wBAAwB;YAC1C,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAChC,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,EAChC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAwB,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,SAAS,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACnE,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IAK1D,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,KAAK,GAAe,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,MAAM,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM;YACN,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,kEAAkE;IAC5E,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1E,KAAK,UAAU,mBAAmB,CAAC,SAA8B;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,SAAS,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;YACnD,IAAI,CAAC,IAAI,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC5F,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,QAAgB;IAC3D,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpF,MAAM,KAAK,CAAC;QACd,CAAC;QACD,uEAAuE;QACvE,6EAA6E;QAC7E,MAAM,mBAAmB,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,WAAkC,EAAE,EAAE;gBACrE,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,WAAW,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,mBAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,OAAe;IAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,MAAM,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,UAAkB;IAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAoB;QAChC,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,wBAAwB;QACjC,MAAM;KACP,CAAC;IACF,MAAM,WAAW,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IAChD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAqC,CAAC;QACzE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAGrE,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC/D,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,aAAa,GAAG,IAAI,CAAC;gBACrB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,sEAAsE;IACxE,CAAC;IACD,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1D,MAAM,WAAW,GAAG,QAAQ,CAAC;IAC7B,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,QAAQ,CACZ,gBAAgB,CAAC,WAAW,CAAC,EAC7B,YAAY,EAAE,EACd,iBAAiB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC7C,CAAC;QACF,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,OAAoC;IACzE,IAAI,IAAI,CAAC,MAAM,IAAI,6BAA6B;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GACV,8HAA8H,CAAC;IACjI,MAAM,SAAS,GAAG,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,GAAG,mBAAmB,GAAG,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,WAAmB,EACnB,IAAY,EACZ,OAAoC;IAEpC,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACtE,CAAC;IACD,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAC/B,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAkB;IAC/C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,IAAI,GAAI,KAA4C,CAAC,IAAI,CAAC;QAChE,IAAK,KAA4B,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QACxF,MAAM,QAAQ,GAAG;YACf,qCAAqC;YACrC,uCAAuC;YACvC,mGAAmG;SACpG,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAkB;IACvD,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,SAAS,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,KAA4B,CAAC;IAC3C,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;QAClD,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAAiB,EACjB,WAAmB,EACnB,OAAoC,EACpC,UAA0B;IAE1B,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uCAAuC,KAAK,CAAC,IAAI,mCAAmC,UAAU,IAAI;aACzG,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC,CAAC;YACnF,SAAS;QACX,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAgB,EAChB,WAAmB,EACnB,OAAoC;IAEpC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,CAAC,MAAM,oBAAoB,CAClC,OAAO,CAAC,OAAO,EACf,WAAW,EACX,OAAO,CACR,CAA2B;SAC7B,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IAE5C,MAAM,OAAO,GAAG,EAA4B,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,MAAM;YACT,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5B,IACE,KAAK;oBACL,OAAO,KAAK,KAAK,QAAQ;oBACxB,KAA4B,CAAC,IAAI,KAAK,MAAM;oBAC7C,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,EACtD,CAAC;oBACD,OAAO;wBACL,GAAI,KAAwC;wBAC5C,IAAI,EAAE,eAAe,CAAE,KAA0B,CAAC,IAAI,EAAE,OAAO,CAAC;qBACjE,CAAC;gBACJ,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAA0B;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,KAAQ,EACR,WAAmB,EACnB,UAAuC,gCAAgC,EAAE;IAEzE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,KAIb,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC7D,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,MAAM,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;KAChE,CAAC;AACT,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAiB,EAAE,WAAmB;IACtE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0DAA0D;aACjE,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gEAAgE;aACvE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAI,KAAQ,EAAE,WAAmB;IACxE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,KAA8C,CAAC;IAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,OAAO;YACL,GAAG,KAAK;YACR,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,OAAO,EAAE,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAA2B;aAC5F;SACG,CAAC;IACT,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,EAA4B,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,MAAM;YACT,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpC,CAAC,CAAE,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAA2B;gBACpF,CAAC,CAAC,MAAM,CAAC,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAO,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAC1D,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,MAAM,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,UAAU;YAChB,GAAG,gCAAgC,EAAE;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC1D,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YAC7C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,eAAe,CAAC;gBACzB,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACxD,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC5B,IAAI,UAAU,GAAkB,IAAI,CAAC;gBACrC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;wBAC3C,IAAK,MAA6B,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BACtD,MAAM,UAAU,GAAG,MAAM,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;4BACrF,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;wBACvE,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,oEAAoE;wBACpE,4DAA4D;oBAC9D,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,KAAK,IAAI;oBAAE,SAAS;gBAClC,IAAI,SAAS;oBAAE,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACrC,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;YACD,IAAI,SAAS,IAAI,kBAAkB;gBAAE,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,QAAQ,CACZ,gBAAgB,CAAC,cAAc,CAAC,EAChC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EACxB,iBAAiB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC7C,CAAC;QACF,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,MAAM,CAAC,IAAI;YACxB,YAAY,EAAE,WAAW,CAAC,IAAI;YAC9B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YACvD,IAAI,EAAE,WAAW;YACjB,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,WAAmB;IAEnB,MAAM,MAAM,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAClD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW;gBAAE,SAAS;YAC1C,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -10,7 +10,7 @@ import { SessionManager } from "./session-manager.js";
10
10
  import { archiveColdSession, archiveSessionPath, MAX_PERSISTED_TOOL_TEXT_CHARS, openSessionReadStream, plainSessionPath, resolveSessionPath, sessionAssetDir, SESSION_TEMP_MARKER, } from "./session-storage.js";
11
11
  const tempDirs = [];
12
12
  async function makeTempDir() {
13
- const dir = await mkdtemp(path.join(tmpdir(), "gg-session-storage-"));
13
+ const dir = await mkdtemp(path.join(tmpdir(), "ez-session-storage-"));
14
14
  tempDirs.push(dir);
15
15
  return dir;
16
16
  }
@@ -108,7 +108,7 @@ describe("session entry storage normalization", () => {
108
108
  expect(assets).toEqual([crypto.createHash("sha256").update(mediaBytes).digest("hex")]);
109
109
  const raw = await readFile(created.path, "utf8");
110
110
  expect(raw).not.toContain(base64);
111
- expect(raw).toContain("gg-session-asset:v1:");
111
+ expect(raw).toContain("ez-session-asset:v1:");
112
112
  const loaded = await manager.load(created.path);
113
113
  const messages = manager.getMessages(loaded.entries);
114
114
  expect(messages[0].content[0].data).toBe(base64);
@@ -51,6 +51,8 @@ declare const SettingsSchema: z.ZodObject<{
51
51
  workspace: "workspace";
52
52
  }>>;
53
53
  deferredMcpTools: z.ZodDefault<z.ZodBoolean>;
54
+ deferredBuiltinTools: z.ZodDefault<z.ZodBoolean>;
55
+ grepUseRipgrep: z.ZodDefault<z.ZodBoolean>;
54
56
  mcpModernProtocol: z.ZodDefault<z.ZodBoolean>;
55
57
  subagentMaxPerModel: z.ZodOptional<z.ZodNumber>;
56
58
  enabledTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1 +1 @@
1
- {"version":3,"file":"settings-manager.d.ts","sourceRoot":"","sources":["../../src/core/settings-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsFlB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,gBAAgB,EAAE,QAmB9B,CAAC;AAIF,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,CAAC,EAAE,MAAM;IAIvB,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC;IAazB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAI5C,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,MAAM,IAAI,QAAQ;CAGnB"}
1
+ {"version":3,"file":"settings-manager.d.ts","sourceRoot":"","sources":["../../src/core/settings-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6FlB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,gBAAgB,EAAE,QAqB9B,CAAC;AAIF,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,CAAC,EAAE,MAAM;IAIvB,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC;IAazB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAI5C,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,MAAM,IAAI,QAAQ;CAGnB"}
@@ -71,8 +71,15 @@ const SettingsSchema = z.object({
71
71
  */
72
72
  sandboxMode: z.enum(["auto", "workspace", "off"]).default("off"),
73
73
  /** Defer MCP tool schemas out of the prompt until discovered via tool_search.
74
- * Cuts ~8k tokens/cache-miss turn with two MCP servers (bench/RESULTS.md). */
74
+ * Cuts ~8k tokens/cache-miss turn with two MCP servers connected. */
75
75
  deferredMcpTools: z.boolean().default(true),
76
+ /** Defer rarely reached BUILT-IN tool schemas the same way, leaving a one-line
77
+ * capability hint in the prompt that `tool_search` expands on demand. Trades
78
+ * per-request tokens against how reliably the model still finds the tool. */
79
+ deferredBuiltinTools: z.boolean().default(true),
80
+ /** Use the `rg` binary for `grep` content search when it is on PATH, falling
81
+ * back to the in-process scanner otherwise. */
82
+ grepUseRipgrep: z.boolean().default(true),
76
83
  /** Opt into the 2026-07-28 MCP protocol revision. When on, a connect probes
77
84
  * with `server/discover` and falls back to the 2025 `initialize` handshake,
78
85
  * so a legacy server still connects. Off by default: the probe costs a round
@@ -105,6 +112,8 @@ export const DEFAULT_SETTINGS = {
105
112
  networkAllow: [],
106
113
  sandboxMode: "off",
107
114
  deferredMcpTools: true,
115
+ deferredBuiltinTools: true,
116
+ grepUseRipgrep: true,
108
117
  mcpModernProtocol: false,
109
118
  sessionRetentionDays: 30,
110
119
  speedProfile: "optimized",
@@ -1 +1 @@
1
- {"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/core/settings-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/core/settings-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,8DAA8D;AAE9D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACtC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5D,eAAe,EAAE,CAAC;SACf,IAAI,CAAC;QACJ,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,UAAU;QACV,SAAS;QACT,QAAQ;QACR,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,KAAK;KACN,CAAC;SACD,OAAO,CAAC,WAAW,CAAC;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACnD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3C,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpF,KAAK,EAAE,CAAC;SACL,IAAI,CAAC;QACJ,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;QACX,YAAY;QACZ,iBAAiB;QACjB,kBAAkB;KACnB,CAAC;SACD,OAAO,CAAC,MAAM,CAAC;IAClB,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,yDAAyD;IACzD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC;kFAC8E;IAC9E,2BAA2B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD;;;sEAGkE;IAClE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxD;+CAC2C;IAC3C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChE;0EACsE;IACtE,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C;;kFAE8E;IAC9E,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/C;oDACgD;IAChD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC;;;kFAG8E;IAC9E,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C;6EACyE;IACzE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9D,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,2FAA2F;IAC3F,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzD;;oFAEgF;IAChF,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;CACrE,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,WAAW;IAC5B,SAAS,EAAE,KAAK;IAChB,eAAe,EAAE,KAAK;IACtB,KAAK,EAAE,MAAM;IACb,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;IACxB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,2BAA2B,EAAE,KAAK;IAClC,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,KAAK;IAClB,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,IAAI;IAC1B,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,EAAE;IACxB,YAAY,EAAE,WAAW;CAC1B,CAAC;AAEF,8DAA8D;AAE9D,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAa,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC7C,QAAQ,CAAS;IACjB,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,QAAiB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC,YAAY,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,uDAAuD;YACvD,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,GAAG,CAA2B,GAAM;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,CAA2B,GAAM,EAAE,KAAkB;QAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -57,7 +57,7 @@ function wellKnownBinDirs() {
57
57
  }
58
58
  return [];
59
59
  }
60
- const DELIMITER = "_GG_SHELL_ENV_DELIMITER_";
60
+ const DELIMITER = "_EZ_SHELL_ENV_DELIMITER_";
61
61
  /**
62
62
  * Ask the user's login shell for its PATH. Best-effort: resolves to null on any
63
63
  * error/timeout so the caller falls back to the well-known dirs. Mirrors the
@@ -43,7 +43,7 @@ export interface ResolveShellOpts {
43
43
  /**
44
44
  * Resolve the shell executable + args to run a single command string.
45
45
  *
46
- * `GG_BASH` env override always wins (point it at any POSIX bash, e.g. a custom
46
+ * `EZ_BASH` env override always wins (point it at any POSIX bash, e.g. a custom
47
47
  * Git Bash or msys2 install). Otherwise: non-Windows → `bash`; Windows → Git
48
48
  * Bash if found, else `cmd.exe`.
49
49
  */
@@ -54,7 +54,7 @@ function findGitBash(env, exists) {
54
54
  /**
55
55
  * Resolve the shell executable + args to run a single command string.
56
56
  *
57
- * `GG_BASH` env override always wins (point it at any POSIX bash, e.g. a custom
57
+ * `EZ_BASH` env override always wins (point it at any POSIX bash, e.g. a custom
58
58
  * Git Bash or msys2 install). Otherwise: non-Windows → `bash`; Windows → Git
59
59
  * Bash if found, else `cmd.exe`.
60
60
  */
@@ -63,7 +63,7 @@ export function resolveShell(command, opts = {}) {
63
63
  const env = opts.env ?? process.env;
64
64
  const exists = opts.exists ?? existsSync;
65
65
  // Explicit override (power users / tests): treat as a POSIX bash.
66
- const override = env.GG_BASH?.trim();
66
+ const override = env.EZ_BASH?.trim();
67
67
  if (override) {
68
68
  return { file: override, args: ["-c", command], isCmdFallback: false };
69
69
  }
@@ -7,10 +7,10 @@ describe("resolveShell", () => {
7
7
  expect(r).toEqual({ file: "bash", args: ["-c", "ls -la"], isCmdFallback: false });
8
8
  }
9
9
  });
10
- it("honors the GG_BASH override on any platform", () => {
10
+ it("honors the EZ_BASH override on any platform", () => {
11
11
  const r = resolveShell("echo hi", {
12
12
  platform: "win32",
13
- env: { GG_BASH: "C:\\msys64\\usr\\bin\\bash.exe" },
13
+ env: { EZ_BASH: "C:\\msys64\\usr\\bin\\bash.exe" },
14
14
  // Even though Git Bash also 'exists', the override wins.
15
15
  exists: () => true,
16
16
  });
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Bounded process shutdown.
3
+ *
4
+ * Teardown reaches third-party code we do not control — MCP servers over stdio,
5
+ * LSP servers, extension `deactivate()` hooks, Telegram long-polls. Any one of
6
+ * them can hang forever, and an `await`-everything shutdown then never reaches
7
+ * `process.exit`: the app appears to quit but the daemon keeps its port, or the
8
+ * CLI keeps polling with nobody attached. Every long-running entry point arms a
9
+ * deadline instead, so a wedged dependency costs a few seconds, not the process.
10
+ *
11
+ * `SIGHUP` matters as much as `SIGINT`: closing a terminal delivers exactly one
12
+ * hangup and never a second key press, so a process that only force-exits on the
13
+ * *second* Ctrl+C survives as an orphan.
14
+ */
15
+ /** Signals that must terminate a long-running EZ process. */
16
+ export declare const TERMINATION_SIGNALS: readonly ["SIGINT", "SIGTERM", "SIGHUP"];
17
+ export type TerminationSignal = (typeof TERMINATION_SIGNALS)[number];
18
+ /** How long teardown gets before the process exits anyway. */
19
+ export declare const DEFAULT_EXIT_TIMEOUT_MS = 5000;
20
+ /** Env override, in seconds. `0` disables the deadline (debugging teardown). */
21
+ export declare const EXIT_TIMEOUT_ENV = "EZ_EXIT_TIMEOUT_SECS";
22
+ /**
23
+ * Resolve the teardown deadline from the environment.
24
+ *
25
+ * Anything unparseable, negative or absurd falls back to the default rather
26
+ * than disabling the guard, because a typo in a launcher script must not be
27
+ * able to reintroduce an unbounded hang.
28
+ */
29
+ export declare function resolveExitTimeoutMs(env?: NodeJS.ProcessEnv): number;
30
+ /** Conventional exit code for a signal-initiated exit (`128 + signal number`). */
31
+ export declare function exitCodeForSignal(signal: TerminationSignal): number;
32
+ export interface ShutdownOptions {
33
+ /** Releases resources. May hang — that is the entire point of the deadline. */
34
+ teardown: () => Promise<void> | void;
35
+ /** Deadline override, mainly for tests. Defaults to {@link resolveExitTimeoutMs}. */
36
+ timeoutMs?: number;
37
+ /** Logging/reporting scope, e.g. `"app-sidecar"`. */
38
+ scope?: string;
39
+ /** Runs when teardown misses the deadline, just before the forced exit. */
40
+ onTimeout?: (timeoutMs: number) => void;
41
+ /** Runs when teardown throws. Shutdown continues regardless. */
42
+ onError?: (error: unknown) => void;
43
+ /** Terminates the process. Injectable so tests do not exit the runner. */
44
+ exit?: (code: number) => never;
45
+ }
46
+ /**
47
+ * Run `teardown`, then exit — but exit on the deadline even if teardown never
48
+ * settles.
49
+ *
50
+ * The timer is deliberately **not** unref'd: an unref'd timer lets Node exit on
51
+ * its own the moment the loop empties, which would race teardown and produce a
52
+ * nondeterministic exit code. Held ref + explicit exit on both paths means the
53
+ * code is always the one we chose.
54
+ */
55
+ export declare function shutdownWithDeadline(code: number, options: ShutdownOptions): Promise<never>;
56
+ export interface TerminationHandlerOptions extends ShutdownOptions {
57
+ /** Runs once per shutdown request, before teardown (e.g. print a banner). */
58
+ onShutdownStart?: (signal: TerminationSignal | null) => void;
59
+ }
60
+ /**
61
+ * Wire `SIGINT`/`SIGTERM`/`SIGHUP` to a bounded shutdown.
62
+ *
63
+ * A second signal while teardown is still running exits immediately rather than
64
+ * waiting out the deadline — a user hitting Ctrl+C twice is telling us they are
65
+ * done being patient.
66
+ *
67
+ * @returns `requestShutdown`, for non-signal exits (a dead parent process, a
68
+ * quit menu item) so they share the same guard and re-entrancy rules.
69
+ */
70
+ export declare function installTerminationHandlers(options: TerminationHandlerOptions): (code?: number) => void;
71
+ //# sourceMappingURL=shutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../src/core/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,0CAA2C,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AASrE,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAKvD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAOjF;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEnE;AAED,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gEAAgE;IAChE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAsCjG;AAED,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,6EAA6E;IAC7E,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,yBAAyB,GACjC,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CA+BzB"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Bounded process shutdown.
3
+ *
4
+ * Teardown reaches third-party code we do not control — MCP servers over stdio,
5
+ * LSP servers, extension `deactivate()` hooks, Telegram long-polls. Any one of
6
+ * them can hang forever, and an `await`-everything shutdown then never reaches
7
+ * `process.exit`: the app appears to quit but the daemon keeps its port, or the
8
+ * CLI keeps polling with nobody attached. Every long-running entry point arms a
9
+ * deadline instead, so a wedged dependency costs a few seconds, not the process.
10
+ *
11
+ * `SIGHUP` matters as much as `SIGINT`: closing a terminal delivers exactly one
12
+ * hangup and never a second key press, so a process that only force-exits on the
13
+ * *second* Ctrl+C survives as an orphan.
14
+ */
15
+ import { log } from "./logger.js";
16
+ /** Signals that must terminate a long-running EZ process. */
17
+ export const TERMINATION_SIGNALS = ["SIGINT", "SIGTERM", "SIGHUP"];
18
+ /** POSIX signal numbers, for the conventional `128 + n` exit code. */
19
+ const SIGNAL_NUMBERS = {
20
+ SIGHUP: 1,
21
+ SIGINT: 2,
22
+ SIGTERM: 15,
23
+ };
24
+ /** How long teardown gets before the process exits anyway. */
25
+ export const DEFAULT_EXIT_TIMEOUT_MS = 5_000;
26
+ /** Env override, in seconds. `0` disables the deadline (debugging teardown). */
27
+ export const EXIT_TIMEOUT_ENV = "EZ_EXIT_TIMEOUT_SECS";
28
+ /** Upper bound on the override — a deadline nobody will wait for is no deadline. */
29
+ const MAX_EXIT_TIMEOUT_MS = 120_000;
30
+ /**
31
+ * Resolve the teardown deadline from the environment.
32
+ *
33
+ * Anything unparseable, negative or absurd falls back to the default rather
34
+ * than disabling the guard, because a typo in a launcher script must not be
35
+ * able to reintroduce an unbounded hang.
36
+ */
37
+ export function resolveExitTimeoutMs(env = process.env) {
38
+ const raw = env[EXIT_TIMEOUT_ENV];
39
+ if (raw === undefined || raw.trim() === "")
40
+ return DEFAULT_EXIT_TIMEOUT_MS;
41
+ const seconds = Number(raw);
42
+ if (!Number.isFinite(seconds) || seconds < 0)
43
+ return DEFAULT_EXIT_TIMEOUT_MS;
44
+ if (seconds === 0)
45
+ return 0;
46
+ return Math.min(Math.round(seconds * 1000), MAX_EXIT_TIMEOUT_MS);
47
+ }
48
+ /** Conventional exit code for a signal-initiated exit (`128 + signal number`). */
49
+ export function exitCodeForSignal(signal) {
50
+ return 128 + SIGNAL_NUMBERS[signal];
51
+ }
52
+ /**
53
+ * Run `teardown`, then exit — but exit on the deadline even if teardown never
54
+ * settles.
55
+ *
56
+ * The timer is deliberately **not** unref'd: an unref'd timer lets Node exit on
57
+ * its own the moment the loop empties, which would race teardown and produce a
58
+ * nondeterministic exit code. Held ref + explicit exit on both paths means the
59
+ * code is always the one we chose.
60
+ */
61
+ export async function shutdownWithDeadline(code, options) {
62
+ const exit = options.exit ?? ((c) => process.exit(c));
63
+ const scope = options.scope ?? "shutdown";
64
+ const timeoutMs = options.timeoutMs ?? resolveExitTimeoutMs();
65
+ const timer = timeoutMs > 0
66
+ ? setTimeout(() => {
67
+ // Teardown is wedged; anything here must be best-effort and never
68
+ // able to stop the exit itself.
69
+ try {
70
+ options.onTimeout?.(timeoutMs);
71
+ }
72
+ catch {
73
+ // ignored — we are leaving either way
74
+ }
75
+ try {
76
+ log("WARN", scope, "teardown exceeded the exit deadline; forcing exit", {
77
+ timeoutMs: String(timeoutMs),
78
+ code: String(code),
79
+ });
80
+ }
81
+ catch {
82
+ // ignored — the logger may already be closed
83
+ }
84
+ exit(code);
85
+ }, timeoutMs)
86
+ : undefined;
87
+ try {
88
+ await options.teardown();
89
+ }
90
+ catch (error) {
91
+ try {
92
+ options.onError?.(error);
93
+ }
94
+ catch {
95
+ // ignored — a reporting failure must not block the exit
96
+ }
97
+ }
98
+ if (timer)
99
+ clearTimeout(timer);
100
+ return exit(code);
101
+ }
102
+ /**
103
+ * Wire `SIGINT`/`SIGTERM`/`SIGHUP` to a bounded shutdown.
104
+ *
105
+ * A second signal while teardown is still running exits immediately rather than
106
+ * waiting out the deadline — a user hitting Ctrl+C twice is telling us they are
107
+ * done being patient.
108
+ *
109
+ * @returns `requestShutdown`, for non-signal exits (a dead parent process, a
110
+ * quit menu item) so they share the same guard and re-entrancy rules.
111
+ */
112
+ export function installTerminationHandlers(options) {
113
+ const exit = options.exit ?? ((c) => process.exit(c));
114
+ let shuttingDown = false;
115
+ const requestShutdown = (code = 0, signal = null) => {
116
+ if (shuttingDown) {
117
+ // Impatient second signal: skip the remaining deadline.
118
+ if (signal)
119
+ exit(code);
120
+ return;
121
+ }
122
+ shuttingDown = true;
123
+ try {
124
+ options.onShutdownStart?.(signal);
125
+ }
126
+ catch {
127
+ // ignored — a banner must not block teardown
128
+ }
129
+ // `exit` never returns in production, so this promise normally never
130
+ // settles. It only rejects when an injected exit throws (tests), and an
131
+ // unhandled rejection there would crash the runner.
132
+ void shutdownWithDeadline(code, options).catch(() => { });
133
+ };
134
+ for (const signal of TERMINATION_SIGNALS) {
135
+ try {
136
+ process.on(signal, () => requestShutdown(exitCodeForSignal(signal), signal));
137
+ }
138
+ catch {
139
+ // Windows does not deliver every POSIX signal; the others still install.
140
+ }
141
+ }
142
+ return (code = 0) => requestShutdown(code, null);
143
+ }
144
+ //# sourceMappingURL=shutdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../src/core/shutdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shutdown.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.test.d.ts","sourceRoot":"","sources":["../../src/core/shutdown.test.ts"],"names":[],"mappings":""}