@neverinfamous/postgres-mcp 1.2.0 → 2.0.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 (293) hide show
  1. package/README.md +202 -148
  2. package/dist/__tests__/benchmarks/codemode.bench.d.ts +10 -0
  3. package/dist/__tests__/benchmarks/codemode.bench.d.ts.map +1 -0
  4. package/dist/__tests__/benchmarks/codemode.bench.js +159 -0
  5. package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -0
  6. package/dist/__tests__/benchmarks/connection-pool.bench.d.ts +10 -0
  7. package/dist/__tests__/benchmarks/connection-pool.bench.d.ts.map +1 -0
  8. package/dist/__tests__/benchmarks/connection-pool.bench.js +123 -0
  9. package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -0
  10. package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts +11 -0
  11. package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts.map +1 -0
  12. package/dist/__tests__/benchmarks/handler-dispatch.bench.js +199 -0
  13. package/dist/__tests__/benchmarks/handler-dispatch.bench.js.map +1 -0
  14. package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts +15 -0
  15. package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts.map +1 -0
  16. package/dist/__tests__/benchmarks/logger-sanitization.bench.js +155 -0
  17. package/dist/__tests__/benchmarks/logger-sanitization.bench.js.map +1 -0
  18. package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts +10 -0
  19. package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts.map +1 -0
  20. package/dist/__tests__/benchmarks/resource-prompts.bench.js +181 -0
  21. package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -0
  22. package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts +11 -0
  23. package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts.map +1 -0
  24. package/dist/__tests__/benchmarks/schema-parsing.bench.js +209 -0
  25. package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -0
  26. package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts +9 -0
  27. package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts.map +1 -0
  28. package/dist/__tests__/benchmarks/tool-filtering.bench.js +83 -0
  29. package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -0
  30. package/dist/__tests__/benchmarks/transport-auth.bench.d.ts +10 -0
  31. package/dist/__tests__/benchmarks/transport-auth.bench.d.ts.map +1 -0
  32. package/dist/__tests__/benchmarks/transport-auth.bench.js +128 -0
  33. package/dist/__tests__/benchmarks/transport-auth.bench.js.map +1 -0
  34. package/dist/__tests__/benchmarks/utilities.bench.d.ts +10 -0
  35. package/dist/__tests__/benchmarks/utilities.bench.d.ts.map +1 -0
  36. package/dist/__tests__/benchmarks/utilities.bench.js +164 -0
  37. package/dist/__tests__/benchmarks/utilities.bench.js.map +1 -0
  38. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  39. package/dist/adapters/DatabaseAdapter.js +12 -0
  40. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  41. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  42. package/dist/adapters/postgresql/PostgresAdapter.js +56 -3
  43. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  44. package/dist/adapters/postgresql/prompts/ltree.js +2 -2
  45. package/dist/adapters/postgresql/prompts/ltree.js.map +1 -1
  46. package/dist/adapters/postgresql/schemas/admin.d.ts +10 -5
  47. package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -1
  48. package/dist/adapters/postgresql/schemas/admin.js +10 -5
  49. package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
  50. package/dist/adapters/postgresql/schemas/backup.d.ts +45 -27
  51. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
  52. package/dist/adapters/postgresql/schemas/backup.js +64 -26
  53. package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
  54. package/dist/adapters/postgresql/schemas/core.d.ts +53 -19
  55. package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
  56. package/dist/adapters/postgresql/schemas/core.js +61 -17
  57. package/dist/adapters/postgresql/schemas/core.js.map +1 -1
  58. package/dist/adapters/postgresql/schemas/cron.d.ts +51 -32
  59. package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
  60. package/dist/adapters/postgresql/schemas/cron.js +64 -44
  61. package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
  62. package/dist/adapters/postgresql/schemas/extensions.d.ts +224 -110
  63. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
  64. package/dist/adapters/postgresql/schemas/extensions.js +245 -96
  65. package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
  66. package/dist/adapters/postgresql/schemas/index.d.ts +7 -6
  67. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  68. package/dist/adapters/postgresql/schemas/index.js +16 -8
  69. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  70. package/dist/adapters/postgresql/schemas/introspection.d.ts +445 -0
  71. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -0
  72. package/dist/adapters/postgresql/schemas/introspection.js +478 -0
  73. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -0
  74. package/dist/adapters/postgresql/schemas/jsonb.d.ts +102 -42
  75. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
  76. package/dist/adapters/postgresql/schemas/jsonb.js +125 -30
  77. package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
  78. package/dist/adapters/postgresql/schemas/monitoring.d.ts +69 -36
  79. package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
  80. package/dist/adapters/postgresql/schemas/monitoring.js +98 -40
  81. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
  82. package/dist/adapters/postgresql/schemas/partitioning.d.ts +21 -24
  83. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
  84. package/dist/adapters/postgresql/schemas/partitioning.js +26 -14
  85. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
  86. package/dist/adapters/postgresql/schemas/partman.d.ts +69 -0
  87. package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
  88. package/dist/adapters/postgresql/schemas/partman.js +46 -33
  89. package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
  90. package/dist/adapters/postgresql/schemas/performance.d.ts +97 -49
  91. package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
  92. package/dist/adapters/postgresql/schemas/performance.js +139 -34
  93. package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
  94. package/dist/adapters/postgresql/schemas/postgis.d.ts +20 -0
  95. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
  96. package/dist/adapters/postgresql/schemas/postgis.js +40 -0
  97. package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
  98. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +50 -30
  99. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
  100. package/dist/adapters/postgresql/schemas/schema-mgmt.js +105 -33
  101. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
  102. package/dist/adapters/postgresql/schemas/stats.d.ts +33 -20
  103. package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -1
  104. package/dist/adapters/postgresql/schemas/stats.js +36 -20
  105. package/dist/adapters/postgresql/schemas/stats.js.map +1 -1
  106. package/dist/adapters/postgresql/schemas/text-search.d.ts +34 -19
  107. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
  108. package/dist/adapters/postgresql/schemas/text-search.js +52 -13
  109. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
  110. package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
  111. package/dist/adapters/postgresql/tools/admin.js +272 -186
  112. package/dist/adapters/postgresql/tools/admin.js.map +1 -1
  113. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
  114. package/dist/adapters/postgresql/tools/backup/dump.js +376 -350
  115. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
  116. package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
  117. package/dist/adapters/postgresql/tools/citext.js +333 -243
  118. package/dist/adapters/postgresql/tools/citext.js.map +1 -1
  119. package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -1
  120. package/dist/adapters/postgresql/tools/codemode/index.js +2 -11
  121. package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
  122. package/dist/adapters/postgresql/tools/core/convenience.d.ts +9 -1
  123. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
  124. package/dist/adapters/postgresql/tools/core/convenience.js +101 -19
  125. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
  126. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +48 -0
  127. package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -0
  128. package/dist/adapters/postgresql/tools/core/error-helpers.js +256 -0
  129. package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -0
  130. package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
  131. package/dist/adapters/postgresql/tools/core/health.js +18 -4
  132. package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
  133. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
  134. package/dist/adapters/postgresql/tools/core/indexes.js +48 -6
  135. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
  136. package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
  137. package/dist/adapters/postgresql/tools/core/objects.js +104 -85
  138. package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
  139. package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
  140. package/dist/adapters/postgresql/tools/core/query.js +100 -42
  141. package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
  142. package/dist/adapters/postgresql/tools/core/schemas.d.ts +51 -25
  143. package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
  144. package/dist/adapters/postgresql/tools/core/schemas.js +51 -25
  145. package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
  146. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
  147. package/dist/adapters/postgresql/tools/core/tables.js +72 -32
  148. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
  149. package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -1
  150. package/dist/adapters/postgresql/tools/cron.js +333 -206
  151. package/dist/adapters/postgresql/tools/cron.js.map +1 -1
  152. package/dist/adapters/postgresql/tools/introspection.d.ts +15 -0
  153. package/dist/adapters/postgresql/tools/introspection.d.ts.map +1 -0
  154. package/dist/adapters/postgresql/tools/introspection.js +1682 -0
  155. package/dist/adapters/postgresql/tools/introspection.js.map +1 -0
  156. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
  157. package/dist/adapters/postgresql/tools/jsonb/advanced.js +394 -297
  158. package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -1
  159. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -1
  160. package/dist/adapters/postgresql/tools/jsonb/basic.js +686 -398
  161. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
  162. package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
  163. package/dist/adapters/postgresql/tools/kcache.js +278 -246
  164. package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
  165. package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
  166. package/dist/adapters/postgresql/tools/ltree.js +137 -38
  167. package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
  168. package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -1
  169. package/dist/adapters/postgresql/tools/monitoring.js +86 -55
  170. package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
  171. package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -1
  172. package/dist/adapters/postgresql/tools/partitioning.js +79 -15
  173. package/dist/adapters/postgresql/tools/partitioning.js.map +1 -1
  174. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
  175. package/dist/adapters/postgresql/tools/partman/management.js +43 -56
  176. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
  177. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
  178. package/dist/adapters/postgresql/tools/partman/operations.js +137 -24
  179. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
  180. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
  181. package/dist/adapters/postgresql/tools/performance/analysis.js +276 -165
  182. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
  183. package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -1
  184. package/dist/adapters/postgresql/tools/performance/explain.js +61 -21
  185. package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -1
  186. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
  187. package/dist/adapters/postgresql/tools/performance/monitoring.js +52 -12
  188. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
  189. package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
  190. package/dist/adapters/postgresql/tools/performance/optimization.js +92 -81
  191. package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
  192. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
  193. package/dist/adapters/postgresql/tools/performance/stats.js +182 -60
  194. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
  195. package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
  196. package/dist/adapters/postgresql/tools/pgcrypto.js +277 -102
  197. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
  198. package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
  199. package/dist/adapters/postgresql/tools/postgis/advanced.js +298 -230
  200. package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
  201. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
  202. package/dist/adapters/postgresql/tools/postgis/basic.js +370 -251
  203. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
  204. package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -1
  205. package/dist/adapters/postgresql/tools/postgis/standalone.js +135 -51
  206. package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -1
  207. package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -1
  208. package/dist/adapters/postgresql/tools/schema.js +580 -233
  209. package/dist/adapters/postgresql/tools/schema.js.map +1 -1
  210. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
  211. package/dist/adapters/postgresql/tools/stats/advanced.js +567 -506
  212. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
  213. package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
  214. package/dist/adapters/postgresql/tools/stats/basic.js +340 -316
  215. package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
  216. package/dist/adapters/postgresql/tools/text.d.ts.map +1 -1
  217. package/dist/adapters/postgresql/tools/text.js +690 -337
  218. package/dist/adapters/postgresql/tools/text.js.map +1 -1
  219. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  220. package/dist/adapters/postgresql/tools/transactions.js +157 -50
  221. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  222. package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -1
  223. package/dist/adapters/postgresql/tools/vector/advanced.js +18 -0
  224. package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
  225. package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
  226. package/dist/adapters/postgresql/tools/vector/basic.js +100 -53
  227. package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
  228. package/dist/auth/auth-context.d.ts +28 -0
  229. package/dist/auth/auth-context.d.ts.map +1 -0
  230. package/dist/auth/auth-context.js +37 -0
  231. package/dist/auth/auth-context.js.map +1 -0
  232. package/dist/auth/scope-map.d.ts +20 -0
  233. package/dist/auth/scope-map.d.ts.map +1 -0
  234. package/dist/auth/scope-map.js +40 -0
  235. package/dist/auth/scope-map.js.map +1 -0
  236. package/dist/auth/scopes.d.ts.map +1 -1
  237. package/dist/auth/scopes.js +2 -0
  238. package/dist/auth/scopes.js.map +1 -1
  239. package/dist/cli.js +1 -1
  240. package/dist/cli.js.map +1 -1
  241. package/dist/codemode/api.d.ts +1 -0
  242. package/dist/codemode/api.d.ts.map +1 -1
  243. package/dist/codemode/api.js +35 -1
  244. package/dist/codemode/api.js.map +1 -1
  245. package/dist/codemode/index.d.ts +0 -2
  246. package/dist/codemode/index.d.ts.map +1 -1
  247. package/dist/codemode/index.js +0 -4
  248. package/dist/codemode/index.js.map +1 -1
  249. package/dist/codemode/sandbox.d.ts +14 -1
  250. package/dist/codemode/sandbox.d.ts.map +1 -1
  251. package/dist/codemode/sandbox.js +58 -19
  252. package/dist/codemode/sandbox.js.map +1 -1
  253. package/dist/codemode/types.d.ts.map +1 -1
  254. package/dist/codemode/types.js +3 -0
  255. package/dist/codemode/types.js.map +1 -1
  256. package/dist/constants/ServerInstructions.d.ts +5 -1
  257. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  258. package/dist/constants/ServerInstructions.js +117 -31
  259. package/dist/constants/ServerInstructions.js.map +1 -1
  260. package/dist/filtering/ToolConstants.d.ts +22 -19
  261. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  262. package/dist/filtering/ToolConstants.js +48 -37
  263. package/dist/filtering/ToolConstants.js.map +1 -1
  264. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  265. package/dist/filtering/ToolFilter.js +10 -13
  266. package/dist/filtering/ToolFilter.js.map +1 -1
  267. package/dist/pool/ConnectionPool.js +1 -1
  268. package/dist/pool/ConnectionPool.js.map +1 -1
  269. package/dist/transports/http.d.ts +1 -0
  270. package/dist/transports/http.d.ts.map +1 -1
  271. package/dist/transports/http.js +75 -21
  272. package/dist/transports/http.js.map +1 -1
  273. package/dist/types/filtering.d.ts +2 -2
  274. package/dist/types/filtering.d.ts.map +1 -1
  275. package/dist/utils/icons.d.ts.map +1 -1
  276. package/dist/utils/icons.js +5 -0
  277. package/dist/utils/icons.js.map +1 -1
  278. package/dist/utils/where-clause.d.ts.map +1 -1
  279. package/dist/utils/where-clause.js +24 -0
  280. package/dist/utils/where-clause.js.map +1 -1
  281. package/package.json +20 -13
  282. package/dist/codemode/sandbox-factory.d.ts +0 -72
  283. package/dist/codemode/sandbox-factory.d.ts.map +0 -1
  284. package/dist/codemode/sandbox-factory.js +0 -88
  285. package/dist/codemode/sandbox-factory.js.map +0 -1
  286. package/dist/codemode/worker-sandbox.d.ts +0 -82
  287. package/dist/codemode/worker-sandbox.d.ts.map +0 -1
  288. package/dist/codemode/worker-sandbox.js +0 -244
  289. package/dist/codemode/worker-sandbox.js.map +0 -1
  290. package/dist/codemode/worker-script.d.ts +0 -8
  291. package/dist/codemode/worker-script.d.ts.map +0 -1
  292. package/dist/codemode/worker-script.js +0 -113
  293. package/dist/codemode/worker-script.js.map +0 -1
@@ -4,9 +4,11 @@
4
4
  * Database maintenance: VACUUM, ANALYZE, REINDEX, configuration.
5
5
  * 10 tools total.
6
6
  */
7
- import { z } from "zod";
7
+ import { z, ZodError } from "zod";
8
8
  import { admin, destructive } from "../../../utils/annotations.js";
9
9
  import { getToolIcons } from "../../../utils/icons.js";
10
+ import { formatPostgresError } from "./core/error-helpers.js";
11
+ import { sanitizeIdentifier, sanitizeIdentifiers, sanitizeTableName, } from "../../../utils/identifiers.js";
10
12
  import { buildProgressContext, sendProgress, } from "../../../utils/progress-utils.js";
11
13
  import { VacuumSchema, VacuumSchemaBase, VacuumOutputSchema, AnalyzeSchema, AnalyzeSchemaBase, AnalyzeOutputSchema, ReindexSchema, ReindexSchemaBase, ReindexOutputSchema, ClusterOutputSchema, TerminateBackendSchema, TerminateBackendSchemaBase, CancelBackendSchema, CancelBackendSchemaBase, BackendOutputSchema, ConfigOutputSchema, } from "../schemas/index.js";
12
14
  /**
@@ -36,36 +38,40 @@ function createVacuumTool(adapter) {
36
38
  annotations: admin("Vacuum"),
37
39
  icons: getToolIcons("admin", admin("Vacuum")),
38
40
  handler: async (params, context) => {
39
- const progress = buildProgressContext(context);
40
- await sendProgress(progress, 1, 2, "Starting VACUUM...");
41
- const { table, schema, full, verbose, analyze } = VacuumSchema.parse(params);
42
- const fullClause = full === true ? "FULL " : "";
43
- const verboseClause = verbose === true ? "VERBOSE " : "";
44
- const analyzeClause = analyze === true ? "ANALYZE " : "";
45
- const target = table !== undefined
46
- ? schema !== undefined
47
- ? `"${schema}"."${table}"`
48
- : `"${table}"`
49
- : "";
50
- const sql = `VACUUM ${fullClause}${verboseClause}${analyzeClause}${target}`;
51
- await adapter.executeQuery(sql);
52
- await sendProgress(progress, 2, 2, "VACUUM complete");
53
- // Build accurate message reflecting all options used
54
- const parts = ["VACUUM"];
55
- if (full === true)
56
- parts.push("FULL");
57
- if (analyze === true)
58
- parts.push("ANALYZE");
59
- const message = `${parts.join(" ")} completed`;
60
- return {
61
- success: true,
62
- message,
63
- ...(table !== undefined && { table }),
64
- ...(schema !== undefined && { schema }),
65
- ...(verbose === true && {
66
- hint: "Verbose output written to PostgreSQL server logs",
67
- }),
68
- };
41
+ try {
42
+ const progress = buildProgressContext(context);
43
+ await sendProgress(progress, 1, 2, "Starting VACUUM...");
44
+ const { table, schema, full, verbose, analyze } = VacuumSchema.parse(params);
45
+ const fullClause = full === true ? "FULL " : "";
46
+ const verboseClause = verbose === true ? "VERBOSE " : "";
47
+ const analyzeClause = analyze === true ? "ANALYZE " : "";
48
+ const target = table !== undefined ? sanitizeTableName(table, schema) : "";
49
+ const sql = `VACUUM ${fullClause}${verboseClause}${analyzeClause}${target}`;
50
+ await adapter.executeQuery(sql);
51
+ await sendProgress(progress, 2, 2, "VACUUM complete");
52
+ // Build accurate message reflecting all options used
53
+ const parts = ["VACUUM"];
54
+ if (full === true)
55
+ parts.push("FULL");
56
+ if (analyze === true)
57
+ parts.push("ANALYZE");
58
+ const message = `${parts.join(" ")} completed`;
59
+ return {
60
+ success: true,
61
+ message,
62
+ ...(table !== undefined && { table }),
63
+ ...(schema !== undefined && { schema }),
64
+ ...(verbose === true && {
65
+ hint: "Verbose output written to PostgreSQL server logs",
66
+ }),
67
+ };
68
+ }
69
+ catch (error) {
70
+ return {
71
+ success: false,
72
+ error: formatPostgresError(error, { tool: "pg_vacuum" }),
73
+ };
74
+ }
69
75
  },
70
76
  };
71
77
  }
@@ -79,32 +85,36 @@ function createVacuumAnalyzeTool(adapter) {
79
85
  annotations: admin("Vacuum Analyze"),
80
86
  icons: getToolIcons("admin", admin("Vacuum Analyze")),
81
87
  handler: async (params, context) => {
82
- const progress = buildProgressContext(context);
83
- await sendProgress(progress, 1, 2, "Starting VACUUM ANALYZE...");
84
- const { table, schema, verbose, full } = VacuumSchema.parse(params);
85
- const fullClause = full === true ? "FULL " : "";
86
- const verboseClause = verbose === true ? "VERBOSE " : "";
87
- const target = table !== undefined
88
- ? schema !== undefined
89
- ? `"${schema}"."${table}"`
90
- : `"${table}"`
91
- : "";
92
- const sql = `VACUUM ${fullClause}${verboseClause}ANALYZE ${target}`;
93
- await adapter.executeQuery(sql);
94
- await sendProgress(progress, 2, 2, "VACUUM ANALYZE complete");
95
- // Build accurate message
96
- const message = full === true
97
- ? "VACUUM FULL ANALYZE completed"
98
- : "VACUUM ANALYZE completed";
99
- return {
100
- success: true,
101
- message,
102
- ...(table !== undefined && { table }),
103
- ...(schema !== undefined && { schema }),
104
- ...(verbose === true && {
105
- hint: "Verbose output written to PostgreSQL server logs",
106
- }),
107
- };
88
+ try {
89
+ const progress = buildProgressContext(context);
90
+ await sendProgress(progress, 1, 2, "Starting VACUUM ANALYZE...");
91
+ const { table, schema, verbose, full } = VacuumSchema.parse(params);
92
+ const fullClause = full === true ? "FULL " : "";
93
+ const verboseClause = verbose === true ? "VERBOSE " : "";
94
+ const target = table !== undefined ? sanitizeTableName(table, schema) : "";
95
+ const sql = `VACUUM ${fullClause}${verboseClause}ANALYZE ${target}`;
96
+ await adapter.executeQuery(sql);
97
+ await sendProgress(progress, 2, 2, "VACUUM ANALYZE complete");
98
+ // Build accurate message
99
+ const message = full === true
100
+ ? "VACUUM FULL ANALYZE completed"
101
+ : "VACUUM ANALYZE completed";
102
+ return {
103
+ success: true,
104
+ message,
105
+ ...(table !== undefined && { table }),
106
+ ...(schema !== undefined && { schema }),
107
+ ...(verbose === true && {
108
+ hint: "Verbose output written to PostgreSQL server logs",
109
+ }),
110
+ };
111
+ }
112
+ catch (error) {
113
+ return {
114
+ success: false,
115
+ error: formatPostgresError(error, { tool: "pg_vacuum_analyze" }),
116
+ };
117
+ }
108
118
  },
109
119
  };
110
120
  }
@@ -118,31 +128,40 @@ function createAnalyzeTool(adapter) {
118
128
  annotations: admin("Analyze"),
119
129
  icons: getToolIcons("admin", admin("Analyze")),
120
130
  handler: async (params, context) => {
121
- const progress = buildProgressContext(context);
122
- await sendProgress(progress, 1, 2, "Starting ANALYZE...");
123
- const { table, schema, columns } = AnalyzeSchema.parse(params);
124
- // Validate: columns requires table
125
- if (columns !== undefined && columns.length > 0 && table === undefined) {
126
- throw new Error("table is required when columns is specified");
131
+ try {
132
+ const progress = buildProgressContext(context);
133
+ await sendProgress(progress, 1, 2, "Starting ANALYZE...");
134
+ const { table, schema, columns } = AnalyzeSchema.parse(params);
135
+ // Validate: columns requires table
136
+ if (columns !== undefined &&
137
+ columns.length > 0 &&
138
+ table === undefined) {
139
+ return {
140
+ success: false,
141
+ error: "table is required when columns is specified",
142
+ };
143
+ }
144
+ const target = table !== undefined ? sanitizeTableName(table, schema) : "";
145
+ const columnClause = columns !== undefined && columns.length > 0
146
+ ? `(${sanitizeIdentifiers(columns).join(", ")})`
147
+ : "";
148
+ const sql = `ANALYZE ${target}${columnClause}`;
149
+ await adapter.executeQuery(sql);
150
+ await sendProgress(progress, 2, 2, "ANALYZE complete");
151
+ return {
152
+ success: true,
153
+ message: "ANALYZE completed",
154
+ ...(table !== undefined && { table }),
155
+ ...(schema !== undefined && { schema }),
156
+ ...(columns !== undefined && columns.length > 0 && { columns }),
157
+ };
158
+ }
159
+ catch (error) {
160
+ return {
161
+ success: false,
162
+ error: formatPostgresError(error, { tool: "pg_analyze" }),
163
+ };
127
164
  }
128
- const target = table !== undefined
129
- ? schema !== undefined
130
- ? `"${schema}"."${table}"`
131
- : `"${table}"`
132
- : "";
133
- const columnClause = columns !== undefined && columns.length > 0
134
- ? `(${columns.map((c) => `"${c}"`).join(", ")})`
135
- : "";
136
- const sql = `ANALYZE ${target}${columnClause}`;
137
- await adapter.executeQuery(sql);
138
- await sendProgress(progress, 2, 2, "ANALYZE complete");
139
- return {
140
- success: true,
141
- message: "ANALYZE completed",
142
- ...(table !== undefined && { table }),
143
- ...(schema !== undefined && { schema }),
144
- ...(columns !== undefined && columns.length > 0 && { columns }),
145
- };
146
165
  },
147
166
  };
148
167
  }
@@ -156,29 +175,45 @@ function createReindexTool(adapter) {
156
175
  annotations: admin("Reindex"),
157
176
  icons: getToolIcons("admin", admin("Reindex")),
158
177
  handler: async (params, context) => {
159
- const progress = buildProgressContext(context);
160
- await sendProgress(progress, 1, 3, "Starting REINDEX...");
161
- const parsed = ReindexSchema.parse(params);
162
- const concurrentlyClause = parsed.concurrently === true ? "CONCURRENTLY " : "";
163
- // Auto-default to current database when target is 'database' and name is not provided
164
- let effectiveName = parsed.name;
165
- if (parsed.target === "database" && effectiveName === undefined) {
166
- const dbResult = await adapter.executeQuery("SELECT current_database()");
167
- const dbName = dbResult.rows?.[0]?.["current_database"];
168
- effectiveName = typeof dbName === "string" ? dbName : "";
178
+ let parsedTarget;
179
+ try {
180
+ const progress = buildProgressContext(context);
181
+ await sendProgress(progress, 1, 3, "Starting REINDEX...");
182
+ const parsed = ReindexSchema.parse(params);
183
+ parsedTarget = parsed.target;
184
+ const concurrentlyClause = parsed.concurrently === true ? "CONCURRENTLY " : "";
185
+ // Auto-default to current database when target is 'database' and name is not provided
186
+ let effectiveName = parsed.name;
187
+ if (parsed.target === "database" && effectiveName === undefined) {
188
+ const dbResult = await adapter.executeQuery("SELECT current_database()");
189
+ const dbName = dbResult.rows?.[0]?.["current_database"];
190
+ effectiveName = typeof dbName === "string" ? dbName : "";
191
+ }
192
+ await sendProgress(progress, 2, 3, `Reindexing ${parsed.target}...`);
193
+ // name should always be defined at this point (refine ensures it for non-database targets)
194
+ if (effectiveName === undefined) {
195
+ return {
196
+ success: false,
197
+ error: "name is required",
198
+ };
199
+ }
200
+ const sql = `REINDEX ${parsed.target.toUpperCase()} ${concurrentlyClause}${sanitizeIdentifier(effectiveName)}`;
201
+ await adapter.executeQuery(sql);
202
+ await sendProgress(progress, 3, 3, "REINDEX complete");
203
+ return {
204
+ success: true,
205
+ message: `Reindexed ${parsed.target}: ${effectiveName}`,
206
+ };
169
207
  }
170
- await sendProgress(progress, 2, 3, `Reindexing ${parsed.target}...`);
171
- // name should always be defined at this point (refine ensures it for non-database targets)
172
- if (effectiveName === undefined) {
173
- throw new Error("name is required");
208
+ catch (error) {
209
+ return {
210
+ success: false,
211
+ error: formatPostgresError(error, {
212
+ tool: "pg_reindex",
213
+ ...(parsedTarget !== undefined && { target: parsedTarget }),
214
+ }),
215
+ };
174
216
  }
175
- const sql = `REINDEX ${parsed.target.toUpperCase()} ${concurrentlyClause}"${effectiveName}"`;
176
- await adapter.executeQuery(sql);
177
- await sendProgress(progress, 3, 3, "REINDEX complete");
178
- return {
179
- success: true,
180
- message: `Reindexed ${parsed.target}: ${effectiveName}`,
181
- };
182
217
  },
183
218
  };
184
219
  }
@@ -192,15 +227,25 @@ function createTerminateBackendTool(adapter) {
192
227
  annotations: destructive("Terminate Backend"),
193
228
  icons: getToolIcons("admin", destructive("Terminate Backend")),
194
229
  handler: async (params, _context) => {
195
- const { pid } = TerminateBackendSchema.parse(params);
196
- const sql = `SELECT pg_terminate_backend($1)`;
197
- const result = await adapter.executeQuery(sql, [pid]);
198
- const terminated = result.rows?.[0]?.["pg_terminate_backend"] === true;
199
- return {
200
- success: terminated,
201
- pid,
202
- message: terminated ? "Backend terminated" : "Failed to terminate",
203
- };
230
+ try {
231
+ const { pid } = TerminateBackendSchema.parse(params);
232
+ const sql = `SELECT pg_terminate_backend($1)`;
233
+ const result = await adapter.executeQuery(sql, [pid]);
234
+ const terminated = result.rows?.[0]?.["pg_terminate_backend"] === true;
235
+ return {
236
+ success: terminated,
237
+ pid,
238
+ message: terminated ? "Backend terminated" : "Failed to terminate",
239
+ };
240
+ }
241
+ catch (error) {
242
+ return {
243
+ success: false,
244
+ error: formatPostgresError(error, {
245
+ tool: "pg_terminate_backend",
246
+ }),
247
+ };
248
+ }
204
249
  },
205
250
  };
206
251
  }
@@ -214,15 +259,25 @@ function createCancelBackendTool(adapter) {
214
259
  annotations: admin("Cancel Backend"),
215
260
  icons: getToolIcons("admin", admin("Cancel Backend")),
216
261
  handler: async (params, _context) => {
217
- const { pid } = CancelBackendSchema.parse(params);
218
- const sql = `SELECT pg_cancel_backend($1)`;
219
- const result = await adapter.executeQuery(sql, [pid]);
220
- const cancelled = result.rows?.[0]?.["pg_cancel_backend"] === true;
221
- return {
222
- success: cancelled,
223
- pid,
224
- message: cancelled ? "Query cancelled" : "Failed to cancel",
225
- };
262
+ try {
263
+ const { pid } = CancelBackendSchema.parse(params);
264
+ const sql = `SELECT pg_cancel_backend($1)`;
265
+ const result = await adapter.executeQuery(sql, [pid]);
266
+ const cancelled = result.rows?.[0]?.["pg_cancel_backend"] === true;
267
+ return {
268
+ success: cancelled,
269
+ pid,
270
+ message: cancelled ? "Query cancelled" : "Failed to cancel",
271
+ };
272
+ }
273
+ catch (error) {
274
+ return {
275
+ success: false,
276
+ error: formatPostgresError(error, {
277
+ tool: "pg_cancel_backend",
278
+ }),
279
+ };
280
+ }
226
281
  },
227
282
  };
228
283
  }
@@ -236,12 +291,20 @@ function createReloadConfTool(adapter) {
236
291
  annotations: admin("Reload Configuration"),
237
292
  icons: getToolIcons("admin", admin("Reload Configuration")),
238
293
  handler: async (_params, _context) => {
239
- const sql = `SELECT pg_reload_conf()`;
240
- const result = await adapter.executeQuery(sql);
241
- return {
242
- success: result.rows?.[0]?.["pg_reload_conf"],
243
- message: "Configuration reloaded",
244
- };
294
+ try {
295
+ const sql = `SELECT pg_reload_conf()`;
296
+ const result = await adapter.executeQuery(sql);
297
+ return {
298
+ success: result.rows?.[0]?.["pg_reload_conf"],
299
+ message: "Configuration reloaded",
300
+ };
301
+ }
302
+ catch (error) {
303
+ return {
304
+ success: false,
305
+ error: formatPostgresError(error, { tool: "pg_reload_conf" }),
306
+ };
307
+ }
245
308
  },
246
309
  };
247
310
  }
@@ -291,56 +354,52 @@ function createSetConfigTool(adapter) {
291
354
  annotations: admin("Set Configuration"),
292
355
  icons: getToolIcons("admin", admin("Set Configuration")),
293
356
  handler: async (params, _context) => {
294
- const parsed = SetConfigSchema.parse(params);
295
- const local = parsed.isLocal ?? false;
296
- const sql = `SELECT set_config($1, $2, $3)`;
297
- const result = await adapter.executeQuery(sql, [
298
- parsed.name,
299
- parsed.value,
300
- local,
301
- ]);
302
- const actualValue = result.rows?.[0]?.["set_config"];
303
- return {
304
- success: true,
305
- message: `Set ${parsed.name} = ${actualValue}`,
306
- parameter: parsed.name,
307
- value: actualValue,
308
- };
357
+ try {
358
+ const parsed = SetConfigSchema.parse(params);
359
+ const local = parsed.isLocal ?? false;
360
+ const sql = `SELECT set_config($1, $2, $3)`;
361
+ const result = await adapter.executeQuery(sql, [
362
+ parsed.name,
363
+ parsed.value,
364
+ local,
365
+ ]);
366
+ const actualValue = result.rows?.[0]?.["set_config"];
367
+ return {
368
+ success: true,
369
+ message: `Set ${parsed.name} = ${actualValue}`,
370
+ parameter: parsed.name,
371
+ value: actualValue,
372
+ };
373
+ }
374
+ catch (error) {
375
+ return {
376
+ success: false,
377
+ error: formatPostgresError(error, { tool: "pg_set_config" }),
378
+ };
379
+ }
309
380
  },
310
381
  };
311
382
  }
312
- /**
313
- * Handle undefined/null params for tools with optional-only parameters
314
- */
315
- function normalizeOptionalParams(input) {
316
- if (typeof input !== "object" || input === null) {
317
- return {};
318
- }
319
- return input;
320
- }
321
- const ResetStatsSchema = z.preprocess(normalizeOptionalParams, z.object({
322
- type: z.enum(["database", "all"]).optional(),
323
- }));
324
383
  function createResetStatsTool(adapter) {
325
384
  return {
326
385
  name: "pg_reset_stats",
327
386
  description: "Reset statistics counters (requires superuser).",
328
387
  group: "admin",
329
- inputSchema: ResetStatsSchema,
388
+ inputSchema: z.object({}),
330
389
  outputSchema: ConfigOutputSchema,
331
390
  annotations: admin("Reset Statistics"),
332
391
  icons: getToolIcons("admin", admin("Reset Statistics")),
333
- handler: async (params, _context) => {
334
- const parsed = ResetStatsSchema.parse(params);
335
- let sql;
336
- if (parsed.type === "all") {
337
- sql = `SELECT pg_stat_reset()`;
392
+ handler: async (_params, _context) => {
393
+ try {
394
+ await adapter.executeQuery(`SELECT pg_stat_reset()`);
395
+ return { success: true, message: "Statistics reset" };
338
396
  }
339
- else {
340
- sql = `SELECT pg_stat_reset()`;
397
+ catch (error) {
398
+ return {
399
+ success: false,
400
+ error: formatPostgresError(error, { tool: "pg_reset_stats" }),
401
+ };
341
402
  }
342
- await adapter.executeQuery(sql);
343
- return { success: true, message: "Statistics reset" };
344
403
  },
345
404
  };
346
405
  }
@@ -363,6 +422,18 @@ function preprocessClusterParams(input) {
363
422
  if (result["indexName"] !== undefined && result["index"] === undefined) {
364
423
  result["index"] = result["indexName"];
365
424
  }
425
+ // Parse schema.table format (e.g., 'public.users' → { schema: 'public', table: 'users' })
426
+ const tableVal = result["table"];
427
+ if (typeof tableVal === "string" && tableVal.includes(".")) {
428
+ const parts = tableVal.split(".");
429
+ if (parts.length === 2 && parts[0] !== "" && parts[1] !== "") {
430
+ // Only override schema if not explicitly provided
431
+ if (result["schema"] === undefined) {
432
+ result["schema"] = parts[0];
433
+ }
434
+ result["table"] = parts[1];
435
+ }
436
+ }
366
437
  return result;
367
438
  }
368
439
  // Base schema for MCP visibility (shows all parameters and aliases)
@@ -412,35 +483,50 @@ function createClusterTool(adapter) {
412
483
  annotations: admin("Cluster Table"),
413
484
  icons: getToolIcons("admin", admin("Cluster Table")),
414
485
  handler: async (params, context) => {
415
- const progress = buildProgressContext(context);
416
- await sendProgress(progress, 1, 2, "Starting CLUSTER...");
417
- const parsed = ClusterSchema.parse(params);
418
- // Database-wide CLUSTER (all previously clustered tables)
419
- if (parsed.table === undefined) {
420
- await adapter.executeQuery("CLUSTER");
486
+ try {
487
+ const progress = buildProgressContext(context);
488
+ await sendProgress(progress, 1, 2, "Starting CLUSTER...");
489
+ const parsed = ClusterSchema.parse(params);
490
+ // Database-wide CLUSTER (all previously clustered tables)
491
+ if (parsed.table === undefined) {
492
+ await adapter.executeQuery("CLUSTER");
493
+ await sendProgress(progress, 2, 2, "CLUSTER complete");
494
+ return {
495
+ success: true,
496
+ message: "Re-clustered all previously-clustered tables",
497
+ };
498
+ }
499
+ // Table-specific CLUSTER
500
+ // index is guaranteed by schema refine when table is specified
501
+ if (parsed.index === undefined) {
502
+ return {
503
+ success: false,
504
+ error: "table and index must both be specified together, or both omitted for database-wide re-cluster",
505
+ };
506
+ }
507
+ const tableName = sanitizeTableName(parsed.table, parsed.schema);
508
+ const sql = `CLUSTER ${tableName} USING ${sanitizeIdentifier(parsed.index)}`;
509
+ await adapter.executeQuery(sql);
421
510
  await sendProgress(progress, 2, 2, "CLUSTER complete");
422
511
  return {
423
512
  success: true,
424
- message: "Re-clustered all previously-clustered tables",
513
+ message: `Clustered ${parsed.table} using index ${parsed.index}`,
514
+ table: parsed.table,
515
+ index: parsed.index,
425
516
  };
426
517
  }
427
- // Table-specific CLUSTER
428
- // index is guaranteed by schema refine when table is specified
429
- if (parsed.index === undefined) {
430
- throw new Error("table and index must both be specified together");
518
+ catch (error) {
519
+ if (error instanceof ZodError) {
520
+ return {
521
+ success: false,
522
+ error: error.issues.map((i) => i.message).join("; "),
523
+ };
524
+ }
525
+ return {
526
+ success: false,
527
+ error: formatPostgresError(error, { tool: "pg_cluster" }),
528
+ };
431
529
  }
432
- const tableName = parsed.schema !== undefined
433
- ? `"${parsed.schema}"."${parsed.table}"`
434
- : `"${parsed.table}"`;
435
- const sql = `CLUSTER ${tableName} USING "${parsed.index}"`;
436
- await adapter.executeQuery(sql);
437
- await sendProgress(progress, 2, 2, "CLUSTER complete");
438
- return {
439
- success: true,
440
- message: `Clustered ${parsed.table} using index ${parsed.index}`,
441
- table: parsed.table,
442
- index: parsed.index,
443
- };
444
530
  },
445
531
  };
446
532
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/admin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,OAAO;QACL,gBAAgB,CAAC,OAAO,CAAC;QACzB,uBAAuB,CAAC,OAAO,CAAC;QAChC,iBAAiB,CAAC,OAAO,CAAC;QAC1B,iBAAiB,CAAC,OAAO,CAAC;QAC1B,0BAA0B,CAAC,OAAO,CAAC;QACnC,uBAAuB,CAAC,OAAO,CAAC;QAChC,oBAAoB,CAAC,OAAO,CAAC;QAC7B,mBAAmB,CAAC,OAAO,CAAC;QAC5B,oBAAoB,CAAC,OAAO,CAAC;QAC7B,iBAAiB,CAAC,OAAO,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAwB;IAChD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,sJAAsJ;QACxJ,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,kBAAkB;QAChC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC5B,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,OAAuB,EAAE,EAAE;YAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAEzD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAC7C,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,aAAa,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GACV,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,MAAM,KAAK,SAAS;oBACpB,CAAC,CAAC,IAAI,MAAM,MAAM,KAAK,GAAG;oBAC1B,CAAC,CAAC,IAAI,KAAK,GAAG;gBAChB,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,GAAG,GAAG,UAAU,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,EAAE,CAAC;YAC5E,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAEhC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAEtD,qDAAqD;YACrD,MAAM,KAAK,GAAa,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YAE/C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;gBACrC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;gBACvC,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI;oBACtB,IAAI,EAAE,kDAAkD;iBACzD,CAAC;aACH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAwB;IACvD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,yGAAyG;QAC3G,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,kBAAkB;QAChC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACpC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,OAAuB,EAAE,EAAE;YAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAEjE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GACV,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,MAAM,KAAK,SAAS;oBACpB,CAAC,CAAC,IAAI,MAAM,MAAM,KAAK,GAAG;oBAC1B,CAAC,CAAC,IAAI,KAAK,GAAG;gBAChB,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,GAAG,GAAG,UAAU,UAAU,GAAG,aAAa,WAAW,MAAM,EAAE,CAAC;YACpE,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAEhC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAE9D,yBAAyB;YACzB,MAAM,OAAO,GACX,IAAI,KAAK,IAAI;gBACX,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,0BAA0B,CAAC;YAEjC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;gBACrC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;gBACvC,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI;oBACtB,IAAI,EAAE,kDAAkD;iBACzD,CAAC;aACH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAwB;IACjD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;QAC7B,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,OAAuB,EAAE,EAAE;YAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAE1D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/D,mCAAmC;YACnC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,MAAM,GACV,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,MAAM,KAAK,SAAS;oBACpB,CAAC,CAAC,IAAI,MAAM,MAAM,KAAK,GAAG;oBAC1B,CAAC,CAAC,IAAI,KAAK,GAAG;gBAChB,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,YAAY,GAChB,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBACzC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAChD,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,GAAG,GAAG,WAAW,MAAM,GAAG,YAAY,EAAE,CAAC;YAC/C,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAEhC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEvD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,mBAAmB;gBAC5B,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;gBACrC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;gBACvC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;aAChE,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAwB;IACjD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,iHAAiH;QACnH,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;QAC7B,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,OAAuB,EAAE,EAAE;YAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAIxC,CAAC;YACF,MAAM,kBAAkB,GACtB,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YAEtD,sFAAsF;YACtF,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;YAChC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CACzC,2BAA2B,CAC5B,CAAC;gBACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBACxD,aAAa,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,CAAC;YAED,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YAErE,2FAA2F;YAC3F,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,GAAG,GAAG,WAAW,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,kBAAkB,IAAI,aAAa,GAAG,CAAC;YAC7F,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAEhC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEvD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,aAAa,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE;aACxD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAwB;IAC1D,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,+DAA+D;QACjE,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,0BAA0B;QACvC,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,WAAW,CAAC,mBAAmB,CAAC;QAC7C,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAC9D,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,EAAE,GAAG,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,iCAAiC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,UAAU;gBACnB,GAAG;gBACH,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB;aACnE,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAwB;IACvD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,8DAA8D;QAC3E,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACpC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,8BAA8B,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;YACnE,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,GAAG;gBACH,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB;aAC5D,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAwB;IACpD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kDAAkD;QAC/D,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,YAAY,EAAE,kBAAkB;QAChC,WAAW,EAAE,KAAK,CAAC,sBAAsB,CAAC;QAC1C,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,OAAO,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAwB,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,yBAAyB,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC;gBAC7C,OAAO,EAAE,wBAAwB;aAClC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,GAAI,KAAiC,EAAE,CAAC;IACzD,sBAAsB;IACtB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,wBAAwB;IACxB,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oEAAoE;AACpE,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC9E,CAAC,CAAC;AAEH,iCAAiC;AACjC,MAAM,eAAe,GAAG,CAAC,CAAC,UAAU,CAClC,yBAAyB,EACzB,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACvC,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;CACjD,CAAC,CACH,CAAC;AAEF,SAAS,mBAAmB,CAAC,OAAwB;IACnD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,wDAAwD;QACrE,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,kBAAkB;QAChC,WAAW,EAAE,KAAK,CAAC,mBAAmB,CAAC;QACvC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;YACtC,MAAM,GAAG,GAAG,+BAA+B,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE;gBAC7C,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,KAAK;gBACZ,KAAK;aACN,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAW,CAAC;YAC/D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,OAAO,MAAM,CAAC,IAAI,MAAM,WAAW,EAAE;gBAC9C,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,KAAK,EAAE,WAAW;aACnB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,UAAU,CACnC,uBAAuB,EACvB,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CACH,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAwB;IACpD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,iDAAiD;QAC9D,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,kBAAkB;QAChC,WAAW,EAAE,KAAK,CAAC,kBAAkB,CAAC;QACtC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,GAAW,CAAC;YAChB,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,GAAG,GAAG,wBAAwB,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,wBAAwB,CAAC;YACjC,CAAC;YACD,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACxD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,GAAI,KAAiC,EAAE,CAAC;IACzD,2BAA2B;IAC3B,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IACD,2BAA2B;IAC3B,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oEAAoE;AACpE,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC5D,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;CACtD,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,aAAa,GAAG,CAAC;KACpB,UAAU,CACT,uBAAuB,EACvB,CAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACtE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CACH;KACA,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAA0C,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;IAC5C,sCAAsC;IACtC,OAAO,QAAQ,KAAK,QAAQ,CAAC;AAC/B,CAAC,EACD;IACE,OAAO,EACL,+FAA+F;CAClG,CACF,CAAC;AAEJ,SAAS,iBAAiB,CAAC,OAAwB;IACjD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,mHAAmH;QACrH,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC;QACnC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,OAAuB,EAAE,EAAE;YAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAIxC,CAAC;YAEF,0DAA0D;YAC1D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBACvD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,8CAA8C;iBACxD,CAAC;YACJ,CAAC;YAED,yBAAyB;YACzB,+DAA+D;YAC/D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,KAAK,SAAS;gBACzB,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,GAAG;gBACxC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC;YAC1B,MAAM,GAAG,GAAG,WAAW,SAAS,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC;YAC3D,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAEhC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEvD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,aAAa,MAAM,CAAC,KAAK,gBAAgB,MAAM,CAAC,KAAK,EAAE;gBAChE,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/admin.ts"],"names":[],"mappings":"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"}