@superblocksteam/vite-plugin-file-sync 2.0.160-next.0 → 2.0.161-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/dist/ai-service/agent/middleware.d.ts +1 -2
  2. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  3. package/dist/ai-service/agent/middleware.js +2 -3
  4. package/dist/ai-service/agent/middleware.js.map +1 -1
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  6. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +5 -4
  7. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  8. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  9. package/dist/ai-service/agent/tool-message-utils.js +16 -1
  10. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  11. package/dist/ai-service/agent/tool-result-metrics.d.ts +29 -0
  12. package/dist/ai-service/agent/tool-result-metrics.d.ts.map +1 -0
  13. package/dist/ai-service/agent/tool-result-metrics.js +162 -0
  14. package/dist/ai-service/agent/tool-result-metrics.js.map +1 -0
  15. package/dist/ai-service/agent/tools/apis/test-api.d.ts +50 -1
  16. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/apis/test-api.js +132 -10
  18. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  19. package/dist/ai-service/agent/tools/build-delete-file.d.ts +1 -2
  20. package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools/build-delete-file.js +2 -0
  22. package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
  23. package/dist/ai-service/agent/tools/build-edit-file.d.ts +1 -2
  24. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  25. package/dist/ai-service/agent/tools/build-edit-file.js +2 -0
  26. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  27. package/dist/ai-service/agent/tools/build-install-packages.d.ts +1 -0
  28. package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools/build-install-packages.js +123 -16
  30. package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
  31. package/dist/ai-service/agent/tools/build-lookup-npm-package.d.ts.map +1 -1
  32. package/dist/ai-service/agent/tools/build-lookup-npm-package.js +4 -16
  33. package/dist/ai-service/agent/tools/build-lookup-npm-package.js.map +1 -1
  34. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +11 -7
  35. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
  36. package/dist/ai-service/agent/tools/build-manage-checklist.js +18 -9
  37. package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
  38. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts +1 -2
  39. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/build-multi-edit-file.js +2 -0
  41. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  42. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/build-read-file.js +31 -18
  44. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
  45. package/dist/ai-service/agent/tools/build-rename-file.d.ts +1 -2
  46. package/dist/ai-service/agent/tools/build-rename-file.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools/build-rename-file.js +2 -0
  48. package/dist/ai-service/agent/tools/build-rename-file.js.map +1 -1
  49. package/dist/ai-service/agent/tools/build-write-file.d.ts +1 -2
  50. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  51. package/dist/ai-service/agent/tools/build-write-file.js +2 -0
  52. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  53. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts +3 -3
  54. package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts.map +1 -1
  55. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js +5 -7
  56. package/dist/ai-service/agent/tools/databases/dev-database-tasks.js.map +1 -1
  57. package/dist/ai-service/agent/tools/debug-cache.d.ts +16 -14
  58. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  59. package/dist/ai-service/agent/tools/debug-cache.js +200 -42
  60. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  61. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +13 -13
  62. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  63. package/dist/ai-service/agent/tools/integrations/execute-request.js +52 -20
  64. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
  65. package/dist/ai-service/agent/tools/integrations/sql-classification.d.ts +7 -1
  66. package/dist/ai-service/agent/tools/integrations/sql-classification.d.ts.map +1 -1
  67. package/dist/ai-service/agent/tools/integrations/sql-classification.js +229 -11
  68. package/dist/ai-service/agent/tools/integrations/sql-classification.js.map +1 -1
  69. package/dist/ai-service/agent/tools/page-edit-guidance.d.ts +2 -0
  70. package/dist/ai-service/agent/tools/page-edit-guidance.d.ts.map +1 -0
  71. package/dist/ai-service/agent/tools/page-edit-guidance.js +11 -0
  72. package/dist/ai-service/agent/tools/page-edit-guidance.js.map +1 -0
  73. package/dist/ai-service/agent/tools/report-security-findings.d.ts +5 -5
  74. package/dist/ai-service/agent/tools.d.ts +32 -0
  75. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  76. package/dist/ai-service/agent/tools.js +54 -33
  77. package/dist/ai-service/agent/tools.js.map +1 -1
  78. package/dist/ai-service/agent/tools2/registry.d.ts +1 -1
  79. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  80. package/dist/ai-service/agent/tools2/registry.js +21 -4
  81. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  82. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +2 -2
  83. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  84. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +20 -11
  85. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  86. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.d.ts +4 -0
  87. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.d.ts.map +1 -1
  88. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js +28 -8
  89. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js.map +1 -1
  90. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +2 -2
  91. package/dist/ai-service/app-interface/cancellable-exec.d.ts +34 -0
  92. package/dist/ai-service/app-interface/cancellable-exec.d.ts.map +1 -0
  93. package/dist/ai-service/app-interface/cancellable-exec.js +98 -0
  94. package/dist/ai-service/app-interface/cancellable-exec.js.map +1 -0
  95. package/dist/ai-service/app-interface/shell.d.ts +20 -3
  96. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  97. package/dist/ai-service/app-interface/shell.js +139 -65
  98. package/dist/ai-service/app-interface/shell.js.map +1 -1
  99. package/dist/ai-service/attachment-upload.d.ts.map +1 -1
  100. package/dist/ai-service/attachment-upload.js +4 -1
  101. package/dist/ai-service/attachment-upload.js.map +1 -1
  102. package/dist/ai-service/attachments/parse-data-url.d.ts +5 -0
  103. package/dist/ai-service/attachments/parse-data-url.d.ts.map +1 -0
  104. package/dist/ai-service/attachments/parse-data-url.js +14 -0
  105. package/dist/ai-service/attachments/parse-data-url.js.map +1 -0
  106. package/dist/ai-service/chat/chat-session-store.d.ts +0 -8
  107. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  108. package/dist/ai-service/chat/chat-session-store.js +34 -611
  109. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  110. package/dist/ai-service/chat/utils.d.ts +2 -6
  111. package/dist/ai-service/chat/utils.d.ts.map +1 -1
  112. package/dist/ai-service/chat/utils.js +2 -95
  113. package/dist/ai-service/chat/utils.js.map +1 -1
  114. package/dist/ai-service/index.d.ts +3 -2
  115. package/dist/ai-service/index.d.ts.map +1 -1
  116. package/dist/ai-service/index.js +138 -48
  117. package/dist/ai-service/index.js.map +1 -1
  118. package/dist/ai-service/integrations/mention-safe-tag-name.d.ts +12 -0
  119. package/dist/ai-service/integrations/mention-safe-tag-name.d.ts.map +1 -0
  120. package/dist/ai-service/integrations/mention-safe-tag-name.js +18 -0
  121. package/dist/ai-service/integrations/mention-safe-tag-name.js.map +1 -0
  122. package/dist/ai-service/integrations/store.d.ts +9 -0
  123. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  124. package/dist/ai-service/integrations/store.js +11 -1
  125. package/dist/ai-service/integrations/store.js.map +1 -1
  126. package/dist/ai-service/llm/client.d.ts.map +1 -1
  127. package/dist/ai-service/llm/client.js +67 -4
  128. package/dist/ai-service/llm/client.js.map +1 -1
  129. package/dist/ai-service/llm/context-v2/adapter.d.ts +1 -0
  130. package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
  131. package/dist/ai-service/llm/context-v2/adapter.js +3 -0
  132. package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
  133. package/dist/ai-service/llm/context-v2/compaction/client-side.d.ts +7 -0
  134. package/dist/ai-service/llm/context-v2/compaction/client-side.d.ts.map +1 -1
  135. package/dist/ai-service/llm/context-v2/compaction/client-side.js +28 -6
  136. package/dist/ai-service/llm/context-v2/compaction/client-side.js.map +1 -1
  137. package/dist/ai-service/llm/context-v2/compaction/compaction-strategy.d.ts +12 -0
  138. package/dist/ai-service/llm/context-v2/compaction/compaction-strategy.d.ts.map +1 -1
  139. package/dist/ai-service/llm/context-v2/compactor.d.ts +8 -0
  140. package/dist/ai-service/llm/context-v2/compactor.d.ts.map +1 -1
  141. package/dist/ai-service/llm/context-v2/compactor.js +15 -3
  142. package/dist/ai-service/llm/context-v2/compactor.js.map +1 -1
  143. package/dist/ai-service/llm/context-v2/config.d.ts.map +1 -1
  144. package/dist/ai-service/llm/context-v2/config.js +1 -0
  145. package/dist/ai-service/llm/context-v2/config.js.map +1 -1
  146. package/dist/ai-service/llm/context-v2/context-metrics.d.ts +44 -1
  147. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
  148. package/dist/ai-service/llm/context-v2/context-metrics.js +97 -12
  149. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
  150. package/dist/ai-service/llm/context-v2/context.d.ts +125 -0
  151. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  152. package/dist/ai-service/llm/context-v2/context.js +478 -14
  153. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  154. package/dist/ai-service/llm/context-v2/conversation-context.d.ts +12 -0
  155. package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
  156. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
  157. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +2 -1
  158. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
  159. package/dist/ai-service/llm/context-v2/phase2-session-summarizer.js +3 -3
  160. package/dist/ai-service/llm/context-v2/phase2-session-summarizer.js.map +1 -1
  161. package/dist/ai-service/llm/context-v2/token-tracker.d.ts +49 -1
  162. package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
  163. package/dist/ai-service/llm/context-v2/token-tracker.js +119 -0
  164. package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
  165. package/dist/ai-service/llm/context-v2/truncation-fallback.d.ts.map +1 -1
  166. package/dist/ai-service/llm/context-v2/truncation-fallback.js +2 -1
  167. package/dist/ai-service/llm/context-v2/truncation-fallback.js.map +1 -1
  168. package/dist/ai-service/llm/context-v2/types.d.ts +9 -0
  169. package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
  170. package/dist/ai-service/llm/context-v2/types.js.map +1 -1
  171. package/dist/ai-service/llm/context-v2/well-formed-text.d.ts +24 -0
  172. package/dist/ai-service/llm/context-v2/well-formed-text.d.ts.map +1 -0
  173. package/dist/ai-service/llm/context-v2/well-formed-text.js +73 -0
  174. package/dist/ai-service/llm/context-v2/well-formed-text.js.map +1 -0
  175. package/dist/ai-service/llm/error.d.ts +22 -1
  176. package/dist/ai-service/llm/error.d.ts.map +1 -1
  177. package/dist/ai-service/llm/error.js +159 -22
  178. package/dist/ai-service/llm/error.js.map +1 -1
  179. package/dist/ai-service/llm/stream/empty-tool-call-tracker.d.ts +4 -3
  180. package/dist/ai-service/llm/stream/empty-tool-call-tracker.d.ts.map +1 -1
  181. package/dist/ai-service/llm/stream/empty-tool-call-tracker.js +5 -4
  182. package/dist/ai-service/llm/stream/empty-tool-call-tracker.js.map +1 -1
  183. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
  184. package/dist/ai-service/llm/stream/idle-monitor.js +5 -0
  185. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
  186. package/dist/ai-service/llm/stream/observers/logging.d.ts +6 -0
  187. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  188. package/dist/ai-service/llm/stream/observers/logging.js +44 -3
  189. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  190. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  191. package/dist/ai-service/llm/stream/orchestrator.js +28 -4
  192. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  193. package/dist/ai-service/llm/stream/retry-engine.d.ts +1 -1
  194. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  195. package/dist/ai-service/llm/stream/retry-engine.js +9 -1
  196. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  197. package/dist/ai-service/llm/stream/session.d.ts +6 -0
  198. package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
  199. package/dist/ai-service/llm/stream/session.js +6 -0
  200. package/dist/ai-service/llm/stream/session.js.map +1 -1
  201. package/dist/ai-service/llm/stream/terminal-reason.d.ts.map +1 -1
  202. package/dist/ai-service/llm/stream/terminal-reason.js +11 -1
  203. package/dist/ai-service/llm/stream/terminal-reason.js.map +1 -1
  204. package/dist/ai-service/llm/stream/wait-state-tracker.d.ts +4 -3
  205. package/dist/ai-service/llm/stream/wait-state-tracker.d.ts.map +1 -1
  206. package/dist/ai-service/llm/stream/wait-state-tracker.js +12 -8
  207. package/dist/ai-service/llm/stream/wait-state-tracker.js.map +1 -1
  208. package/dist/ai-service/policy-agent-metrics.d.ts +2 -1
  209. package/dist/ai-service/policy-agent-metrics.d.ts.map +1 -1
  210. package/dist/ai-service/policy-agent-metrics.js +11 -2
  211. package/dist/ai-service/policy-agent-metrics.js.map +1 -1
  212. package/dist/ai-service/policy-gate-error.d.ts +3 -0
  213. package/dist/ai-service/policy-gate-error.d.ts.map +1 -0
  214. package/dist/ai-service/policy-gate-error.js +33 -0
  215. package/dist/ai-service/policy-gate-error.js.map +1 -0
  216. package/dist/ai-service/resolve-generation-state-for-ui.js +1 -1
  217. package/dist/ai-service/resolve-generation-state-for-ui.js.map +1 -1
  218. package/dist/ai-service/security/secret-scanner-service.d.ts +3 -6
  219. package/dist/ai-service/security/secret-scanner-service.d.ts.map +1 -1
  220. package/dist/ai-service/security/secret-scanner-service.js +229 -97
  221. package/dist/ai-service/security/secret-scanner-service.js.map +1 -1
  222. package/dist/ai-service/security/secret-scanner.d.ts +28 -5
  223. package/dist/ai-service/security/secret-scanner.d.ts.map +1 -1
  224. package/dist/ai-service/security/secret-scanner.js +197 -42
  225. package/dist/ai-service/security/secret-scanner.js.map +1 -1
  226. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  227. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  228. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +49 -0
  229. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  230. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
  231. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
  232. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +1 -0
  233. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js.map +1 -1
  234. package/dist/ai-service/state-machine/clark-fsm.d.ts +2 -0
  235. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  236. package/dist/ai-service/state-machine/clark-fsm.js +1 -1
  237. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  238. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts +1 -1
  239. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  240. package/dist/ai-service/state-machine/handlers/agent-planning.js +74 -3
  241. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  242. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  243. package/dist/ai-service/state-machine/handlers/llm-generating.js +1 -11
  244. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  245. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts +3 -2
  246. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.d.ts.map +1 -1
  247. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js +25 -5
  248. package/dist/ai-service/state-machine/helpers/policy-gate-usage-metrics.js.map +1 -1
  249. package/dist/ai-service/state-machine/helpers/prompt-billing-metrics.d.ts.map +1 -1
  250. package/dist/ai-service/state-machine/helpers/prompt-billing-metrics.js +1 -0
  251. package/dist/ai-service/state-machine/helpers/prompt-billing-metrics.js.map +1 -1
  252. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +4 -0
  253. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
  254. package/dist/ai-service/state-machine/helpers/stable-peer.js +6 -1
  255. package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
  256. package/dist/ai-service/test-utils/metrics-harness.d.ts +6 -0
  257. package/dist/ai-service/test-utils/metrics-harness.d.ts.map +1 -1
  258. package/dist/ai-service/test-utils/metrics-harness.js.map +1 -1
  259. package/dist/ai-service/transform/api-builder/shared.d.ts.map +1 -1
  260. package/dist/ai-service/transform/api-builder/shared.js +2 -1
  261. package/dist/ai-service/transform/api-builder/shared.js.map +1 -1
  262. package/dist/dev-server-ws-smoke-client.d.ts.map +1 -1
  263. package/dist/dev-server-ws-smoke-client.js +1 -0
  264. package/dist/dev-server-ws-smoke-client.js.map +1 -1
  265. package/dist/file-sync-vite-plugin.d.ts +21 -0
  266. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  267. package/dist/file-sync-vite-plugin.js +131 -11
  268. package/dist/file-sync-vite-plugin.js.map +1 -1
  269. package/dist/file-system-helpers.d.ts +2 -2
  270. package/dist/file-system-helpers.d.ts.map +1 -1
  271. package/dist/file-system-helpers.js +2 -12
  272. package/dist/file-system-helpers.js.map +1 -1
  273. package/dist/migration-templates/app-fullstack/.gitignore +50 -0
  274. package/dist/parsing/jsx.d.ts +12 -0
  275. package/dist/parsing/jsx.d.ts.map +1 -1
  276. package/dist/parsing/jsx.js +30 -12
  277. package/dist/parsing/jsx.js.map +1 -1
  278. package/dist/parsing/page.d.ts.map +1 -1
  279. package/dist/parsing/page.js +16 -8
  280. package/dist/parsing/page.js.map +1 -1
  281. package/dist/parsing/parse-tsx-module.d.ts +4 -0
  282. package/dist/parsing/parse-tsx-module.d.ts.map +1 -0
  283. package/dist/parsing/parse-tsx-module.js +13 -0
  284. package/dist/parsing/parse-tsx-module.js.map +1 -0
  285. package/dist/plugin-options.d.ts +4 -0
  286. package/dist/plugin-options.d.ts.map +1 -1
  287. package/dist/plugin-options.js.map +1 -1
  288. package/dist/policy-gate-callback-mapper.d.ts +2 -1
  289. package/dist/policy-gate-callback-mapper.d.ts.map +1 -1
  290. package/dist/policy-gate-callback-mapper.js +3 -5
  291. package/dist/policy-gate-callback-mapper.js.map +1 -1
  292. package/dist/policy-gate-run-registry.d.ts +4 -2
  293. package/dist/policy-gate-run-registry.d.ts.map +1 -1
  294. package/dist/policy-gate-run-registry.js +17 -2
  295. package/dist/policy-gate-run-registry.js.map +1 -1
  296. package/dist/policy-gate-runner.d.ts +1 -1
  297. package/dist/policy-gate-runner.d.ts.map +1 -1
  298. package/dist/policy-gate-runner.js +41 -7
  299. package/dist/policy-gate-runner.js.map +1 -1
  300. package/dist/router-parser-metrics.d.ts +2 -0
  301. package/dist/router-parser-metrics.d.ts.map +1 -0
  302. package/dist/router-parser-metrics.js +13 -0
  303. package/dist/router-parser-metrics.js.map +1 -0
  304. package/dist/router-parser.d.ts +6 -1
  305. package/dist/router-parser.d.ts.map +1 -1
  306. package/dist/router-parser.js +72 -17
  307. package/dist/router-parser.js.map +1 -1
  308. package/dist/scan-scope-merge.d.ts +1 -1
  309. package/dist/scan-scope-merge.js +1 -1
  310. package/dist/source-tracker.d.ts.map +1 -1
  311. package/dist/source-tracker.js +2 -6
  312. package/dist/source-tracker.js.map +1 -1
  313. package/dist/sync-service/download.d.ts.map +1 -1
  314. package/dist/sync-service/download.js +10 -2
  315. package/dist/sync-service/download.js.map +1 -1
  316. package/dist/sync-service/index.d.ts +5 -0
  317. package/dist/sync-service/index.d.ts.map +1 -1
  318. package/dist/sync-service/index.js +66 -14
  319. package/dist/sync-service/index.js.map +1 -1
  320. package/dist/sync-service/list-dir.d.ts.map +1 -1
  321. package/dist/sync-service/list-dir.js +8 -4
  322. package/dist/sync-service/list-dir.js.map +1 -1
  323. package/dist/sync-service/snapshot/upload-snapshot.d.ts.map +1 -1
  324. package/dist/sync-service/snapshot/upload-snapshot.js +20 -0
  325. package/dist/sync-service/snapshot/upload-snapshot.js.map +1 -1
  326. package/dist/util/log-sanitizer.d.ts.map +1 -1
  327. package/dist/util/log-sanitizer.js +10 -8
  328. package/dist/util/log-sanitizer.js.map +1 -1
  329. package/dist/util/logger.d.ts +2 -0
  330. package/dist/util/logger.d.ts.map +1 -1
  331. package/dist/util/logger.js +357 -38
  332. package/dist/util/logger.js.map +1 -1
  333. package/dist/util.d.ts +3 -1
  334. package/dist/util.d.ts.map +1 -1
  335. package/dist/util.js +2 -2
  336. package/dist/util.js.map +1 -1
  337. package/package.json +9 -9
@@ -1,5 +1,5 @@
1
1
  import { safeJsonStringify } from "../../../util/log-sanitizer.js";
2
- import { getLogger } from "../../../util/logger.js";
2
+ import { getErrorMeta, getLogger, } from "../../../util/logger.js";
3
3
  // Failures in our own source rank first because they are usually the root cause
4
4
  // of the browser-side import failures that follow. `transform` and `resolve`
5
5
  // share a rank: both are our code being wrong, and we have no basis for
@@ -46,14 +46,37 @@ export function sortBuildErrorsByPhase(buildSystemErrors) {
46
46
  * - Intelligent invalidation based on file changes
47
47
  * - Debouncing to prevent multiple checks during rapid editing
48
48
  */
49
+ /**
50
+ * Type checks previously logged nothing, so a pod could spend its last minute
51
+ * running several `tsc` processes in silence and then be OOM-killed with no
52
+ * trace of why. Emit start/finish as structured events so duration and overlap
53
+ * are queryable.
54
+ */
55
+ function logTypeCheckEvent(message, attributes) {
56
+ const logger = getLogger();
57
+ if (logger.infoStructured) {
58
+ logger.infoStructured(message, attributes);
59
+ }
60
+ else {
61
+ logger.info(message, attributes);
62
+ }
63
+ }
49
64
  export class TypeScriptCache {
65
+ // Resolves to null when the check was cancelled, so a superseded run is never
66
+ // mistaken for a clean result.
50
67
  pendingCheck = null;
68
+ // Type checks run as separate `tsc` processes costing hundreds of MiB each,
69
+ // so how many are alive at once is the number worth watching.
70
+ inFlight = 0;
71
+ // At most one queued follow-up, always the most recent request.
72
+ queuedCheck = null;
51
73
  cachedResult = null;
52
74
  abortController = null;
53
75
  debounceTimer = null;
54
76
  // Cache TypeScript results for 5 minutes since they're expensive to compute
55
77
  CACHE_TTL = 5 * 60 * 1000;
56
78
  DEBOUNCE_DELAY = 1000; // 1 second debounce
79
+ MAX_REPLACEMENT_HOPS = 3;
57
80
  /**
58
81
  * Start a debounced TypeScript check
59
82
  */
@@ -71,23 +94,57 @@ export class TypeScriptCache {
71
94
  * Start an immediate TypeScript check (used internally and for testing)
72
95
  */
73
96
  startImmediateCheck(typeCheckFunction) {
74
- // Cancel existing check
75
- if (this.abortController) {
76
- this.abortController.abort();
97
+ // Coalesce rather than cancel-and-restart. Letting the in-flight check
98
+ // finish is what keeps a burst of edits from starving every check, while
99
+ // queueing only the newest request keeps at most one compiler running --
100
+ // which is what actually bounds memory.
101
+ if (this.pendingCheck) {
102
+ this.queuedCheck = typeCheckFunction;
103
+ return;
77
104
  }
105
+ this.runCheckNow(typeCheckFunction);
106
+ }
107
+ runCheckNow(typeCheckFunction) {
78
108
  this.abortController = new AbortController();
79
- this.pendingCheck = this.runTypeCheck(typeCheckFunction);
109
+ const run = this.runTypeCheck(typeCheckFunction, this.abortController.signal).finally(() => {
110
+ // Only the run that still owns the slot may release it or drain the
111
+ // queue. A stale run doing so would launch a second compiler alongside
112
+ // the current one and orphan it beyond the reach of any abort.
113
+ if (this.pendingCheck !== run) {
114
+ return;
115
+ }
116
+ this.pendingCheck = null;
117
+ const next = this.queuedCheck;
118
+ this.queuedCheck = null;
119
+ if (next) {
120
+ this.runCheckNow(next);
121
+ }
122
+ });
123
+ this.pendingCheck = run;
80
124
  }
81
125
  /**
82
126
  * Get cached TypeScript result if available, otherwise wait for pending check
83
127
  */
84
128
  async getResult() {
85
- if (this.pendingCheck) {
86
- const result = await this.pendingCheck;
87
- this.cachedResult = result;
88
- this.pendingCheck = null;
89
- getLogger().info("[TypeScriptCache] Returning fresh TypeScript check result");
90
- return result;
129
+ let hops = 0;
130
+ while (this.pendingCheck && hops < this.MAX_REPLACEMENT_HOPS) {
131
+ const awaited = this.pendingCheck;
132
+ const result = await awaited;
133
+ if (result) {
134
+ this.cachedResult = result;
135
+ getLogger().info("[TypeScriptCache] Returning fresh TypeScript check result");
136
+ return result;
137
+ }
138
+ // Cancelled. Follow the replacement if one is already running, but do not
139
+ // hop forever: a caller must not be parked for an entire turn.
140
+ if (this.pendingCheck === awaited || this.pendingCheck === null) {
141
+ break;
142
+ }
143
+ hops += 1;
144
+ logTypeCheckEvent("[TypeScriptCache] check cancelled; waiting for its replacement", {
145
+ "typecheck.event": "waiting_for_replacement",
146
+ "typecheck.hops": hops,
147
+ });
91
148
  }
92
149
  if (this.cachedResult) {
93
150
  const age = Date.now() - this.cachedResult.timestamp;
@@ -117,20 +174,41 @@ export class TypeScriptCache {
117
174
  ? Date.now() - this.cachedResult.timestamp
118
175
  : 0;
119
176
  this.cachedResult = null;
177
+ this.queuedCheck = null;
178
+ if (this.debounceTimer) {
179
+ clearTimeout(this.debounceTimer);
180
+ this.debounceTimer = null;
181
+ }
182
+ // Abort the running check but keep the slot occupied until it has actually
183
+ // exited. Releasing `pendingCheck` here would let the next request start a
184
+ // compiler while the aborted one is still resident, which is how the churn
185
+ // observed in a live environment turned into overlapping processes.
120
186
  if (this.abortController) {
121
187
  this.abortController.abort();
122
188
  this.abortController = null;
123
189
  }
124
- if (this.pendingCheck) {
125
- this.pendingCheck = null;
126
- }
127
190
  if (hadCache) {
128
191
  getLogger().info(`[TypeScriptCache] Cache invalidated (was ${Math.round(cacheAge / 1000)}s old)`);
129
192
  }
130
193
  }
131
- async runTypeCheck(typeCheckFunction) {
194
+ async runTypeCheck(typeCheckFunction, signal) {
195
+ const startedAt = Date.now();
196
+ this.inFlight += 1;
197
+ logTypeCheckEvent("[TypeScriptCache] type check started", {
198
+ "typecheck.event": "started",
199
+ "typecheck.in_flight": this.inFlight,
200
+ });
132
201
  try {
133
- const result = await typeCheckFunction();
202
+ const result = await typeCheckFunction(signal);
203
+ // A killed `tsc` resolves with empty output, which is indistinguishable
204
+ // from "no type errors". The factory returns null when the signal it
205
+ // actually passed to the compiler aborted -- that signal may be the turn's
206
+ // rather than this cache's, so trusting `signal` alone is not enough.
207
+ if (!result || signal?.aborted) {
208
+ this.logFinished(startedAt, "cancelled");
209
+ return null;
210
+ }
211
+ this.logFinished(startedAt, "completed", result.status);
134
212
  return {
135
213
  ...result,
136
214
  timestamp: Date.now(),
@@ -138,15 +216,34 @@ export class TypeScriptCache {
138
216
  }
139
217
  catch (error) {
140
218
  if (error instanceof Error && error.name === "AbortError") {
141
- return {
142
- status: "success",
143
- typeErrors: "",
144
- timestamp: Date.now(),
145
- };
219
+ this.logFinished(startedAt, "cancelled");
220
+ return null;
146
221
  }
222
+ this.logFinished(startedAt, "failed", undefined, error);
147
223
  throw error;
148
224
  }
149
225
  }
226
+ logFinished(startedAt, outcome, status, error) {
227
+ this.inFlight = Math.max(0, this.inFlight - 1);
228
+ const durationMs = Date.now() - startedAt;
229
+ const message = `[TypeScriptCache] type check ${outcome} in ${durationMs}ms`;
230
+ const attributes = {
231
+ "typecheck.event": outcome,
232
+ "typecheck.duration_ms": durationMs,
233
+ "typecheck.in_flight": this.inFlight,
234
+ ...(status ? { "typecheck.status": status } : {}),
235
+ };
236
+ if (outcome === "failed") {
237
+ // A genuine compiler failure needs to be diagnosable, so it is not an
238
+ // INFO line and it carries the error itself.
239
+ getLogger().error(message, {
240
+ ...attributes,
241
+ ...getErrorMeta(error),
242
+ });
243
+ return;
244
+ }
245
+ logTypeCheckEvent(message, attributes);
246
+ }
150
247
  }
151
248
  /**
152
249
  * Cache for context errors (build system and runtime errors)
@@ -306,19 +403,30 @@ export class DebugCache {
306
403
  */
307
404
  async getCombinedResult(typeCheckFunction, contextErrorsFunction) {
308
405
  // Get TypeScript errors (may be cached or trigger new check)
309
- let typeScriptResult;
406
+ let typeScriptResult = null;
310
407
  try {
311
408
  typeScriptResult = await this.typeScriptCache.getResult();
312
409
  }
313
410
  catch {
314
411
  // No cached result, start immediate check
315
412
  this.typeScriptCache.startImmediateCheck(typeCheckFunction);
316
- typeScriptResult = await this.typeScriptCache.getResult();
413
+ try {
414
+ typeScriptResult = await this.typeScriptCache.getResult();
415
+ }
416
+ catch (error) {
417
+ // The check was cancelled and nothing replaced it. Reporting a clean
418
+ // build here would be a lie, so surface the gap instead of rejecting.
419
+ getLogger().warn("[DebugCache] type check unavailable; reporting it rather than a pass", getErrorMeta(error));
420
+ typeScriptResult = null;
421
+ }
317
422
  }
318
423
  // Get context errors (cached or fresh)
319
424
  const contextResult = this.contextErrorsCache.getResult(contextErrorsFunction);
320
425
  // Combine results
321
- const hasErrors = Boolean(typeScriptResult.typeErrors ||
426
+ const typeErrors = typeScriptResult === null
427
+ ? "Type check did not complete (it was cancelled). Run build_debug again to get type errors."
428
+ : typeScriptResult.typeErrors;
429
+ const hasErrors = Boolean(typeErrors ||
322
430
  contextResult.buildSystemErrors.length ||
323
431
  contextResult.runtimeErrors.length);
324
432
  return {
@@ -326,10 +434,10 @@ export class DebugCache {
326
434
  message: hasErrors
327
435
  ? "Found errors that need to be fixed"
328
436
  : "All checks passed successfully",
329
- typeErrors: typeScriptResult.typeErrors,
437
+ typeErrors,
330
438
  buildSystemErrors: contextResult.buildSystemErrors,
331
439
  runtimeErrors: contextResult.runtimeErrors,
332
- timestamp: Math.max(typeScriptResult.timestamp, contextResult.timestamp),
440
+ timestamp: Math.max(typeScriptResult?.timestamp ?? 0, contextResult.timestamp),
333
441
  };
334
442
  }
335
443
  /**
@@ -350,24 +458,74 @@ export const debugCache = new DebugCache();
350
458
  /**
351
459
  * Create TypeScript check function
352
460
  */
353
- export function createTypeScriptCheckFunction(appShell, abortSignal) {
354
- return async () => {
355
- const tsErrors = await appShell.runTypecheckRawOutput(abortSignal);
356
- const maxLines = 30;
357
- let clampedTsErrors = tsErrors ?? "";
358
- if (clampedTsErrors) {
359
- const lines = clampedTsErrors.split("\n");
360
- if (lines.length > maxLines) {
361
- clampedTsErrors =
362
- lines.slice(0, maxLines).join("\n") +
363
- `\n... (${lines.length - maxLines} more lines truncated)`;
461
+ /**
462
+ * Abort the compiler when either the cache supersedes the check or the turn is
463
+ * cancelled. `release()` must be called once the check settles: the turn signal
464
+ * outlives every individual check, so a listener left on it per check would
465
+ * accumulate for the whole turn.
466
+ */
467
+ function linkAbortSignals(cacheSignal, turnSignal) {
468
+ const signals = [cacheSignal, turnSignal].filter((candidate) => Boolean(candidate));
469
+ if (signals.length < 2) {
470
+ return { signal: signals[0], release: () => { } };
471
+ }
472
+ const anyOf = AbortSignal.any;
473
+ if (typeof anyOf === "function") {
474
+ // Native implementation manages its own listeners.
475
+ return { signal: anyOf(signals), release: () => { } };
476
+ }
477
+ const combined = new AbortController();
478
+ if (signals.some((candidate) => candidate.aborted)) {
479
+ combined.abort();
480
+ return { signal: combined.signal, release: () => { } };
481
+ }
482
+ const abort = () => combined.abort();
483
+ for (const candidate of signals) {
484
+ candidate.addEventListener("abort", abort);
485
+ }
486
+ return {
487
+ signal: combined.signal,
488
+ release: () => {
489
+ for (const candidate of signals) {
490
+ candidate.removeEventListener("abort", abort);
364
491
  }
492
+ },
493
+ };
494
+ }
495
+ export function createTypeScriptCheckFunction(appShell, turnAbortSignal) {
496
+ return async (cacheAbortSignal) => {
497
+ // Either the cache superseding this check or the turn being cancelled must
498
+ // stop the compiler process.
499
+ const linked = linkAbortSignals(cacheAbortSignal, turnAbortSignal);
500
+ try {
501
+ return await runCheck(appShell, linked.signal);
365
502
  }
366
- return {
367
- status: clampedTsErrors ? "errors_found" : "success",
368
- typeErrors: clampedTsErrors,
369
- timestamp: Date.now(),
370
- };
503
+ finally {
504
+ linked.release();
505
+ }
506
+ };
507
+ }
508
+ async function runCheck(appShell, abortSignal) {
509
+ const tsErrors = await appShell.runTypecheckRawOutput(abortSignal);
510
+ // A killed compiler resolves with empty output rather than throwing, so
511
+ // without this the caller cannot tell cancellation from "no errors".
512
+ if (abortSignal?.aborted) {
513
+ return null;
514
+ }
515
+ const maxLines = 30;
516
+ let clampedTsErrors = tsErrors ?? "";
517
+ if (clampedTsErrors) {
518
+ const lines = clampedTsErrors.split("\n");
519
+ if (lines.length > maxLines) {
520
+ clampedTsErrors =
521
+ lines.slice(0, maxLines).join("\n") +
522
+ `\n... (${lines.length - maxLines} more lines truncated)`;
523
+ }
524
+ }
525
+ return {
526
+ status: clampedTsErrors ? "errors_found" : "success",
527
+ typeErrors: clampedTsErrors,
528
+ timestamp: Date.now(),
371
529
  };
372
530
  }
373
531
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"debug-cache.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/debug-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-cache.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/debug-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,YAAY,EACZ,SAAS,GAEV,MAAM,yBAAyB,CAAC;AAIjC,gFAAgF;AAChF,6EAA6E;AAC7E,wEAAwE;AACxE,sEAAsE;AACtE,0EAA0E;AAC1E,sBAAsB;AACtB,MAAM,sBAAsB,GAAoC;IAC9D,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;CACV,CAAC;AAEF,gFAAgF;AAChF,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAC/E,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,iBAAsB;IAEtB,OAAO,iBAAiB,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CACtE,CAAC;AACJ,CAAC;AA6CD;;;;;GAKG;AACH;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,OAAe,EAAE,UAAyB;IACnE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,OAAO,eAAe;IAC1B,8EAA8E;IAC9E,+BAA+B;IACvB,YAAY,GAAiD,IAAI,CAAC;IAC1E,4EAA4E;IAC5E,8DAA8D;IACtD,QAAQ,GAAG,CAAC,CAAC;IACrB,gEAAgE;IACxD,WAAW,GAAkC,IAAI,CAAC;IAClD,YAAY,GAAiC,IAAI,CAAC;IAClD,eAAe,GAA2B,IAAI,CAAC;IAC/C,aAAa,GAA0B,IAAI,CAAC;IAEpD,4EAA4E;IAC3D,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1B,cAAc,GAAG,IAAI,CAAC,CAAC,oBAAoB;IAC3C,oBAAoB,GAAG,CAAC,CAAC;IAE1C;;OAEG;IACI,eAAe,CAAC,iBAAyC;QAC9D,oCAAoC;QACpC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,iBAAyC;QAClE,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,wCAAwC;QACxC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAEO,WAAW,CAAC,iBAAyC;QAC3D,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAA0C,IAAI,CAAC,YAAY,CAClE,iBAAiB,EACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAC5B,CAAC,OAAO,CAAC,GAAG,EAAE;YACb,oEAAoE;YACpE,uEAAuE;YACvE,+DAA+D;YAC/D,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS;QACpB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;YAE7B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC3B,SAAS,EAAE,CAAC,IAAI,CACd,2DAA2D,CAC5D,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,0EAA0E;YAC1E,+DAA+D;YAC/D,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAChE,MAAM;YACR,CAAC;YAED,IAAI,IAAI,CAAC,CAAC;YACV,iBAAiB,CACf,gEAAgE,EAChE;gBACE,iBAAiB,EAAE,yBAAyB;gBAC5C,gBAAgB,EAAE,IAAI;aACvB,CACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YACrD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzB,SAAS,EAAE,CAAC,IAAI,CACd,8DAA8D,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CACzF,CAAC;gBACF,OAAO,IAAI,CAAC,YAAY,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,cAAc;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QACrD,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,UAAU;QACf,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY;YAChC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS;YAC1C,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,oEAAoE;QACpE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,IAAI,CACd,4CAA4C,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,iBAAyC,EACzC,MAAoB;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,iBAAiB,CAAC,sCAAsC,EAAE;YACxD,iBAAiB,EAAE,SAAS;YAC5B,qBAAqB,EAAE,IAAI,CAAC,QAAQ;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/C,wEAAwE;YACxE,qEAAqE;YACrE,2EAA2E;YAC3E,sEAAsE;YACtE,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO;gBACL,GAAG,MAAM;gBACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1D,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,WAAW,CACjB,SAAiB,EACjB,OAA6C,EAC7C,MAAwC,EACxC,KAAe;QAEf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,gCAAgC,OAAO,OAAO,UAAU,IAAI,CAAC;QAC7E,MAAM,UAAU,GAAkB;YAChC,iBAAiB,EAAE,OAAO;YAC1B,uBAAuB,EAAE,UAAU;YACnC,qBAAqB,EAAE,IAAI,CAAC,QAAQ;YACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QAEF,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,sEAAsE;YACtE,6CAA6C;YAC7C,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE;gBACzB,GAAG,UAAU;gBACb,GAAG,YAAY,CAAC,KAAK,CAAC;aACvB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IACrB,YAAY,GAA+B,IAAI,CAAC;IAExD,qEAAqE;IACpD,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC;IAEvC;;OAEG;IACI,SAAS,CACd,qBAAgD;QAEhD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YACrD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzB,mEAAmE;gBACnE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,MAAM;YACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAA2B;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,MAAM;YACT,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;gBAC/D,GAAG,KAAK;gBACR,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACjD,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,UAAU;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IAC7B,YAAY,GAAqC,IAAI,GAAG,EAAE,CAAC;IAEnE;;OAEG;IACI,WAAW,CAAC,QAAgB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC;YACxB,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC9B,QAAQ;gBACR,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,GAAG;gBACb,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,2BAA2B,CAChC,gBAA6B;QAE7B,MAAM,WAAW,GAA0B,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAExD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,oDAAoD;YACpD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACzD,MAAM,iBAAiB,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAEjD,+DAA+D;gBAC/D,IAAI,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;oBAChD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,SAAmB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,6BAA6B,CAAC,gBAA6B;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;IACb,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC9C,mBAAmB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAE/D;;OAEG;IACI,yBAAyB,CAC9B,iBAAyC;QAEzC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,uBAAuB;QAC5B,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,oBAAoB;QACzB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAC5B,iBAAyC,EACzC,qBAAgD;QAEhD,6DAA6D;QAC7D,IAAI,gBAAgB,GAAiC,IAAI,CAAC;QAC1D,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;YAC1C,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qEAAqE;gBACrE,sEAAsE;gBACtE,SAAS,EAAE,CAAC,IAAI,CACd,sEAAsE,EACtE,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;gBACF,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CACrD,qBAAqB,CACtB,CAAC;QAEF,kBAAkB;QAClB,MAAM,UAAU,GACd,gBAAgB,KAAK,IAAI;YACvB,CAAC,CAAC,2FAA2F;YAC7F,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAClC,MAAM,SAAS,GAAG,OAAO,CACvB,UAAU;YACV,aAAa,CAAC,iBAAiB,CAAC,MAAM;YACtC,aAAa,CAAC,aAAa,CAAC,MAAM,CACnC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC9C,OAAO,EAAE,SAAS;gBAChB,CAAC,CAAC,oCAAoC;gBACtC,CAAC,CAAC,gCAAgC;YACpC,UAAU;YACV,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;YAClD,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,CAAC,GAAG,CACjB,gBAAgB,EAAE,SAAS,IAAI,CAAC,EAChC,aAAa,CAAC,SAAS,CACxB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,wBAAwB;QAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,sBAAsB;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAE3C;;GAEG;AACH;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,WAAyB,EACzB,UAAwB;IAExB,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,MAAM,CAC9C,CAAC,SAAS,EAA4B,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAC5D,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAS,EAAE,GAAE,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,KAAK,GACT,WAGD,CAAC,GAAG,CAAC;IACN,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,mDAAmD;QACnD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAS,EAAE,GAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,GAAS,EAAE,GAAE,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC3C,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,GAAS,EAAE;YAClB,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;gBAChC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAkB,EAClB,eAA6B;IAE7B,OAAO,KAAK,EACV,gBAA8B,EACS,EAAE;QACzC,2EAA2E;QAC3E,6BAA6B;QAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,WAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAEnE,wEAAwE;IACxE,qEAAqE;IACrE,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,IAAI,eAAe,GAAG,QAAQ,IAAI,EAAE,CAAC;IACrC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC5B,eAAe;gBACb,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnC,UAAU,KAAK,CAAC,MAAM,GAAG,QAAQ,wBAAwB,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACpD,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC,CACjD,KAAY,EACZ,QAAkB;IAElB,OAAO,GAAwB,EAAE;QAC/B,MAAM,iBAAiB,GAA8B,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,wBAAwB,GAC5B,KAAK,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,CAAC;QAE9C,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAEpC,6CAA6C;YAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;gBACpE,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;gBAC1C,OAAO,QAAQ,GAAG,aAAa,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,SAAS,EAAE,CAAC,IAAI,CACd,iDAAiD,EACjD,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;YAEF,iBAAiB,CAAC,IAAI,CACpB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE;gBAC9C,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;gBAC7B,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC,CACJ,CAAC;YAEF,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;YAE1C,sDAAsD;YACtD,IAAI,WAAW,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAClE,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAChC,GAAG,OAAO;oBACV,iBAAiB,EAAE,WAAW;iBAC/B,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,IAAI,aAAa,GAA8B,EAAE,CAAC;QAClD,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAE9B,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;YACxC,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAC3D,CAAC,CAAM,EAAE,EAAE;gBACT,MAAM,SAAS,GAAG,CAAC,EAAE,SAAS,CAAC;gBAC/B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,SAAS,IAAI,wBAAwB,CAAC;YAC/C,CAAC,CACF,CAAC;YAEF,IAAI,kBAAkB,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBACrE,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAChC,GAAG,OAAO;oBACV,aAAa,EAAE,kBAAkB;iBAClC,CAAC,CAAC,CAAC;YACN,CAAC;YAED,+EAA+E;YAC/E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YACrC,MAAM,aAAa,GAAU,EAAE,CAAC;YAEhC,MAAM,WAAW,GAAG,CAAC,KAAe,EAAU,EAAE;gBAC9C,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpE,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,CAAC,CAAC;YAEF,KAAK,MAAM,CAAC,IAAI,kBAA2B,EAAE,CAAC;gBAC5C,MAAM,aAAa,GAAW,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC;gBACxD,MAAM,UAAU,GAAuB,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC;gBACjE,MAAM,QAAQ,GAAY,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC;gBAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAErE,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;gBAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;gBAE3D,MAAM,gBAAgB,GAAG;oBACvB,YAAY,CAAC,IAAI,EAAE;oBACnB,aAAa;oBACb,UAAU,IAAI,WAAW;oBACzB,QAAQ;iBACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClB,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEhD,MAAM,SAAS,GAAG,WAAW,IAAI,GAAG,YAAY,KAAK,aAAa,EAAE,CAAC;gBAErE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC1B,iEAAiE;oBACjE,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;YACzC,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEjE,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAC7C,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI;gBACjC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ;gBAChC,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC,CAAC;YAEJ,oCAAoC;YACpC,IAAI,WAAW,GAAG,kBAAkB,EAAE,CAAC;gBACrC,aAAa,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,WAAW,WAAW,GAAG,kBAAkB,0FAA0F;oBAC5I,SAAS,EAAE,EAAE;oBACb,aAAa,EAAE,SAAS;oBACxB,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAE5E,OAAO;YACL,iBAAiB;YACjB,aAAa;YACb,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC9C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -232,6 +232,11 @@ declare const inputSchema: z.ZodObject<{
232
232
  body: string;
233
233
  }>]>;
234
234
  }, "strip", z.ZodTypeAny, {
235
+ description: {
236
+ request: string;
237
+ present: string;
238
+ past: string;
239
+ };
235
240
  params: {
236
241
  type: "sql";
237
242
  query: string;
@@ -295,14 +300,14 @@ declare const inputSchema: z.ZodObject<{
295
300
  type: "other";
296
301
  body: string;
297
302
  };
303
+ integrationId: string;
304
+ operation: "read" | "write";
305
+ }, {
298
306
  description: {
299
307
  request: string;
300
308
  present: string;
301
309
  past: string;
302
310
  };
303
- integrationId: string;
304
- operation: "read" | "write";
305
- }, {
306
311
  params: {
307
312
  type: "sql";
308
313
  query: string;
@@ -366,11 +371,6 @@ declare const inputSchema: z.ZodObject<{
366
371
  type: "other";
367
372
  body: string;
368
373
  };
369
- description: {
370
- request: string;
371
- present: string;
372
- past: string;
373
- };
374
374
  integrationId: string;
375
375
  operation: "read" | "write";
376
376
  }>;
@@ -379,6 +379,11 @@ export declare const executeRequestToIntegrationToolFactory: import("../../tools
379
379
  clark: Clark;
380
380
  services: ClarkStateHandlerParams;
381
381
  }, import("../../tools2/types.js").Tool<{
382
+ description: {
383
+ request: string;
384
+ present: string;
385
+ past: string;
386
+ };
382
387
  params: {
383
388
  type: "sql";
384
389
  query: string;
@@ -442,11 +447,6 @@ export declare const executeRequestToIntegrationToolFactory: import("../../tools
442
447
  type: "other";
443
448
  body: string;
444
449
  };
445
- description: {
446
- request: string;
447
- present: string;
448
- past: string;
449
- };
450
450
  integrationId: string;
451
451
  operation: "read" | "write";
452
452
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"execute-request.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/integrations/execute-request.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAEL,MAAM,EAEP,MAAM,uCAAuC,CAAC;AA8B/C,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAGL,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAkE/B,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyOf,CAAC;AAEH,KAAK,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEvD,eAAO,MAAM,sCAAsC;WAMxC,KAAK;cACF,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqhBpC,CAAC;AAgfF;;;;;;;;;;GAUG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1B,KAAK,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAyB1B"}
1
+ {"version":3,"file":"execute-request.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/integrations/execute-request.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAEL,MAAM,EAEP,MAAM,uCAAuC,CAAC;AA8B/C,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAGL,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAiE/B,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyOf,CAAC;AAEH,KAAK,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEvD,eAAO,MAAM,sCAAsC;WAMxC,KAAK;cACF,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6hBpC,CAAC;AAshBF;;;;;;;;;;GAUG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1B,KAAK,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC,eAAe,CAAC,CA4B1B"}
@@ -271,9 +271,11 @@ export const executeRequestToIntegrationToolFactory = createToolFactory("execute
271
271
 
272
272
  SQL write rules:
273
273
  - INSERT, UPDATE, DELETE and MERGE run only on integrations backed by PostgreSQL itself (${PostgresPlugin.id}, ${LakebasePlugin.id}, ${SnowflakePostgresPlugin.id}). On every other SQL integration — including ${CockroachDBPlugin.id}, whose dialect this tool cannot verify — and on Salesforce, only reads are supported; do not attempt writes there.
274
- - Writes require Build mode. In Plan mode this tool is read-only, so plan the write and perform it after switching to Build mode.
275
- - Writes need the user's approval, except against a managed app database, where they run immediately.
276
- - Schema and session statements (CREATE, ALTER, DROP, TRUNCATE, GRANT, REVOKE, SET) are always rejected. Change a managed app database's schema with startApplyDevDatabaseMigrations instead.
274
+ - Row-level writes and DDL statements require Build mode. In Plan mode this tool is read-only, so plan the write and perform it after switching to Build mode.
275
+ - Row-level writes need the user's approval, except against a managed App Database, where they run immediately.
276
+ - DDL statements require Build mode and user approval. They run only on integrations backed by PostgreSQL itself (${PostgresPlugin.id}, ${LakebasePlugin.id}, ${SnowflakePostgresPlugin.id}), and only on tables, columns, table constraints, indexes, views, materialized views, sequences, and schemas. DDL naming any other object, such as a trigger, row-level-security policy, function, or extension, is rejected. DDL that assigns ownership, changes relation options, or uses CASCADE is also rejected. An ALTER TABLE may only change the table's shape; subcommands that change access control, such as OWNER TO, DISABLE TRIGGER, and ENABLE or DISABLE ROW LEVEL SECURITY, are rejected even though they name a table.
277
+ - Change a managed App Database's schema with startApplyDevDatabaseMigrations so migrations track the schema for every environment. Direct DDL is rejected for managed App Databases.
278
+ - Session, privilege, maintenance, and bulk I/O statements such as SET, GRANT, REVOKE, VACUUM, and COPY are always rejected, including when they appear inside a CREATE SCHEMA. A DDL statement that also writes rows, such as CREATE TABLE AS with a data-modifying CTE, keeps every DDL restriction in addition to counting as a row-level write.
277
279
  - A query must be a single valid statement. Anything unparseable is rejected.
278
280
  - Direct INSERT, UPDATE, or DELETE ... RETURNING statements are rejected because PostgreSQL cannot apply LIMIT to them. Use WITH result AS (... RETURNING ...) SELECT * FROM result LIMIT ${MAX_QUERY_LIMIT}, or omit RETURNING when only the row count is needed.
279
281
 
@@ -308,7 +310,8 @@ export const executeRequestToIntegrationToolFactory = createToolFactory("execute
308
310
  }
309
311
  const classification = await classifySqlStatement(args.params.query, sqlPluginIdFor(services, args.integrationId));
310
312
  if (classification.kind === "unknown") {
311
- throw createSqlPolicyError(describeRejection(classification.kind), args);
313
+ const rejection = describeRejection(classification);
314
+ throw createSqlPolicyError(rejection ?? "This query could not be checked safely.", args);
312
315
  }
313
316
  },
314
317
  toModelOutput: ({ output }) => {
@@ -349,7 +352,7 @@ export const executeRequestToIntegrationToolFactory = createToolFactory("execute
349
352
  // settled before execute() by checkExecuteRequestPermissions and
350
353
  // the registry's WRITE escalation.
351
354
  const classification = await classifySqlStatement(query, services.integrationStore.getHeader(integrationId)?.plugin.id);
352
- const rejection = describeRejection(classification.kind);
355
+ const rejection = describeRejection(classification, isManagedAppDatabaseTarget(services, integrationId));
353
356
  if (rejection !== undefined) {
354
357
  throw new ToolExecutionError(rejection, {
355
358
  toolName: "executeRequestToIntegration",
@@ -521,7 +524,7 @@ export const executeRequestToIntegrationToolFactory = createToolFactory("execute
521
524
  {
522
525
  entityType: AiEntityType.INTEGRATION,
523
526
  entityId: args.integrationId,
524
- permissionType: classifyPermissionType(args, sqlMutationNeedsApproval(services, args, classification)),
527
+ permissionType: classifyPermissionType(args, sqlStatementNeedsApproval(services, args, classification)),
525
528
  },
526
529
  ];
527
530
  },
@@ -540,9 +543,10 @@ export const executeRequestToIntegrationToolFactory = createToolFactory("execute
540
543
  // whether it needed approval. Managed app databases write without a
541
544
  // prompt, and reporting that as "Querying" describes the opposite of
542
545
  // what just happened.
543
- const sqlMutates = sqlClassification?.kind === "data_mutation";
546
+ const sqlMutates = sqlClassification?.kind === "data_mutation" ||
547
+ sqlClassification?.kind === "ddl";
544
548
  const sqlNeedsApproval = input !== undefined &&
545
- sqlMutationNeedsApproval(services, input, sqlClassification);
549
+ sqlStatementNeedsApproval(services, input, sqlClassification);
546
550
  if (input &&
547
551
  (sqlMutates ||
548
552
  classifyPermissionType(input, sqlNeedsApproval) ===
@@ -935,19 +939,22 @@ function classifyGraphQLOperation(query) {
935
939
  /**
936
940
  * Explains why a classified query may not run, or undefined when it may.
937
941
  *
938
- * Data mutations are absent on purpose: whether one is allowed is decided by
939
- * `checkExecuteRequestPermissions` and the registry's WRITE escalation before
940
- * execute() is reached.
942
+ * A managed App Database rejects any statement that changes schema before the
943
+ * primary kind is considered. Hybrid CREATE TABLE AS statements also mutate
944
+ * rows, so their primary kind alone is not enough to protect the schema.
941
945
  */
942
- function describeRejection(kind) {
943
- switch (kind) {
946
+ function describeRejection(classification, managedAppDatabase = false) {
947
+ if (managedAppDatabase && classification.changesSchema) {
948
+ return "Change a managed App Database's schema with startApplyDevDatabaseMigrations so the schema is tracked and can be applied to every environment.";
949
+ }
950
+ switch (classification.kind) {
944
951
  case "data_mutation":
945
952
  case "read":
953
+ case "ddl":
946
954
  return undefined;
947
955
  case "schema_or_session":
948
- return ("Only reads and row-level writes are allowed here. This query changes schema " +
949
- "or session state (CREATE, ALTER, DROP, TRUNCATE, GRANT, SET). Apply schema " +
950
- "changes to a managed app database with startApplyDevDatabaseMigrations.");
956
+ return ("Session, privilege, maintenance, and bulk I/O statements are not allowed here. " +
957
+ "Use a supported read, row-level write, or DDL statement instead.");
951
958
  case "unsupported_dialect":
952
959
  return ("Writes are not yet supported for this integration type, so only read-only " +
953
960
  "queries can run against it.");
@@ -985,6 +992,16 @@ function isManagedAppDatabaseWrite(services, integrationId) {
985
992
  if (services.features?.managedNativeDbEnabled !== true) {
986
993
  return false;
987
994
  }
995
+ return isManagedAppDatabaseTarget(services, integrationId);
996
+ }
997
+ /**
998
+ * Identifies the target independently of the Native DB rollout switch.
999
+ * Disabling the feature must not make an existing App Database look external
1000
+ * and bypass migration-only DDL handling. The shared helper recognizes both
1001
+ * the durable managedBy marker and allowlisted lifecycle states primed before
1002
+ * that marker is fetched.
1003
+ */
1004
+ function isManagedAppDatabaseTarget(services, integrationId) {
988
1005
  const header = services.integrationStore?.getHeader(integrationId);
989
1006
  return header != null && isManagedAppDatabaseIntegration(header);
990
1007
  }
@@ -1059,9 +1076,23 @@ function assertSqlParamsTypeMatchesIntegration(services, input) {
1059
1076
  * rows, and it is not headed for a managed app database that Clark may write
1060
1077
  * to on its own.
1061
1078
  */
1062
- function sqlMutationNeedsApproval(services, args, classification) {
1063
- return (args.params.type === "sql" &&
1064
- classification?.kind === "data_mutation" &&
1079
+ function sqlStatementNeedsApproval(services, args, classification) {
1080
+ if (args.params.type !== "sql" || classification === undefined) {
1081
+ return false;
1082
+ }
1083
+ // No plugin id means execute may later parse this as Postgres DDL or a
1084
+ // write. Reporting READ here would skip the prompt, then a header that
1085
+ // appears before execute would run it. Prompt instead; execute still
1086
+ // rejects if the dialect stays unknown.
1087
+ if (sqlPluginIdFor(services, args.integrationId) === undefined &&
1088
+ classification.kind !== "read") {
1089
+ return true;
1090
+ }
1091
+ if (classification.changesSchema &&
1092
+ classification.kind !== "schema_or_session") {
1093
+ return !isManagedAppDatabaseTarget(services, args.integrationId);
1094
+ }
1095
+ return (classification.kind === "data_mutation" &&
1065
1096
  !isUnboundedReturningMutation(classification) &&
1066
1097
  !isManagedAppDatabaseWrite(services, args.integrationId));
1067
1098
  }
@@ -1087,7 +1118,8 @@ export async function checkExecuteRequestPermissions(services, context, input) {
1087
1118
  if (classification.kind === "unknown") {
1088
1119
  return PermissionLevel.BLOCK;
1089
1120
  }
1090
- if (classification.kind !== "data_mutation") {
1121
+ if (classification.kind !== "data_mutation" &&
1122
+ classification.kind !== "ddl") {
1091
1123
  return PermissionLevel.ALLOW;
1092
1124
  }
1093
1125
  // Plan mode stays read-only even when the plan itself is approved.