@machina.ai/cell-cli-core 1.41.1-rc2 → 1.45.1-rc2

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 (834) hide show
  1. package/dist/docs/AFTER_MERGE_PROMPT.md +1 -1
  2. package/dist/docs/changelogs/index.md +63 -0
  3. package/dist/docs/changelogs/latest.md +200 -244
  4. package/dist/docs/changelogs/preview.md +198 -385
  5. package/dist/docs/cli/auto-memory.md +61 -40
  6. package/dist/docs/cli/cli-reference.md +2 -1
  7. package/dist/docs/cli/creating-skills.md +165 -38
  8. package/dist/docs/cli/custom-commands.md +1 -0
  9. package/dist/docs/cli/gemini-md.md +0 -3
  10. package/dist/docs/cli/model-routing.md +3 -3
  11. package/dist/docs/cli/plan-mode.md +2 -2
  12. package/dist/docs/cli/settings.md +20 -19
  13. package/dist/docs/cli/skills-best-practices.md +78 -0
  14. package/dist/docs/cli/skills.md +98 -176
  15. package/dist/docs/cli/tutorials/memory-management.md +3 -3
  16. package/dist/docs/cli/tutorials/session-management.md +13 -0
  17. package/dist/docs/cli/tutorials/skills-getting-started.md +140 -92
  18. package/dist/docs/cli/using-agent-skills.md +90 -0
  19. package/dist/docs/core/gemma-setup.md +83 -0
  20. package/dist/docs/core/index.md +3 -2
  21. package/dist/docs/core/local-model-routing.md +14 -7
  22. package/dist/docs/extensions/reference.md +16 -0
  23. package/dist/docs/extensions/releasing.md +58 -24
  24. package/dist/docs/extensions/writing-extensions.md +7 -0
  25. package/dist/docs/get-started/installation.mdx +2 -2
  26. package/dist/docs/model-routing-spec.md +683 -0
  27. package/dist/docs/reference/commands.md +14 -7
  28. package/dist/docs/reference/configuration.md +264 -88
  29. package/dist/docs/reference/keyboard-shortcuts.md +24 -1
  30. package/dist/docs/reference/policy-engine.md +14 -3
  31. package/dist/docs/reference/tools.md +48 -1
  32. package/dist/docs/releases.md +2 -2
  33. package/dist/docs/sidebar.json +24 -2
  34. package/dist/docs/tools/activate-skill.md +1 -1
  35. package/dist/docs/tools/mcp-server.md +24 -3
  36. package/dist/docs/tools/memory.md +10 -13
  37. package/dist/docs/tools/shell.md +17 -0
  38. package/dist/package.json +18 -18
  39. package/dist/src/agent/content-utils.js +6 -1
  40. package/dist/src/agent/content-utils.js.map +1 -1
  41. package/dist/src/agent/content-utils.test.js +5 -1
  42. package/dist/src/agent/content-utils.test.js.map +1 -1
  43. package/dist/src/agent/event-translator.js +8 -7
  44. package/dist/src/agent/event-translator.js.map +1 -1
  45. package/dist/src/agent/event-translator.test.js +2 -2
  46. package/dist/src/agent/event-translator.test.js.map +1 -1
  47. package/dist/src/agent/legacy-agent-session.js +5 -1
  48. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  49. package/dist/src/agent/legacy-agent-session.test.js +11 -3
  50. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  51. package/dist/src/agent/tool-display-utils.d.ts +3 -2
  52. package/dist/src/agent/tool-display-utils.js +3 -2
  53. package/dist/src/agent/tool-display-utils.js.map +1 -1
  54. package/dist/src/agent/types.d.ts +33 -3
  55. package/dist/src/agents/a2aUtils.d.ts +1 -1
  56. package/dist/src/agents/a2aUtils.js +5 -4
  57. package/dist/src/agents/a2aUtils.js.map +1 -1
  58. package/dist/src/agents/a2aUtils.test.js +18 -0
  59. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  60. package/dist/src/agents/agent-tool.d.ts +3 -1
  61. package/dist/src/agents/agent-tool.js +19 -3
  62. package/dist/src/agents/agent-tool.js.map +1 -1
  63. package/dist/src/agents/agent-tool.test.js +76 -0
  64. package/dist/src/agents/agent-tool.test.js.map +1 -1
  65. package/dist/src/agents/agentLoader.d.ts +127 -22
  66. package/dist/src/agents/agentLoader.js +20 -0
  67. package/dist/src/agents/agentLoader.js.map +1 -1
  68. package/dist/src/agents/agentLoader.test.js +60 -0
  69. package/dist/src/agents/agentLoader.test.js.map +1 -1
  70. package/dist/src/agents/auth-provider/types.d.ts +5 -0
  71. package/dist/src/agents/browser/browserAgentInvocation.js +24 -19
  72. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  73. package/dist/src/agents/browser/snapshotSuperseder.js +11 -8
  74. package/dist/src/agents/browser/snapshotSuperseder.js.map +1 -1
  75. package/dist/src/agents/browser/snapshotSuperseder.test.js +6 -1
  76. package/dist/src/agents/browser/snapshotSuperseder.test.js.map +1 -1
  77. package/dist/src/agents/generalist-agent.js +8 -1
  78. package/dist/src/agents/generalist-agent.js.map +1 -1
  79. package/dist/src/agents/generalist-agent.test.js +24 -0
  80. package/dist/src/agents/generalist-agent.test.js.map +1 -1
  81. package/dist/src/agents/local-executor.d.ts +1 -0
  82. package/dist/src/agents/local-executor.js +76 -45
  83. package/dist/src/agents/local-executor.js.map +1 -1
  84. package/dist/src/agents/local-executor.test.js +199 -27
  85. package/dist/src/agents/local-executor.test.js.map +1 -1
  86. package/dist/src/agents/local-invocation.d.ts +1 -1
  87. package/dist/src/agents/local-invocation.js +47 -48
  88. package/dist/src/agents/local-invocation.js.map +1 -1
  89. package/dist/src/agents/local-invocation.test.js +13 -15
  90. package/dist/src/agents/local-invocation.test.js.map +1 -1
  91. package/dist/src/agents/local-session-invocation.d.ts +51 -0
  92. package/dist/src/agents/local-session-invocation.js +320 -0
  93. package/dist/src/agents/local-session-invocation.js.map +1 -0
  94. package/dist/src/agents/local-session-invocation.test.js +512 -0
  95. package/dist/src/agents/local-session-invocation.test.js.map +1 -0
  96. package/dist/src/agents/local-subagent-protocol.d.ts +18 -0
  97. package/dist/src/agents/local-subagent-protocol.js +357 -0
  98. package/dist/src/agents/local-subagent-protocol.js.map +1 -0
  99. package/dist/src/agents/local-subagent-protocol.test.js +676 -0
  100. package/dist/src/agents/local-subagent-protocol.test.js.map +1 -0
  101. package/dist/src/agents/registry.d.ts +8 -4
  102. package/dist/src/agents/registry.js +112 -47
  103. package/dist/src/agents/registry.js.map +1 -1
  104. package/dist/src/agents/registry.test.js +9 -20
  105. package/dist/src/agents/registry.test.js.map +1 -1
  106. package/dist/src/agents/remote-invocation.js +6 -6
  107. package/dist/src/agents/remote-invocation.js.map +1 -1
  108. package/dist/src/agents/remote-invocation.test.js +23 -12
  109. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  110. package/dist/src/agents/remote-session-invocation.d.ts +48 -0
  111. package/dist/src/agents/remote-session-invocation.js +193 -0
  112. package/dist/src/agents/remote-session-invocation.js.map +1 -0
  113. package/dist/src/agents/remote-session-invocation.test.d.ts +6 -0
  114. package/dist/src/agents/remote-session-invocation.test.js +405 -0
  115. package/dist/src/agents/remote-session-invocation.test.js.map +1 -0
  116. package/dist/src/agents/remote-subagent-protocol.d.ts +42 -0
  117. package/dist/src/agents/remote-subagent-protocol.js +348 -0
  118. package/dist/src/agents/remote-subagent-protocol.js.map +1 -0
  119. package/dist/src/agents/remote-subagent-protocol.test.d.ts +6 -0
  120. package/dist/src/agents/remote-subagent-protocol.test.js +652 -0
  121. package/dist/src/agents/remote-subagent-protocol.test.js.map +1 -0
  122. package/dist/src/agents/skill-extraction-agent.d.ts +8 -1
  123. package/dist/src/agents/skill-extraction-agent.js +171 -21
  124. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  125. package/dist/src/agents/skill-extraction-agent.test.js +66 -2
  126. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
  127. package/dist/src/agents/types.d.ts +38 -2
  128. package/dist/src/agents/types.js +7 -0
  129. package/dist/src/agents/types.js.map +1 -1
  130. package/dist/src/availability/autoRoutingFallback.integration.test.d.ts +6 -0
  131. package/dist/src/availability/autoRoutingFallback.integration.test.js +288 -0
  132. package/dist/src/availability/autoRoutingFallback.integration.test.js.map +1 -0
  133. package/dist/src/availability/fallbackIntegration.test.js +29 -0
  134. package/dist/src/availability/fallbackIntegration.test.js.map +1 -1
  135. package/dist/src/availability/modelAvailabilityService.d.ts +6 -6
  136. package/dist/src/availability/modelAvailabilityService.js +16 -8
  137. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  138. package/dist/src/availability/modelAvailabilityService.test.js +39 -0
  139. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
  140. package/dist/src/availability/modelPolicy.d.ts +1 -0
  141. package/dist/src/availability/policyCatalog.d.ts +2 -0
  142. package/dist/src/availability/policyCatalog.js +38 -9
  143. package/dist/src/availability/policyCatalog.js.map +1 -1
  144. package/dist/src/availability/policyCatalog.test.js +5 -4
  145. package/dist/src/availability/policyCatalog.test.js.map +1 -1
  146. package/dist/src/availability/policyHelpers.js +42 -27
  147. package/dist/src/availability/policyHelpers.js.map +1 -1
  148. package/dist/src/availability/policyHelpers.test.js +47 -7
  149. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  150. package/dist/src/availability/testUtils.js +1 -1
  151. package/dist/src/availability/testUtils.js.map +1 -1
  152. package/dist/src/code_assist/admin/admin_controls.js +3 -1
  153. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  154. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -1
  155. package/dist/src/code_assist/experiments/flagNames.js +1 -1
  156. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  157. package/dist/src/code_assist/oauth-credential-storage.js +12 -3
  158. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
  159. package/dist/src/code_assist/oauth-credential-storage.test.js +29 -2
  160. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  161. package/dist/src/code_assist/oauth2.js +12 -3
  162. package/dist/src/code_assist/oauth2.js.map +1 -1
  163. package/dist/src/code_assist/oauth2.test.js +38 -0
  164. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  165. package/dist/src/code_assist/setup.d.ts +3 -0
  166. package/dist/src/code_assist/setup.js +9 -0
  167. package/dist/src/code_assist/setup.js.map +1 -1
  168. package/dist/src/code_assist/setup.test.js +10 -1
  169. package/dist/src/code_assist/setup.test.js.map +1 -1
  170. package/dist/src/commands/memory.d.ts +83 -2
  171. package/dist/src/commands/memory.js +479 -28
  172. package/dist/src/commands/memory.js.map +1 -1
  173. package/dist/src/commands/memory.test.js +414 -58
  174. package/dist/src/commands/memory.test.js.map +1 -1
  175. package/dist/src/config/config.d.ts +61 -37
  176. package/dist/src/config/config.js +294 -101
  177. package/dist/src/config/config.js.map +1 -1
  178. package/dist/src/config/config.test.js +365 -113
  179. package/dist/src/config/config.test.js.map +1 -1
  180. package/dist/src/config/defaultModelConfigs.js +185 -61
  181. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  182. package/dist/src/config/flashFallback.test.js +31 -0
  183. package/dist/src/config/flashFallback.test.js.map +1 -1
  184. package/dist/src/config/models.d.ts +20 -10
  185. package/dist/src/config/models.js +105 -34
  186. package/dist/src/config/models.js.map +1 -1
  187. package/dist/src/config/models.test.js +204 -47
  188. package/dist/src/config/models.test.js.map +1 -1
  189. package/dist/src/config/projectRegistry.d.ts +1 -0
  190. package/dist/src/config/projectRegistry.js +14 -3
  191. package/dist/src/config/projectRegistry.js.map +1 -1
  192. package/dist/src/config/projectRegistry.test.js +43 -0
  193. package/dist/src/config/projectRegistry.test.js.map +1 -1
  194. package/dist/src/config/scoped-config.d.ts +22 -0
  195. package/dist/src/config/scoped-config.js +32 -0
  196. package/dist/src/config/scoped-config.js.map +1 -1
  197. package/dist/src/config/storage.d.ts +0 -1
  198. package/dist/src/config/storage.js +0 -3
  199. package/dist/src/config/storage.js.map +1 -1
  200. package/dist/src/confirmation-bus/message-bus.d.ts +3 -1
  201. package/dist/src/confirmation-bus/message-bus.js +14 -5
  202. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  203. package/dist/src/confirmation-bus/message-bus.test.js +34 -0
  204. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  205. package/dist/src/context/chatCompressionService.js +7 -5
  206. package/dist/src/context/chatCompressionService.js.map +1 -1
  207. package/dist/src/context/chatCompressionService.test.js +1 -1
  208. package/dist/src/context/chatCompressionService.test.js.map +1 -1
  209. package/dist/src/context/config/configLoader.js +4 -1
  210. package/dist/src/context/config/configLoader.js.map +1 -1
  211. package/dist/src/context/config/profiles.d.ts +10 -0
  212. package/dist/src/context/config/profiles.js +98 -3
  213. package/dist/src/context/config/profiles.js.map +1 -1
  214. package/dist/src/context/config/schema.d.ts +4 -0
  215. package/dist/src/context/config/schema.js +4 -0
  216. package/dist/src/context/config/schema.js.map +1 -1
  217. package/dist/src/context/config/types.d.ts +13 -1
  218. package/dist/src/context/contextCompressionService.test.js +7 -3
  219. package/dist/src/context/contextCompressionService.test.js.map +1 -1
  220. package/dist/src/context/contextManager.barrier.test.js +39 -16
  221. package/dist/src/context/contextManager.barrier.test.js.map +1 -1
  222. package/dist/src/context/contextManager.d.ts +25 -28
  223. package/dist/src/context/contextManager.hotstart.test.d.ts +6 -0
  224. package/dist/src/context/contextManager.hotstart.test.js +65 -0
  225. package/dist/src/context/contextManager.hotstart.test.js.map +1 -0
  226. package/dist/src/context/contextManager.incremental.test.d.ts +6 -0
  227. package/dist/src/context/contextManager.incremental.test.js +101 -0
  228. package/dist/src/context/contextManager.incremental.test.js.map +1 -0
  229. package/dist/src/context/contextManager.js +276 -79
  230. package/dist/src/context/contextManager.js.map +1 -1
  231. package/dist/src/context/contextManager.test.d.ts +6 -0
  232. package/dist/src/context/contextManager.test.js +142 -0
  233. package/dist/src/context/contextManager.test.js.map +1 -0
  234. package/dist/src/context/eventBus.d.ts +13 -0
  235. package/dist/src/context/eventBus.js +12 -0
  236. package/dist/src/context/eventBus.js.map +1 -1
  237. package/dist/src/context/graph/behaviorRegistry.d.ts +4 -12
  238. package/dist/src/context/graph/behaviorRegistry.js.map +1 -1
  239. package/dist/src/context/graph/builtinBehaviors.d.ts +6 -1
  240. package/dist/src/context/graph/builtinBehaviors.js +23 -108
  241. package/dist/src/context/graph/builtinBehaviors.js.map +1 -1
  242. package/dist/src/context/graph/fromGraph.d.ts +8 -3
  243. package/dist/src/context/graph/fromGraph.js +46 -30
  244. package/dist/src/context/graph/fromGraph.js.map +1 -1
  245. package/dist/src/context/graph/fromGraph.test.d.ts +6 -0
  246. package/dist/src/context/graph/fromGraph.test.js +186 -0
  247. package/dist/src/context/graph/fromGraph.test.js.map +1 -0
  248. package/dist/src/context/graph/mapper.d.ts +8 -10
  249. package/dist/src/context/graph/mapper.js +11 -19
  250. package/dist/src/context/graph/mapper.js.map +1 -1
  251. package/dist/src/context/graph/mapper.test.d.ts +6 -0
  252. package/dist/src/context/graph/mapper.test.js +101 -0
  253. package/dist/src/context/graph/mapper.test.js.map +1 -0
  254. package/dist/src/context/graph/nodeIdService.d.ts +17 -0
  255. package/dist/src/context/graph/nodeIdService.js +24 -0
  256. package/dist/src/context/graph/nodeIdService.js.map +1 -0
  257. package/dist/src/context/graph/render.d.ts +24 -5
  258. package/dist/src/context/graph/render.js +129 -34
  259. package/dist/src/context/graph/render.js.map +1 -1
  260. package/dist/src/context/graph/render.test.d.ts +6 -0
  261. package/dist/src/context/graph/render.test.js +280 -0
  262. package/dist/src/context/graph/render.test.js.map +1 -0
  263. package/dist/src/context/graph/toGraph.d.ts +16 -14
  264. package/dist/src/context/graph/toGraph.js +180 -202
  265. package/dist/src/context/graph/toGraph.js.map +1 -1
  266. package/dist/src/context/graph/toGraph.test.d.ts +6 -0
  267. package/dist/src/context/graph/toGraph.test.js +116 -0
  268. package/dist/src/context/graph/toGraph.test.js.map +1 -0
  269. package/dist/src/context/graph/types.d.ts +36 -73
  270. package/dist/src/context/graph/types.js +23 -14
  271. package/dist/src/context/graph/types.js.map +1 -1
  272. package/dist/src/context/initializer.js +26 -5
  273. package/dist/src/context/initializer.js.map +1 -1
  274. package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +5 -8
  275. package/dist/src/context/pipeline/contextWorkingBuffer.js +105 -35
  276. package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
  277. package/dist/src/context/pipeline/contextWorkingBuffer.test.js +81 -13
  278. package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -1
  279. package/dist/src/context/pipeline/environment.d.ts +4 -0
  280. package/dist/src/context/pipeline/environmentImpl.d.ts +6 -5
  281. package/dist/src/context/pipeline/environmentImpl.js +7 -9
  282. package/dist/src/context/pipeline/environmentImpl.js.map +1 -1
  283. package/dist/src/context/pipeline/environmentImpl.test.js +5 -1
  284. package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -1
  285. package/dist/src/context/pipeline/orchestrator.d.ts +20 -6
  286. package/dist/src/context/pipeline/orchestrator.js +97 -80
  287. package/dist/src/context/pipeline/orchestrator.js.map +1 -1
  288. package/dist/src/context/pipeline/orchestrator.test.js +33 -36
  289. package/dist/src/context/pipeline/orchestrator.test.js.map +1 -1
  290. package/dist/src/context/pipeline.d.ts +0 -1
  291. package/dist/src/context/processors/blobDegradationProcessor.js +43 -84
  292. package/dist/src/context/processors/blobDegradationProcessor.js.map +1 -1
  293. package/dist/src/context/processors/blobDegradationProcessor.test.js +33 -37
  294. package/dist/src/context/processors/blobDegradationProcessor.test.js.map +1 -1
  295. package/dist/src/context/processors/nodeDistillationProcessor.js +58 -80
  296. package/dist/src/context/processors/nodeDistillationProcessor.js.map +1 -1
  297. package/dist/src/context/processors/nodeDistillationProcessor.test.js +21 -15
  298. package/dist/src/context/processors/nodeDistillationProcessor.test.js.map +1 -1
  299. package/dist/src/context/processors/nodeTruncationProcessor.js +16 -60
  300. package/dist/src/context/processors/nodeTruncationProcessor.js.map +1 -1
  301. package/dist/src/context/processors/nodeTruncationProcessor.test.js +16 -19
  302. package/dist/src/context/processors/nodeTruncationProcessor.test.js.map +1 -1
  303. package/dist/src/context/processors/rollingSummaryProcessor.js +12 -25
  304. package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -1
  305. package/dist/src/context/processors/rollingSummaryProcessor.test.js +10 -9
  306. package/dist/src/context/processors/rollingSummaryProcessor.test.js.map +1 -1
  307. package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +7 -0
  308. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +37 -19
  309. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -1
  310. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +35 -10
  311. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -1
  312. package/dist/src/context/processors/stateSnapshotProcessor.d.ts +2 -0
  313. package/dist/src/context/processors/stateSnapshotProcessor.js +53 -21
  314. package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -1
  315. package/dist/src/context/processors/stateSnapshotProcessor.test.js +52 -12
  316. package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -1
  317. package/dist/src/context/processors/toolMaskingProcessor.js +96 -117
  318. package/dist/src/context/processors/toolMaskingProcessor.js.map +1 -1
  319. package/dist/src/context/processors/toolMaskingProcessor.test.js +50 -17
  320. package/dist/src/context/processors/toolMaskingProcessor.test.js.map +1 -1
  321. package/dist/src/context/system-tests/hysteresis.test.d.ts +6 -0
  322. package/dist/src/context/system-tests/hysteresis.test.js +100 -0
  323. package/dist/src/context/system-tests/hysteresis.test.js.map +1 -0
  324. package/dist/src/context/system-tests/lifecycle.golden.test.js +107 -72
  325. package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
  326. package/dist/src/context/system-tests/powerUserLifecycle.test.d.ts +6 -0
  327. package/dist/src/context/system-tests/powerUserLifecycle.test.js +91 -0
  328. package/dist/src/context/system-tests/powerUserLifecycle.test.js.map +1 -0
  329. package/dist/src/context/system-tests/simulationHarness.d.ts +2 -5
  330. package/dist/src/context/system-tests/simulationHarness.js +34 -35
  331. package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
  332. package/dist/src/context/testing/contextTestUtils.d.ts +5 -3
  333. package/dist/src/context/testing/contextTestUtils.js +74 -53
  334. package/dist/src/context/testing/contextTestUtils.js.map +1 -1
  335. package/dist/src/context/testing/testProfile.js +1 -0
  336. package/dist/src/context/testing/testProfile.js.map +1 -1
  337. package/dist/src/context/toolOutputMaskingService.js +1 -2
  338. package/dist/src/context/toolOutputMaskingService.js.map +1 -1
  339. package/dist/src/context/toolOutputMaskingService.test.js +5 -20
  340. package/dist/src/context/toolOutputMaskingService.test.js.map +1 -1
  341. package/dist/src/context/utils/adaptiveTokenCalculator.d.ts +70 -0
  342. package/dist/src/context/utils/adaptiveTokenCalculator.js +138 -0
  343. package/dist/src/context/utils/adaptiveTokenCalculator.js.map +1 -0
  344. package/dist/src/context/utils/adaptiveTokenCalculator.test.d.ts +6 -0
  345. package/dist/src/context/utils/adaptiveTokenCalculator.test.js +129 -0
  346. package/dist/src/context/utils/adaptiveTokenCalculator.test.js.map +1 -0
  347. package/dist/src/context/utils/contextTokenCalculator.d.ts +63 -2
  348. package/dist/src/context/utils/contextTokenCalculator.js +80 -5
  349. package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
  350. package/dist/src/context/utils/contextTokenCalculator.test.d.ts +6 -0
  351. package/dist/src/context/utils/contextTokenCalculator.test.js +54 -0
  352. package/dist/src/context/utils/contextTokenCalculator.test.js.map +1 -0
  353. package/dist/src/context/utils/formatNodesForLlm.d.ts +21 -0
  354. package/dist/src/context/utils/formatNodesForLlm.js +69 -0
  355. package/dist/src/context/utils/formatNodesForLlm.js.map +1 -0
  356. package/dist/src/context/utils/formatNodesForLlm.test.d.ts +6 -0
  357. package/dist/src/context/utils/formatNodesForLlm.test.js +110 -0
  358. package/dist/src/context/utils/formatNodesForLlm.test.js.map +1 -0
  359. package/dist/src/context/utils/invariantChecker.d.ts +11 -0
  360. package/dist/src/context/utils/invariantChecker.js +36 -0
  361. package/dist/src/context/utils/invariantChecker.js.map +1 -0
  362. package/dist/src/context/utils/snapshotGenerator.d.ts +43 -1
  363. package/dist/src/context/utils/snapshotGenerator.js +332 -33
  364. package/dist/src/context/utils/snapshotGenerator.js.map +1 -1
  365. package/dist/src/context/utils/snapshotGenerator.test.d.ts +6 -0
  366. package/dist/src/context/utils/snapshotGenerator.test.js +362 -0
  367. package/dist/src/context/utils/snapshotGenerator.test.js.map +1 -0
  368. package/dist/src/context/utils/tokenCalibration.d.ts +9 -0
  369. package/dist/src/context/utils/tokenCalibration.js +30 -0
  370. package/dist/src/context/utils/tokenCalibration.js.map +1 -0
  371. package/dist/src/core/agentChatHistory.d.ts +29 -14
  372. package/dist/src/core/agentChatHistory.js +27 -27
  373. package/dist/src/core/agentChatHistory.js.map +1 -1
  374. package/dist/src/core/baseLlmClient.d.ts +8 -0
  375. package/dist/src/core/baseLlmClient.js +23 -3
  376. package/dist/src/core/baseLlmClient.js.map +1 -1
  377. package/dist/src/core/baseLlmClient.test.js +27 -23
  378. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  379. package/dist/src/core/client.d.ts +7 -5
  380. package/dist/src/core/client.js +65 -40
  381. package/dist/src/core/client.js.map +1 -1
  382. package/dist/src/core/client.test.js +35 -131
  383. package/dist/src/core/client.test.js.map +1 -1
  384. package/dist/src/core/contentGenerator.js +46 -21
  385. package/dist/src/core/contentGenerator.js.map +1 -1
  386. package/dist/src/core/contentGenerator.test.js +191 -13
  387. package/dist/src/core/contentGenerator.test.js.map +1 -1
  388. package/dist/src/core/fakeContentGenerator.d.ts +15 -3
  389. package/dist/src/core/fakeContentGenerator.js +29 -9
  390. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  391. package/dist/src/core/geminiChat.d.ts +18 -7
  392. package/dist/src/core/geminiChat.js +312 -54
  393. package/dist/src/core/geminiChat.js.map +1 -1
  394. package/dist/src/core/geminiChat.test.js +448 -54
  395. package/dist/src/core/geminiChat.test.js.map +1 -1
  396. package/dist/src/core/geminiChat_network_retry.test.js +39 -0
  397. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  398. package/dist/src/core/localLiteRtLmClient.js +6 -2
  399. package/dist/src/core/localLiteRtLmClient.js.map +1 -1
  400. package/dist/src/core/prompts.test.js +12 -7
  401. package/dist/src/core/prompts.test.js.map +1 -1
  402. package/dist/src/core/turn.d.ts +7 -2
  403. package/dist/src/core/turn.js +61 -4
  404. package/dist/src/core/turn.js.map +1 -1
  405. package/dist/src/core/turn.test.js +19 -10
  406. package/dist/src/core/turn.test.js.map +1 -1
  407. package/dist/src/fallback/handler.js +16 -6
  408. package/dist/src/fallback/handler.js.map +1 -1
  409. package/dist/src/fallback/handler.test.js +8 -2
  410. package/dist/src/fallback/handler.test.js.map +1 -1
  411. package/dist/src/generated/git-commit.d.ts +2 -2
  412. package/dist/src/generated/git-commit.js +2 -2
  413. package/dist/src/hooks/hookEventHandler.js +3 -2
  414. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  415. package/dist/src/hooks/hookEventHandler.test.js +80 -0
  416. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  417. package/dist/src/hooks/hookRunner.test.js +3 -3
  418. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  419. package/dist/src/hooks/hookTranslator.js +95 -5
  420. package/dist/src/hooks/hookTranslator.js.map +1 -1
  421. package/dist/src/hooks/hookTranslator.test.js +171 -0
  422. package/dist/src/hooks/hookTranslator.test.js.map +1 -1
  423. package/dist/src/ide/ide-client.js +5 -3
  424. package/dist/src/ide/ide-client.js.map +1 -1
  425. package/dist/src/ide/ide-connection-utils.js +12 -10
  426. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  427. package/dist/src/ide/ide-connection-utils.test.js +25 -2
  428. package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
  429. package/dist/src/ide/types.d.ts +16 -16
  430. package/dist/src/index.d.ts +5 -2
  431. package/dist/src/index.js +5 -3
  432. package/dist/src/index.js.map +1 -1
  433. package/dist/src/mcp/oauth-provider.d.ts +8 -0
  434. package/dist/src/mcp/oauth-provider.js +41 -0
  435. package/dist/src/mcp/oauth-provider.js.map +1 -1
  436. package/dist/src/mcp/oauth-token-storage.js +7 -1
  437. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  438. package/dist/src/mcp/oauth-token-storage.test.js +55 -0
  439. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  440. package/dist/src/mcp/stored-token-provider.d.ts +27 -0
  441. package/dist/src/mcp/stored-token-provider.js +76 -0
  442. package/dist/src/mcp/stored-token-provider.js.map +1 -0
  443. package/dist/src/mcp/token-storage/keychain-token-storage.js +2 -2
  444. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  445. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +14 -1
  446. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -1
  447. package/dist/src/output/json-formatter.d.ts +1 -1
  448. package/dist/src/output/json-formatter.js +4 -1
  449. package/dist/src/output/json-formatter.js.map +1 -1
  450. package/dist/src/output/json-formatter.test.js +7 -0
  451. package/dist/src/output/json-formatter.test.js.map +1 -1
  452. package/dist/src/output/types.d.ts +1 -0
  453. package/dist/src/output/types.js.map +1 -1
  454. package/dist/src/policy/config.js +25 -0
  455. package/dist/src/policy/config.js.map +1 -1
  456. package/dist/src/policy/config.test.js +80 -0
  457. package/dist/src/policy/config.test.js.map +1 -1
  458. package/dist/src/policy/core-tools-mapping.test.js +9 -1
  459. package/dist/src/policy/core-tools-mapping.test.js.map +1 -1
  460. package/dist/src/policy/policies/plan.toml +1 -1
  461. package/dist/src/policy/policies/write.toml +0 -7
  462. package/dist/src/policy/policy-engine.test.js +0 -8
  463. package/dist/src/policy/policy-engine.test.js.map +1 -1
  464. package/dist/src/policy/sandboxPolicyManager.d.ts +20 -20
  465. package/dist/src/policy/stable-stringify.js +10 -6
  466. package/dist/src/policy/stable-stringify.js.map +1 -1
  467. package/dist/src/policy/stable-stringify.test.js +157 -0
  468. package/dist/src/policy/stable-stringify.test.js.map +1 -0
  469. package/dist/src/policy/types.d.ts +1 -0
  470. package/dist/src/policy/types.js.map +1 -1
  471. package/dist/src/prompts/promptProvider.js +8 -9
  472. package/dist/src/prompts/promptProvider.js.map +1 -1
  473. package/dist/src/prompts/promptProvider.test.js +3 -1
  474. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  475. package/dist/src/prompts/snippets-memory.test.d.ts +6 -0
  476. package/dist/src/prompts/{snippets-memory-v2.test.js → snippets-memory.test.js} +5 -23
  477. package/dist/src/prompts/snippets-memory.test.js.map +1 -0
  478. package/dist/src/prompts/snippets.d.ts +6 -11
  479. package/dist/src/prompts/snippets.js +28 -30
  480. package/dist/src/prompts/snippets.js.map +1 -1
  481. package/dist/src/prompts/snippets.legacy.d.ts +0 -1
  482. package/dist/src/prompts/snippets.legacy.js +8 -15
  483. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  484. package/dist/src/routing/strategies/approvalModeStrategy.js +5 -3
  485. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  486. package/dist/src/routing/strategies/approvalModeStrategy.test.js +9 -0
  487. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  488. package/dist/src/routing/strategies/classifierStrategy.js +18 -4
  489. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  490. package/dist/src/routing/strategies/classifierStrategy.test.js +77 -1
  491. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  492. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  493. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  494. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  495. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  496. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +7 -1
  497. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  498. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +15 -1
  499. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  500. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +1 -0
  501. package/dist/src/routing/strategies/numericalClassifierStrategy.js +32 -5
  502. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  503. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +247 -25
  504. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  505. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  506. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  507. package/dist/src/sandbox/utils/commandSafety.js +22 -2
  508. package/dist/src/sandbox/utils/commandSafety.js.map +1 -1
  509. package/dist/src/sandbox/utils/commandSafety.test.d.ts +6 -0
  510. package/dist/src/sandbox/utils/commandSafety.test.js +85 -0
  511. package/dist/src/sandbox/utils/commandSafety.test.js.map +1 -0
  512. package/dist/src/scheduler/confirmation.test.js +29 -0
  513. package/dist/src/scheduler/confirmation.test.js.map +1 -1
  514. package/dist/src/scheduler/scheduler.js +15 -0
  515. package/dist/src/scheduler/scheduler.js.map +1 -1
  516. package/dist/src/scheduler/scheduler.test.js +1 -1
  517. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  518. package/dist/src/scheduler/scheduler_parallel.test.js +37 -0
  519. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
  520. package/dist/src/scheduler/state-manager.js +5 -1
  521. package/dist/src/scheduler/state-manager.js.map +1 -1
  522. package/dist/src/scheduler/tool-executor.js +7 -4
  523. package/dist/src/scheduler/tool-executor.js.map +1 -1
  524. package/dist/src/scheduler/types.d.ts +5 -1
  525. package/dist/src/scheduler/types.js.map +1 -1
  526. package/dist/src/services/chatRecordingService.d.ts +14 -7
  527. package/dist/src/services/chatRecordingService.js +157 -133
  528. package/dist/src/services/chatRecordingService.js.map +1 -1
  529. package/dist/src/services/chatRecordingService.test.js +189 -52
  530. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  531. package/dist/src/services/fileDiscoveryService.js +2 -1
  532. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  533. package/dist/src/services/fileDiscoveryService.test.js +36 -0
  534. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  535. package/dist/src/services/gitService.js +43 -4
  536. package/dist/src/services/gitService.js.map +1 -1
  537. package/dist/src/services/gitService.test.js +105 -1
  538. package/dist/src/services/gitService.test.js.map +1 -1
  539. package/dist/src/services/keychainService.js +14 -5
  540. package/dist/src/services/keychainService.js.map +1 -1
  541. package/dist/src/services/memoryPatchUtils.d.ts +93 -0
  542. package/dist/src/services/memoryPatchUtils.js +310 -2
  543. package/dist/src/services/memoryPatchUtils.js.map +1 -1
  544. package/dist/src/services/memoryService.d.ts +2 -0
  545. package/dist/src/services/memoryService.js +214 -9
  546. package/dist/src/services/memoryService.js.map +1 -1
  547. package/dist/src/services/memoryService.test.js +133 -0
  548. package/dist/src/services/memoryService.test.js.map +1 -1
  549. package/dist/src/services/modelConfigService.d.ts +3 -0
  550. package/dist/src/services/modelConfigService.js +22 -13
  551. package/dist/src/services/modelConfigService.js.map +1 -1
  552. package/dist/src/services/modelConfigService.test.js +73 -0
  553. package/dist/src/services/modelConfigService.test.js.map +1 -1
  554. package/dist/src/services/shellExecutionService.js +88 -41
  555. package/dist/src/services/shellExecutionService.js.map +1 -1
  556. package/dist/src/services/shellExecutionService.test.js +22 -9
  557. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  558. package/dist/src/services/shellExecutionService.windows.integration.test.d.ts +6 -0
  559. package/dist/src/services/shellExecutionService.windows.integration.test.js +63 -0
  560. package/dist/src/services/shellExecutionService.windows.integration.test.js.map +1 -0
  561. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +85 -7
  562. package/dist/src/services/test-data/resolved-aliases.golden.json +85 -7
  563. package/dist/src/services/trackerTypes.d.ts +4 -4
  564. package/dist/src/skills/skillManager.d.ts +4 -0
  565. package/dist/src/skills/skillManager.js +6 -0
  566. package/dist/src/skills/skillManager.js.map +1 -1
  567. package/dist/src/skills/skillManager.test.js +10 -0
  568. package/dist/src/skills/skillManager.test.js.map +1 -1
  569. package/dist/src/telemetry/file-exporters.d.ts +4 -1
  570. package/dist/src/telemetry/file-exporters.js +21 -3
  571. package/dist/src/telemetry/file-exporters.js.map +1 -1
  572. package/dist/src/telemetry/file-exporters.test.js +32 -2
  573. package/dist/src/telemetry/file-exporters.test.js.map +1 -1
  574. package/dist/src/telemetry/gcp-exporters.d.ts +3 -0
  575. package/dist/src/telemetry/gcp-exporters.js +72 -5
  576. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  577. package/dist/src/telemetry/gcp-exporters.test.js +52 -0
  578. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
  579. package/dist/src/telemetry/heap-snapshot.d.ts +12 -0
  580. package/dist/src/telemetry/heap-snapshot.js +35 -0
  581. package/dist/src/telemetry/heap-snapshot.js.map +1 -0
  582. package/dist/src/telemetry/heap-snapshot.test.d.ts +6 -0
  583. package/dist/src/telemetry/heap-snapshot.test.js +38 -0
  584. package/dist/src/telemetry/heap-snapshot.test.js.map +1 -0
  585. package/dist/src/telemetry/index.d.ts +1 -0
  586. package/dist/src/telemetry/index.js +1 -0
  587. package/dist/src/telemetry/index.js.map +1 -1
  588. package/dist/src/telemetry/loggers.test.js +1 -0
  589. package/dist/src/telemetry/loggers.test.js.map +1 -1
  590. package/dist/src/telemetry/memory-monitor.d.ts +5 -0
  591. package/dist/src/telemetry/memory-monitor.js +8 -0
  592. package/dist/src/telemetry/memory-monitor.js.map +1 -1
  593. package/dist/src/telemetry/metrics.js +13 -2
  594. package/dist/src/telemetry/metrics.js.map +1 -1
  595. package/dist/src/telemetry/metrics.test.js +61 -1
  596. package/dist/src/telemetry/metrics.test.js.map +1 -1
  597. package/dist/src/test-utils/config.js +10 -1
  598. package/dist/src/test-utils/config.js.map +1 -1
  599. package/dist/src/tools/ask-user.js +25 -1
  600. package/dist/src/tools/ask-user.js.map +1 -1
  601. package/dist/src/tools/ask-user.test.js +46 -1
  602. package/dist/src/tools/ask-user.test.js.map +1 -1
  603. package/dist/src/tools/definitions/base-declarations.d.ts +0 -3
  604. package/dist/src/tools/definitions/base-declarations.js +0 -4
  605. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  606. package/dist/src/tools/definitions/coreTools.d.ts +1 -2
  607. package/dist/src/tools/definitions/coreTools.js +2 -8
  608. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  609. package/dist/src/tools/definitions/coreToolsModelSnapshots.test.js +1 -2
  610. package/dist/src/tools/definitions/coreToolsModelSnapshots.test.js.map +1 -1
  611. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +7 -31
  612. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  613. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +9 -26
  614. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  615. package/dist/src/tools/definitions/types.d.ts +0 -1
  616. package/dist/src/tools/edit.js +27 -5
  617. package/dist/src/tools/edit.js.map +1 -1
  618. package/dist/src/tools/edit.test.js +37 -0
  619. package/dist/src/tools/edit.test.js.map +1 -1
  620. package/dist/src/tools/grep.js +14 -2
  621. package/dist/src/tools/grep.js.map +1 -1
  622. package/dist/src/tools/grep.test.js +17 -0
  623. package/dist/src/tools/grep.test.js.map +1 -1
  624. package/dist/src/tools/jit-context.d.ts +1 -1
  625. package/dist/src/tools/jit-context.js +1 -4
  626. package/dist/src/tools/jit-context.js.map +1 -1
  627. package/dist/src/tools/jit-context.test.js +1 -13
  628. package/dist/src/tools/jit-context.test.js.map +1 -1
  629. package/dist/src/tools/ls.js +5 -0
  630. package/dist/src/tools/ls.js.map +1 -1
  631. package/dist/src/tools/mcp-client-manager.js +2 -1
  632. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  633. package/dist/src/tools/mcp-client-manager.test.js +29 -0
  634. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  635. package/dist/src/tools/mcp-client.js +89 -50
  636. package/dist/src/tools/mcp-client.js.map +1 -1
  637. package/dist/src/tools/mcp-client.test.js +353 -59
  638. package/dist/src/tools/mcp-client.test.js.map +1 -1
  639. package/dist/src/tools/{xcode-mcp-fix-transport.d.ts → mcp-compliance-transport.d.ts} +6 -6
  640. package/dist/src/tools/{xcode-mcp-fix-transport.js → mcp-compliance-transport.js} +6 -6
  641. package/dist/src/tools/mcp-compliance-transport.js.map +1 -0
  642. package/dist/src/tools/mcp-compliance-transport.test.d.ts +6 -0
  643. package/dist/src/tools/mcp-compliance-transport.test.js +162 -0
  644. package/dist/src/tools/mcp-compliance-transport.test.js.map +1 -0
  645. package/dist/src/tools/memoryTool.d.ts +9 -31
  646. package/dist/src/tools/memoryTool.js +47 -262
  647. package/dist/src/tools/memoryTool.js.map +1 -1
  648. package/dist/src/tools/memoryTool.test.js +41 -312
  649. package/dist/src/tools/memoryTool.test.js.map +1 -1
  650. package/dist/src/tools/read-file.js +11 -6
  651. package/dist/src/tools/read-file.js.map +1 -1
  652. package/dist/src/tools/read-file.test.js +20 -8
  653. package/dist/src/tools/read-file.test.js.map +1 -1
  654. package/dist/src/tools/read-many-files.js +2 -2
  655. package/dist/src/tools/read-many-files.js.map +1 -1
  656. package/dist/src/tools/ripGrep.d.ts +3 -7
  657. package/dist/src/tools/ripGrep.js +57 -35
  658. package/dist/src/tools/ripGrep.js.map +1 -1
  659. package/dist/src/tools/ripGrep.test.js +197 -276
  660. package/dist/src/tools/ripGrep.test.js.map +1 -1
  661. package/dist/src/tools/shell.d.ts +5 -3
  662. package/dist/src/tools/shell.js +130 -36
  663. package/dist/src/tools/shell.js.map +1 -1
  664. package/dist/src/tools/shell.test.js +186 -14
  665. package/dist/src/tools/shell.test.js.map +1 -1
  666. package/dist/src/tools/shell_proactive.test.js +1 -0
  667. package/dist/src/tools/shell_proactive.test.js.map +1 -1
  668. package/dist/src/tools/tool-names.d.ts +3 -3
  669. package/dist/src/tools/tool-names.js +4 -5
  670. package/dist/src/tools/tool-names.js.map +1 -1
  671. package/dist/src/tools/tool-registry.js +1 -1
  672. package/dist/src/tools/tool-registry.js.map +1 -1
  673. package/dist/src/tools/tools.d.ts +6 -0
  674. package/dist/src/tools/tools.js.map +1 -1
  675. package/dist/src/tools/topicTool.js +5 -0
  676. package/dist/src/tools/topicTool.js.map +1 -1
  677. package/dist/src/tools/write-file.js +13 -0
  678. package/dist/src/tools/write-file.js.map +1 -1
  679. package/dist/src/tools/write-file.test.js +8 -0
  680. package/dist/src/tools/write-file.test.js.map +1 -1
  681. package/dist/src/utils/atCommandUtils.d.ts +35 -0
  682. package/dist/src/utils/atCommandUtils.js +163 -0
  683. package/dist/src/utils/atCommandUtils.js.map +1 -0
  684. package/dist/src/utils/atCommandUtils.test.d.ts +6 -0
  685. package/dist/src/utils/atCommandUtils.test.js +292 -0
  686. package/dist/src/utils/atCommandUtils.test.js.map +1 -0
  687. package/dist/src/utils/channel.d.ts +8 -0
  688. package/dist/src/utils/channel.js +21 -10
  689. package/dist/src/utils/channel.js.map +1 -1
  690. package/dist/src/utils/cryptoUtils.d.ts +11 -0
  691. package/dist/src/utils/cryptoUtils.js +19 -0
  692. package/dist/src/utils/cryptoUtils.js.map +1 -0
  693. package/dist/src/utils/cryptoUtils.test.d.ts +6 -0
  694. package/dist/src/utils/cryptoUtils.test.js +31 -0
  695. package/dist/src/utils/cryptoUtils.test.js.map +1 -0
  696. package/dist/src/utils/editor.d.ts +29 -3
  697. package/dist/src/utils/editor.js +94 -3
  698. package/dist/src/utils/editor.js.map +1 -1
  699. package/dist/src/utils/editor.test.js +176 -2
  700. package/dist/src/utils/editor.test.js.map +1 -1
  701. package/dist/src/utils/environmentContext.d.ts +2 -1
  702. package/dist/src/utils/environmentContext.js +15 -8
  703. package/dist/src/utils/environmentContext.js.map +1 -1
  704. package/dist/src/utils/environmentContext.test.js +4 -14
  705. package/dist/src/utils/environmentContext.test.js.map +1 -1
  706. package/dist/src/utils/errors.js +3 -8
  707. package/dist/src/utils/errors.js.map +1 -1
  708. package/dist/src/utils/events.d.ts +26 -1
  709. package/dist/src/utils/events.js +21 -2
  710. package/dist/src/utils/events.js.map +1 -1
  711. package/dist/src/utils/events.test.js +39 -0
  712. package/dist/src/utils/events.test.js.map +1 -1
  713. package/dist/src/utils/extensionLoader.js +2 -2
  714. package/dist/src/utils/extensionLoader.js.map +1 -1
  715. package/dist/src/utils/extensionLoader.test.js +22 -15
  716. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  717. package/dist/src/utils/fetch.d.ts +3 -3
  718. package/dist/src/utils/fetch.js +44 -20
  719. package/dist/src/utils/fetch.js.map +1 -1
  720. package/dist/src/utils/fetch.test.js +93 -17
  721. package/dist/src/utils/fetch.test.js.map +1 -1
  722. package/dist/src/utils/fileUtils.js +4 -1
  723. package/dist/src/utils/fileUtils.js.map +1 -1
  724. package/dist/src/utils/filesearch/fileSearch.js +20 -9
  725. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  726. package/dist/src/utils/filesearch/ignore.js +4 -1
  727. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  728. package/dist/src/utils/generateContentResponseUtilities.d.ts +1 -0
  729. package/dist/src/utils/generateContentResponseUtilities.js +37 -7
  730. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
  731. package/dist/src/utils/generateContentResponseUtilities.test.js +33 -0
  732. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
  733. package/dist/src/utils/gitUtils.d.ts +5 -0
  734. package/dist/src/utils/gitUtils.js +11 -0
  735. package/dist/src/utils/gitUtils.js.map +1 -1
  736. package/dist/src/utils/historyHardening.d.ts +37 -0
  737. package/dist/src/utils/historyHardening.js +332 -0
  738. package/dist/src/utils/historyHardening.js.map +1 -0
  739. package/dist/src/utils/historyHardening.test.d.ts +6 -0
  740. package/dist/src/utils/historyHardening.test.js +317 -0
  741. package/dist/src/utils/historyHardening.test.js.map +1 -0
  742. package/dist/src/utils/ignoreFileParser.js +1 -1
  743. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  744. package/dist/src/utils/ignorePatterns.js +2 -0
  745. package/dist/src/utils/ignorePatterns.js.map +1 -1
  746. package/dist/src/utils/ignorePatterns.test.js +1 -0
  747. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  748. package/dist/src/utils/memoryDiscovery.d.ts +0 -20
  749. package/dist/src/utils/memoryDiscovery.js +57 -220
  750. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  751. package/dist/src/utils/memoryDiscovery.test.js +112 -403
  752. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  753. package/dist/src/utils/modelUtils.d.ts +14 -0
  754. package/dist/src/utils/modelUtils.js +17 -0
  755. package/dist/src/utils/modelUtils.js.map +1 -0
  756. package/dist/src/utils/modelUtils.test.d.ts +6 -0
  757. package/dist/src/utils/modelUtils.test.js +23 -0
  758. package/dist/src/utils/modelUtils.test.js.map +1 -0
  759. package/dist/src/utils/partUtils.d.ts +26 -1
  760. package/dist/src/utils/partUtils.js +37 -0
  761. package/dist/src/utils/partUtils.js.map +1 -1
  762. package/dist/src/utils/path-validator.d.ts +17 -0
  763. package/dist/src/utils/path-validator.js +76 -0
  764. package/dist/src/utils/path-validator.js.map +1 -0
  765. package/dist/src/utils/path-validator.test.d.ts +6 -0
  766. package/dist/src/utils/path-validator.test.js +91 -0
  767. package/dist/src/utils/path-validator.test.js.map +1 -0
  768. package/dist/src/utils/pathReader.js +12 -0
  769. package/dist/src/utils/pathReader.js.map +1 -1
  770. package/dist/src/utils/pathReader.test.js +95 -0
  771. package/dist/src/utils/pathReader.test.js.map +1 -1
  772. package/dist/src/utils/paths.d.ts +19 -1
  773. package/dist/src/utils/paths.js +74 -9
  774. package/dist/src/utils/paths.js.map +1 -1
  775. package/dist/src/utils/paths.test.js +111 -1
  776. package/dist/src/utils/paths.test.js.map +1 -1
  777. package/dist/src/utils/quotaErrorDetection.js +23 -12
  778. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  779. package/dist/src/utils/ragLogger.d.ts +32 -0
  780. package/dist/src/utils/ragLogger.js +56 -0
  781. package/dist/src/utils/ragLogger.js.map +1 -0
  782. package/dist/src/utils/ragLogger.test.d.ts +6 -0
  783. package/dist/src/utils/ragLogger.test.js +97 -0
  784. package/dist/src/utils/ragLogger.test.js.map +1 -0
  785. package/dist/src/utils/retry.js +8 -3
  786. package/dist/src/utils/retry.js.map +1 -1
  787. package/dist/src/utils/retry.test.js +17 -0
  788. package/dist/src/utils/retry.test.js.map +1 -1
  789. package/dist/src/utils/safeJsonStringify.js +0 -2
  790. package/dist/src/utils/safeJsonStringify.js.map +1 -1
  791. package/dist/src/utils/sessionOperations.d.ts +26 -0
  792. package/dist/src/utils/sessionOperations.js +177 -8
  793. package/dist/src/utils/sessionOperations.js.map +1 -1
  794. package/dist/src/utils/sessionUtils.d.ts +11 -5
  795. package/dist/src/utils/sessionUtils.js +139 -68
  796. package/dist/src/utils/sessionUtils.js.map +1 -1
  797. package/dist/src/utils/sessionUtils.test.js +31 -5
  798. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  799. package/dist/src/utils/shell-utils.d.ts +9 -1
  800. package/dist/src/utils/shell-utils.js +51 -20
  801. package/dist/src/utils/shell-utils.js.map +1 -1
  802. package/dist/src/utils/shell-utils.test.js +87 -46
  803. package/dist/src/utils/shell-utils.test.js.map +1 -1
  804. package/dist/src/utils/textUtils.d.ts +12 -2
  805. package/dist/src/utils/textUtils.js +30 -3
  806. package/dist/src/utils/textUtils.js.map +1 -1
  807. package/dist/src/utils/textUtils.test.js +96 -1
  808. package/dist/src/utils/textUtils.test.js.map +1 -1
  809. package/dist/src/utils/tokenCalculation.d.ts +3 -2
  810. package/dist/src/utils/tokenCalculation.js +9 -5
  811. package/dist/src/utils/tokenCalculation.js.map +1 -1
  812. package/dist/src/utils/tokenCalculation.test.js +15 -0
  813. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  814. package/dist/tsconfig.tsbuildinfo +1 -1
  815. package/package.json +18 -18
  816. package/dist/src/context/historyObserver.d.ts +0 -28
  817. package/dist/src/context/historyObserver.js +0 -63
  818. package/dist/src/context/historyObserver.js.map +0 -1
  819. package/dist/src/policy/memory-manager-policy.test.js +0 -80
  820. package/dist/src/policy/memory-manager-policy.test.js.map +0 -1
  821. package/dist/src/policy/policies/memory-manager.toml +0 -20
  822. package/dist/src/prompts/snippets-memory-v2.test.js.map +0 -1
  823. package/dist/src/tools/xcode-mcp-fix-transport.js.map +0 -1
  824. package/dist/src/tools/xcode-mcp-fix-transport.test.d.ts +0 -1
  825. package/dist/src/tools/xcode-mcp-fix-transport.test.js +0 -98
  826. package/dist/src/tools/xcode-mcp-fix-transport.test.js.map +0 -1
  827. package/dist/src/utils/systemEncoding.d.ts +0 -40
  828. package/dist/src/utils/systemEncoding.js +0 -150
  829. package/dist/src/utils/systemEncoding.js.map +0 -1
  830. package/dist/src/utils/systemEncoding.test.js +0 -369
  831. package/dist/src/utils/systemEncoding.test.js.map +0 -1
  832. /package/dist/src/{policy/memory-manager-policy.test.d.ts → agents/local-session-invocation.test.d.ts} +0 -0
  833. /package/dist/src/{prompts/snippets-memory-v2.test.d.ts → agents/local-subagent-protocol.test.d.ts} +0 -0
  834. /package/dist/src/{utils/systemEncoding.test.d.ts → policy/stable-stringify.test.d.ts} +0 -0
@@ -5,7 +5,64 @@
5
5
  */
6
6
  import {} from '@google/genai';
7
7
  import {} from '../services/chatRecordingService.js';
8
+ export { partListUnionToString } from '../core/geminiRequest.js';
8
9
  import { partListUnionToString } from '../core/geminiRequest.js';
10
+ import {} from '../core/agentChatHistory.js';
11
+ import { deriveStableId } from './cryptoUtils.js';
12
+ /**
13
+ * Ensures that all function calls and responses in a chat history have stable IDs.
14
+ * If IDs are missing (e.g. legacy data or manually constructed tests), it synthesizes
15
+ * them and MUTATES the underlying Part objects.
16
+ *
17
+ * It uses a deterministic pairing heuristic for adjacent turns to link calls and responses.
18
+ */
19
+ export function ensureStableToolIds(history) {
20
+ for (let i = 0; i < history.length; i++) {
21
+ const turn = history[i];
22
+ const parts = turn.content.parts || [];
23
+ for (let partIdx = 0; partIdx < parts.length; partIdx++) {
24
+ const part = parts[partIdx];
25
+ if (part.functionCall && !part.functionCall.id) {
26
+ const name = part.functionCall.name;
27
+ // Search ahead for a matching response in the next turn (common pattern)
28
+ const nextTurn = history[i + 1];
29
+ let pairedId;
30
+ if (nextTurn?.content.role === 'user') {
31
+ const matchingResp = nextTurn.content.parts?.find((p) => p.functionResponse &&
32
+ p.functionResponse.name === name &&
33
+ !p.functionResponse.id);
34
+ if (matchingResp) {
35
+ pairedId = `synth_${name}_${deriveStableId([turn.id, i.toString(), partIdx.toString()])}`;
36
+ part.functionCall.id = pairedId;
37
+ matchingResp.functionResponse.id = pairedId;
38
+ }
39
+ }
40
+ if (!part.functionCall.id) {
41
+ // If no pairing found, generate a solo synthetic ID
42
+ part.functionCall.id = `synth_${name}_${deriveStableId([turn.id, i.toString(), partIdx.toString()])}`;
43
+ }
44
+ }
45
+ if (part.functionResponse && !part.functionResponse.id) {
46
+ // Orphaned response handling (search backward)
47
+ const name = part.functionResponse.name;
48
+ const prevTurn = history[i - 1];
49
+ if (prevTurn?.content.role === 'model') {
50
+ const matchingCall = prevTurn.content.parts?.find((p) => p.functionCall &&
51
+ p.functionCall.name === name &&
52
+ !p.functionCall.id);
53
+ if (matchingCall) {
54
+ const pairedId = `synth_${name}_${deriveStableId([prevTurn.id, (i - 1).toString(), partIdx.toString()])}`;
55
+ matchingCall.functionCall.id = pairedId;
56
+ part.functionResponse.id = pairedId;
57
+ }
58
+ }
59
+ if (!part.functionResponse.id) {
60
+ part.functionResponse.id = `synth_orph_${name}_${deriveStableId([turn.id, i.toString(), partIdx.toString()])}`;
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
9
66
  /**
10
67
  * Converts a PartListUnion into a normalized array of Part objects.
11
68
  * This handles converting raw strings into { text: string } parts.
@@ -30,89 +87,103 @@ export function convertSessionToClientHistory(messages) {
30
87
  }
31
88
  if (msg.type === 'user') {
32
89
  const contentString = partListUnionToString(msg.content);
33
- if (contentString.trim().startsWith('/') ||
34
- contentString.trim().startsWith('?')) {
90
+ const trimmedContent = contentString.trim();
91
+ if (trimmedContent.startsWith('/') ||
92
+ trimmedContent.startsWith('?') ||
93
+ trimmedContent.startsWith('<session_context>') ||
94
+ trimmedContent.startsWith('<hook_context>')) {
35
95
  continue;
36
96
  }
37
97
  clientHistory.push({
38
- role: 'user',
39
- parts: ensurePartArray(msg.content),
98
+ id: msg.id,
99
+ content: {
100
+ role: 'user',
101
+ parts: ensurePartArray(msg.content),
102
+ },
40
103
  });
41
104
  }
42
105
  else if (msg.type === 'gemini') {
43
106
  const modelParts = [];
44
- // Add thoughts if present
45
- if (msg.thoughts && msg.thoughts.length > 0) {
46
- for (const thought of msg.thoughts) {
47
- const thoughtText = thought.subject
48
- ? `**${thought.subject}** ${thought.description}`
49
- : thought.description;
50
- modelParts.push({
51
- text: thoughtText,
52
- thought: true,
53
- });
54
- }
107
+ const contentParts = msg.content ? ensurePartArray(msg.content) : [];
108
+ const hasCallsInContent = contentParts.some((p) => !!p.functionCall);
109
+ const hasThoughtsInContent = contentParts.some((p) => p.thought);
110
+ if (hasCallsInContent || hasThoughtsInContent) {
111
+ // Modern session: content is the source of truth for all parts
112
+ modelParts.push(...contentParts);
55
113
  }
56
- const hasToolCalls = msg.toolCalls && msg.toolCalls.length > 0;
57
- if (hasToolCalls) {
58
- // Preserve original parts to maintain multimodal integrity
59
- if (msg.content) {
60
- modelParts.push(...ensurePartArray(msg.content));
114
+ else {
115
+ // Legacy session: rebuild from components
116
+ // 1. Add thoughts from metadata if present
117
+ if (msg.thoughts && msg.thoughts.length > 0) {
118
+ for (const thought of msg.thoughts) {
119
+ const thoughtText = thought.subject
120
+ ? `**${thought.subject}** ${thought.description}`
121
+ : thought.description;
122
+ modelParts.push({
123
+ text: thoughtText,
124
+ thought: true,
125
+ });
126
+ }
61
127
  }
62
- for (const toolCall of msg.toolCalls) {
63
- modelParts.push({
64
- functionCall: {
65
- name: toolCall.name,
66
- args: toolCall.args,
67
- ...(toolCall.id && { id: toolCall.id }),
68
- },
69
- });
128
+ // 2. Add content (usually just text in legacy)
129
+ modelParts.push(...contentParts);
130
+ // 3. Add tool calls from metadata
131
+ if (msg.toolCalls && msg.toolCalls.length > 0) {
132
+ for (const toolCall of msg.toolCalls) {
133
+ modelParts.push({
134
+ functionCall: {
135
+ id: toolCall.id,
136
+ name: toolCall.name,
137
+ args: toolCall.args,
138
+ },
139
+ });
140
+ }
70
141
  }
142
+ }
143
+ if (modelParts.length > 0) {
71
144
  clientHistory.push({
72
- role: 'model',
73
- parts: modelParts,
145
+ id: msg.id,
146
+ content: {
147
+ role: 'model',
148
+ parts: modelParts,
149
+ },
74
150
  });
75
- const functionResponseParts = [];
76
- for (const toolCall of msg.toolCalls) {
77
- if (toolCall.result) {
78
- let responseData;
79
- if (typeof toolCall.result === 'string') {
80
- responseData = {
81
- functionResponse: {
82
- id: toolCall.id,
83
- name: toolCall.name,
84
- response: {
85
- output: toolCall.result,
151
+ // 4. Generate tool response turns
152
+ if (msg.toolCalls && msg.toolCalls.length > 0) {
153
+ const functionResponseParts = [];
154
+ for (const toolCall of msg.toolCalls) {
155
+ if (toolCall.result) {
156
+ let responseData;
157
+ if (typeof toolCall.result === 'string') {
158
+ responseData = {
159
+ functionResponse: {
160
+ id: toolCall.id,
161
+ name: toolCall.name,
162
+ response: {
163
+ output: toolCall.result,
164
+ },
86
165
  },
87
- },
88
- };
89
- }
90
- else if (Array.isArray(toolCall.result)) {
91
- functionResponseParts.push(...ensurePartArray(toolCall.result));
92
- continue;
166
+ };
167
+ }
168
+ else if (Array.isArray(toolCall.result)) {
169
+ functionResponseParts.push(...ensurePartArray(toolCall.result));
170
+ continue;
171
+ }
172
+ else {
173
+ responseData = toolCall.result;
174
+ }
175
+ functionResponseParts.push(responseData);
93
176
  }
94
- else {
95
- responseData = toolCall.result;
96
- }
97
- functionResponseParts.push(responseData);
98
177
  }
99
- }
100
- if (functionResponseParts.length > 0) {
101
- clientHistory.push({
102
- role: 'user',
103
- parts: functionResponseParts,
104
- });
105
- }
106
- }
107
- else {
108
- if (msg.content) {
109
- modelParts.push(...ensurePartArray(msg.content));
110
- }
111
- if (modelParts.length > 0) {
112
- clientHistory.push({
113
- role: 'model',
114
- parts: modelParts,
115
- });
178
+ if (functionResponseParts.length > 0) {
179
+ clientHistory.push({
180
+ id: `${msg.id}_response`,
181
+ content: {
182
+ role: 'user',
183
+ parts: functionResponseParts,
184
+ },
185
+ });
186
+ }
116
187
  }
117
188
  }
118
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sessionUtils.js","sourceRoot":"","sources":["../../../src/utils/sessionUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionUtils.js","sourceRoot":"","sources":["../../../src/utils/sessionUtils.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ describe('convertSessionToClientHistory', () => {
24
24
  },
25
25
  ];
26
26
  const history = convertSessionToClientHistory(messages);
27
- expect(history).toEqual([
27
+ expect(history.map((h) => h.content)).toEqual([
28
28
  { role: 'user', parts: [{ text: 'Hello' }] },
29
29
  { role: 'model', parts: [{ text: 'Hi there' }] },
30
30
  ]);
@@ -52,7 +52,7 @@ describe('convertSessionToClientHistory', () => {
52
52
  },
53
53
  ];
54
54
  const history = convertSessionToClientHistory(messages);
55
- expect(history).toEqual([
55
+ expect(history.map((h) => h.content)).toEqual([
56
56
  { role: 'user', parts: [{ text: 'Hello' }] },
57
57
  {
58
58
  role: 'model',
@@ -91,7 +91,33 @@ describe('convertSessionToClientHistory', () => {
91
91
  },
92
92
  ];
93
93
  const history = convertSessionToClientHistory(messages);
94
- expect(history).toEqual([
94
+ expect(history.map((h) => h.content)).toEqual([
95
+ { role: 'user', parts: [{ text: 'Actual query' }] },
96
+ ]);
97
+ });
98
+ it('should ignore <session_context> and <hook_context>', () => {
99
+ const messages = [
100
+ {
101
+ id: '1',
102
+ type: 'user',
103
+ timestamp: '2024-01-01T10:00:00Z',
104
+ content: '<session_context>\nOld context\n</session_context>',
105
+ },
106
+ {
107
+ id: '2',
108
+ type: 'user',
109
+ timestamp: '2024-01-01T10:01:00Z',
110
+ content: '<hook_context>\nOld hook context\n</hook_context>',
111
+ },
112
+ {
113
+ id: '3',
114
+ type: 'user',
115
+ timestamp: '2024-01-01T10:02:00Z',
116
+ content: 'Actual query',
117
+ },
118
+ ];
119
+ const history = convertSessionToClientHistory(messages);
120
+ expect(history.map((h) => h.content)).toEqual([
95
121
  { role: 'user', parts: [{ text: 'Actual query' }] },
96
122
  ]);
97
123
  });
@@ -121,7 +147,7 @@ describe('convertSessionToClientHistory', () => {
121
147
  },
122
148
  ];
123
149
  const history = convertSessionToClientHistory(messages);
124
- expect(history).toEqual([
150
+ expect(history.map((h) => h.content)).toEqual([
125
151
  { role: 'user', parts: [{ text: 'List files' }] },
126
152
  {
127
153
  role: 'model',
@@ -157,7 +183,7 @@ describe('convertSessionToClientHistory', () => {
157
183
  },
158
184
  ];
159
185
  const history = convertSessionToClientHistory(messages);
160
- expect(history).toEqual([
186
+ expect(history.map((h) => h.content)).toEqual([
161
187
  {
162
188
  role: 'user',
163
189
  parts: [
@@ -1 +1 @@
1
- {"version":3,"file":"sessionUtils.test.js","sourceRoot":"","sources":["../../../src/utils/sessionUtils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAA2B,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,QAAQ,GAAmC;YAC/C;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,UAAU;aACpB;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;YAC5C,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;SACjD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAmC;YAC/C;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE;oBACR;wBACE,OAAO,EAAE,UAAU;wBACnB,WAAW,EAAE,qBAAqB;wBAClC,SAAS,EAAE,sBAAsB;qBAClC;iBACF;aACF;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;YAC5C;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,EAAE,IAAI,EAAE,kCAAkC,EAAE,OAAO,EAAE,IAAI,EAAE;oBAC3D,EAAE,IAAI,EAAE,UAAU,EAAE;iBACrB;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,QAAQ,GAAmC;YAC/C;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,aAAa;aACvB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,QAAQ;aAClB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,cAAc;aACxB;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;SACpD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,QAAQ,GAAmC;YAC/C;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,YAAY;aACtB;YACD;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE;oBACT;wBACE,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;wBAClB,MAAM,EAAE,kBAAkB,CAAC,OAAO;wBAClC,SAAS,EAAE,sBAAsB;wBACjC,MAAM,EAAE,UAAU;qBACnB;iBACF;aACF;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE;YACjD;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,EAAE,IAAI,EAAE,eAAe,EAAE;oBACzB,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;iBACpE;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL;wBACE,gBAAgB,EAAE;4BAChB,EAAE,EAAE,SAAS;4BACb,IAAI,EAAE,IAAI;4BACV,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;yBACjC;qBACF;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,QAAQ,GAAmC;YAC/C;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,oBAAoB,EAAE;oBAC9B,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;iBAC9D;aACF;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL,EAAE,IAAI,EAAE,oBAAoB,EAAE;oBAC9B,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;iBAC9D;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sessionUtils.test.js","sourceRoot":"","sources":["../../../src/utils/sessionUtils.test.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export interface ShellConfiguration {
37
37
  /** An identifier for the shell type. */
38
38
  shell: ShellType;
39
39
  }
40
- export declare function resolveExecutable(exe: string): Promise<string | undefined>;
40
+ export declare function resolveExecutable(exe: string): string | undefined;
41
41
  export declare function initializeShellParsers(): Promise<void>;
42
42
  export interface ParsedCommandDetail {
43
43
  name: string;
@@ -67,6 +67,14 @@ export declare function parseCommandDetails(command: string): CommandParseResult
67
67
  * This ensures we can execute command strings predictably and securely across platforms
68
68
  * using the `spawn(executable, [...argsPrefix, commandString], { shell: false })` pattern.
69
69
  *
70
+ * On Windows, PowerShell 7 (pwsh.exe) is preferred over Windows PowerShell 5.1
71
+ * (powershell.exe) when available on PATH. Windows PowerShell 5.1 silently
72
+ * strips embedded double quotes from arguments to native executables — see
73
+ * issue #25859. PowerShell 7 uses standards-compliant argument passing and
74
+ * does not exhibit this regression. When pwsh.exe is not installed, we fall
75
+ * back to powershell.exe to preserve the existing behavior and the full
76
+ * cmdlet surface users depend on.
77
+ *
70
78
  * @returns The ShellConfiguration for the current environment.
71
79
  */
72
80
  export declare function getShellConfiguration(): ShellConfiguration;
@@ -46,28 +46,30 @@ import { loadWasmBinary } from './fileUtils.js';
46
46
  import { debugLogger } from './debugLogger.js';
47
47
  import { NoopSandboxManager } from '../services/sandboxManager.js';
48
48
  export const SHELL_TOOL_NAMES = ['run_shell_command', 'ShellTool'];
49
- export async function resolveExecutable(exe) {
49
+ function isExecutable(filePath) {
50
+ try {
51
+ fs.accessSync(filePath, fs.constants.X_OK);
52
+ return true;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ }
58
+ export function resolveExecutable(exe) {
50
59
  if (path.isAbsolute(exe)) {
51
- try {
52
- await fs.promises.access(exe, fs.constants.X_OK);
53
- return exe;
54
- }
55
- catch {
56
- return undefined;
57
- }
60
+ return isExecutable(exe) ? exe : undefined;
61
+ }
62
+ const pathEnv = process.env['PATH'];
63
+ if (!pathEnv) {
64
+ return undefined;
58
65
  }
59
- const paths = (process.env['PATH'] || '').split(path.delimiter);
60
66
  const extensions = os.platform() === 'win32' ? ['.exe', '.cmd', '.bat', ''] : [''];
61
- for (const p of paths) {
67
+ for (const dir of pathEnv.split(path.delimiter)) {
62
68
  for (const ext of extensions) {
63
- const fullPath = path.join(p, exe + ext);
64
- try {
65
- await fs.promises.access(fullPath, fs.constants.X_OK);
69
+ const fullPath = path.join(dir, exe + ext);
70
+ if (isExecutable(fullPath)) {
66
71
  return fullPath;
67
72
  }
68
- catch {
69
- continue;
70
- }
71
73
  }
72
74
  }
73
75
  return undefined;
@@ -503,10 +505,23 @@ export function parseCommandDetails(command) {
503
505
  * This ensures we can execute command strings predictably and securely across platforms
504
506
  * using the `spawn(executable, [...argsPrefix, commandString], { shell: false })` pattern.
505
507
  *
508
+ * On Windows, PowerShell 7 (pwsh.exe) is preferred over Windows PowerShell 5.1
509
+ * (powershell.exe) when available on PATH. Windows PowerShell 5.1 silently
510
+ * strips embedded double quotes from arguments to native executables — see
511
+ * issue #25859. PowerShell 7 uses standards-compliant argument passing and
512
+ * does not exhibit this regression. When pwsh.exe is not installed, we fall
513
+ * back to powershell.exe to preserve the existing behavior and the full
514
+ * cmdlet surface users depend on.
515
+ *
506
516
  * @returns The ShellConfiguration for the current environment.
507
517
  */
508
518
  export function getShellConfiguration() {
509
519
  if (isWindows()) {
520
+ // -NonInteractive prevents PSReadLine from intercepting console input
521
+ // events inside the ConPTY session, which otherwise causes interactive
522
+ // TUI tools (e.g. pnpm create vite, vim) to receive malformed key events
523
+ // and exit when arrow keys are pressed.
524
+ const powershellArgsPrefix = ['-NoProfile', '-NonInteractive', '-Command'];
510
525
  const comSpec = process.env['ComSpec'];
511
526
  if (comSpec) {
512
527
  const executable = comSpec.toLowerCase();
@@ -514,15 +529,23 @@ export function getShellConfiguration() {
514
529
  executable.endsWith('pwsh.exe')) {
515
530
  return {
516
531
  executable: comSpec,
517
- argsPrefix: ['-NoProfile', '-Command'],
532
+ argsPrefix: powershellArgsPrefix,
518
533
  shell: 'powershell',
519
534
  };
520
535
  }
521
536
  }
522
- // Default to PowerShell for all other Windows configurations.
537
+ const pwshPath = resolveExecutable('pwsh.exe');
538
+ if (pwshPath) {
539
+ return {
540
+ executable: pwshPath,
541
+ argsPrefix: ['-NoProfile', '-Command'],
542
+ shell: 'powershell',
543
+ };
544
+ }
545
+ // Fall back to Windows PowerShell 5.1 when pwsh.exe is not installed.
523
546
  return {
524
547
  executable: 'powershell.exe',
525
- argsPrefix: ['-NoProfile', '-Command'],
548
+ argsPrefix: powershellArgsPrefix,
526
549
  shell: 'powershell',
527
550
  };
528
551
  }
@@ -547,9 +570,17 @@ export function escapeShellArg(arg, shell) {
547
570
  }
548
571
  switch (shell) {
549
572
  case 'powershell':
550
- // For PowerShell, wrap in single quotes and escape internal single quotes by doubling them.
573
+ // For PowerShell, avoid quoting simple alphanumeric strings (like UUIDs).
574
+ if (/^[a-zA-Z0-9\-_.]+$/.test(arg)) {
575
+ return arg;
576
+ }
577
+ // Otherwise, wrap in single quotes and escape internal single quotes by doubling them.
551
578
  return `'${arg.replace(/'/g, "''")}'`;
552
579
  case 'cmd':
580
+ // Avoid quoting simple strings for cmd.exe as well.
581
+ if (/^[a-zA-Z0-9\-_.]+$/.test(arg)) {
582
+ return arg;
583
+ }
553
584
  // Simple Windows escaping for cmd.exe: wrap in double quotes and escape inner double quotes.
554
585
  return `"${arg.replace(/"/g, '""')}"`;
555
586
  case 'bash':
@@ -1 +1 @@
1
- {"version":3,"file":"shell-utils.js","sourceRoot":"","sources":["../../../src/utils/shell-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAmB,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,KAAK,EACL,SAAS,GAEV,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,IAAc;IAEd,MAAM,sBAAsB,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,CACpC,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAiB;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,SAAS,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC7C,IAAI,IAAI,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IACnC,IAAI,SAAS,IAAI,KAAK;QAAE,OAAO,EAAE,CAAC,CAAC,qDAAqD;IACxF,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAwB,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAqBnE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW;IAEX,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,UAAU,GACd,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAElE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,IAAI,YAAY,GAAoB,IAAI,CAAC;AACzC,IAAI,wBAAwB,GAAyB,IAAI,CAAC;AAC1D,IAAI,6BAA6B,GAAiB,IAAI,CAAC;AAEvD,MAAM,8BAA+B,SAAQ,KAAK;IAChD,YAAY,KAAY;QACtB,KAAK,CAAC,qCAAqC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,0CAA0C,EAAE;QAC3D,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC;QACH,6BAA6B,GAAG,IAAI,CAAC;QACrC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,cAAc,CACZ,GAAG,EAAE;YACH,6DAA6D;YAC7D,6DAA6D;YAC7D,MAAM,CAAC,yCAAyC,CAAC,EACnD,kCAAkC,CACnC;YACD,cAAc,CACZ,GAAG,EAAE;YACH,6DAA6D;YAC7D,6DAA6D;YAC7D,MAAM,CAAC,+CAA+C,CAAC,EACzD,wCAAwC,CACzC;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACpD,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,GAAG,IAAI,CAAC;QACpB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,mBAAmB,GACvB,UAAU,YAAY,8BAA8B;YAClD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,IAAI,8BAA8B,CAAC,UAAU,CAAC,CAAC;QACrD,6BAA6B,GAAG,mBAAmB,CAAC;QACpD,MAAM,mBAAmB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,wBAAwB,GAAG,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5D,wBAAwB,GAAG,IAAI,CAAC;YAChC,mGAAmG;YACnG,qCAAqC;YACrC,WAAW,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,wBAAwB,CAAC;AACjC,CAAC;AAeD,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAC7D,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW;AAErD,uGAAuG;AACvG,kHAAkH;AAClH,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAC1C;;sBAEoB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC3C,EACC,SAAS,CACV,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAErB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,sBAAsB;IACtB,uBAAuB;IACvB,sBAAsB;IACtB,UAAU;CACX,CAAC,CAAC;AAEH,SAAS,YAAY;IACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,6BAA6B,EAAE,CAAC;YAClC,MAAM,6BAA6B,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAe,EACf,gBAAwB,oBAAoB;IAE5C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC;IAC1D,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACvC,gBAAgB,EAAE,GAAG,EAAE;gBACrB,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;oBACjC,QAAQ,GAAG,IAAI,CAAC;oBAChB,uEAAuE;oBACvE,OAAO,IAAuB,CAAC,CAAC,qDAAqD;gBACvF,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,KAAK,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;YAC1E,wEAAwE;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,2DAA2D;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU;IACrC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,qBAAqB,CAAC;QAC3B,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,2DAA2D;YAC3D,gDAAgD;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,OAAO,iBAAiB,CAAC;gBAC3B,CAAC;gBACD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,OAAO,iBAAiB,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,KAAK,kBAAkB;YACrB,OAAO,cAAc,CAAC;QACxB,KAAK,qBAAqB;YACxB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,sBAAsB;YACzB,OAAO,sBAAsB,CAAC;QAChC,KAAK,uBAAuB;YAC1B,OAAO,uBAAuB,CAAC;QACjC,KAAK,sBAAsB;YACzB,OAAO,sBAAsB,CAAC;QAChC,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAU,EACV,MAAc;IAEd,MAAM,KAAK,GAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAE7B,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAwB;gBAClC,IAAI;gBACJ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;gBAC/D,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC/B,IACE,KAAK;wBACL,KAAK,CAAC,IAAI,KAAK,MAAM;wBACrB,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,UAAU,EACzC,CAAC;wBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,kFAAkF;QAClF,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAU;IAC3C,MAAM,KAAK,GAAW,CAAC,IAAI,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE3C,IACE,YAAY,EAAE,IAAI,KAAK,GAAG;oBAC1B,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,EAC1C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAe;IAEf,IAAI,6BAA6B,EAAE,CAAC;QAClC,WAAW,CAAC,KAAK,CACf,8BAA8B,EAC9B,6BAA6B,CAC9B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,sBAAsB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAClC,kEAAkE;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9D,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ;QACtB,OAAO,CAAC,MAAM,KAAK,CAAC;QACpB,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,mCAAmC,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC/B,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD,OAAO,GAAG,IAAI,WAAW,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAClG,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,GAAG,CACb,kDAAkD,EAClD,OAAO,EACP,gBAAgB,EAChB,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;gBAAS,CAAC;YACT,KAAK,EAAE,MAAM,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAC5D,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,OAAe,EACf,UAAkB;IAElB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CACtB,UAAU,EACV;YACE,SAAS;YACT,YAAY;YACZ,iBAAiB;YACjB,iBAAiB;YACjB,wBAAwB;SACzB,EACD;YACE,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,CAAC,sBAAsB,CAAC,EAAE,OAAO;aAClC;YACD,QAAQ,EAAE,OAAO;SAClB,CACF,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,GAIC,IAAI,CAAC;QAChB,IAAI,CAAC;YACH,mEAAmE;YACnE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;aACpC,GAAG,CAAC,CAAC,aAAa,EAA8B,EAAE;YACjD,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,IAAI,GACR,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ;gBACpC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC3B,CAAC,CAAC,OAAO,CAAC;YAEd,OAAO;gBACL,IAAI;gBACJ,IAAI;gBACJ,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;oBACrC,CAAC,CAAC,aAAa,CAAC,IAAI;oBACpB,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,MAAM,EAAiC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;YAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe;IAEf,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAE9C,IAAI,aAAa,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,6BAA6B,CAC1C,OAAO,EACP,aAAa,CAAC,UAAU,CACzB,CAAC;QACF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC/B,2EAA2E;YAC3E,+FAA+F;YAC/F,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACvC,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACzC,IACE,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBACrC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC/B,CAAC;gBACD,OAAO;oBACL,UAAU,EAAE,OAAO;oBACnB,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;oBACtC,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,OAAO;YACL,UAAU,EAAE,gBAAgB;YAC5B,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;YACtC,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,KAAgB;IAC1D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY;YACf,4FAA4F;YAC5F,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QACxC,KAAK,KAAK;YACR,6FAA6F;YAC7F,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QACxC,KAAK,MAAM,CAAC;QACZ;YACE,0CAA0C;YAC1C,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjD,sEAAsE;IACtE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAE9C,IAAI,aAAa,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,6BAA6B,CAC1C,OAAO,EACP,aAAa,CAAC,UAAU,CACzB,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC/B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc;YACzB,CAAC,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,KAAK,MAAM,IAAI,YAAY,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,aAAa,EAAE,CAAC;QAElC,MAAM,KAAK,GAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAC7B,IACE,OAAO,CAAC,IAAI,KAAK,sBAAsB;gBACvC,OAAO,CAAC,IAAI,KAAK,eAAe;gBAChC,OAAO,CAAC,IAAI,KAAK,kBAAkB;gBACnC,OAAO,CAAC,IAAI,KAAK,qBAAqB,EACtC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,OAAO;SAClB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,OAAO;SAClB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC9C,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,OAAO,GACX,6JAA6J,CAAC;IAChK,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IACE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxD,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACxD,CAAC;YACD,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,OAAe,EACf,IAAc,EACd,OAAwE,EAC3B,EAAE;IAC/C,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,kBAAkB,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC;QACnD,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE;QAC9C,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG;KACjC,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAE3E,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE;gBAC3C,GAAG,OAAO;gBACV,GAAG,EAAE,QAAQ;aACd,CAAC,CAAC;YACH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,CACJ,IAAI,KAAK,CAAC,iCAAiC,IAAI,MAAM,MAAM,EAAE,CAAC,CAC/D,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,aAAa,CAClC,OAAe,EACf,IAAc,EACd,OAIC;IAED,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,kBAAkB,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC;QACnD,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE;QAC9C,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAE3E,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE;YAC3C,GAAG,OAAO;YACV,GAAG,EAAE,QAAQ;YACb,gEAAgE;YAChE,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAEjD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;gBACxC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAiB,IAAI,CAAC;QAC/B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,KAAK,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,sDAAsD;YACtD,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC,CAAC;QAEF,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC5B,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO;oBAAE,MAAM;gBACpC,MAAM,IAAI,CAAC;YACb,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEvD,+EAA+E;YAC/E,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBACH,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,CAAC;gBAAC,MAAM,CAAC;oBACP,0CAA0C;gBAC5C,CAAC;gBACD,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;YAED,wDAAwD;YACxD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,oFAAoF;gBACpF,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,SAAS,SAAS,CAAC,IAAmB;oBACpC,6EAA6E;oBAC7E,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,iBAAiB,EAAE,CAAC;wBAClD,OAAO,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBAED,MAAM,OAAO,GAAG,OAAO,EAAE,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5C,OAAO,EAAE,CAAC;oBACZ,CAAC;yBAAM,CAAC;wBACN,0DAA0D;wBAC1D,IAAI,KAAK;4BAAE,MAAM,CAAC,KAAK,CAAC,CAAC;6BACpB,CAAC;4BACJ,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;4BAC3D,MAAM,YAAY,GAChB,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC/D,MAAM,CACJ,IAAI,KAAK,CACP,4BAA4B,IAAI,KAAK,MAAM,GAAG,YAAY,EAAE,CAC7D,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC5B,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;wBACxB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAC5C,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/C,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IACE,CAAC,aAAa;YACd,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;YAC9B,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EACtB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,qBAAqB,GACzB,8GAA8G,CAAC;AAEjH,SAAS,4BAA4B,CAAC,OAAe;IACnD,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3C,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"shell-utils.js","sourceRoot":"","sources":["../../../src/utils/shell-utils.ts"],"names":[],"mappings":"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"}