@mcp-z/mcp-sheets 1.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 (363) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +181 -0
  3. package/bin/server.js +5 -0
  4. package/dist/cjs/constants.d.cts +7 -0
  5. package/dist/cjs/constants.d.ts +7 -0
  6. package/dist/cjs/constants.js +18 -0
  7. package/dist/cjs/constants.js.map +1 -0
  8. package/dist/cjs/index.d.cts +8 -0
  9. package/dist/cjs/index.d.ts +8 -0
  10. package/dist/cjs/index.js +314 -0
  11. package/dist/cjs/index.js.map +1 -0
  12. package/dist/cjs/lib/create-store.d.cts +2 -0
  13. package/dist/cjs/lib/create-store.d.ts +2 -0
  14. package/dist/cjs/lib/create-store.js +166 -0
  15. package/dist/cjs/lib/create-store.js.map +1 -0
  16. package/dist/cjs/mcp/index.d.cts +3 -0
  17. package/dist/cjs/mcp/index.d.ts +3 -0
  18. package/dist/cjs/mcp/index.js +66 -0
  19. package/dist/cjs/mcp/index.js.map +1 -0
  20. package/dist/cjs/mcp/prompts/a1-notation.d.cts +19 -0
  21. package/dist/cjs/mcp/prompts/a1-notation.d.ts +19 -0
  22. package/dist/cjs/mcp/prompts/a1-notation.js +169 -0
  23. package/dist/cjs/mcp/prompts/a1-notation.js.map +1 -0
  24. package/dist/cjs/mcp/prompts/index.d.cts +1 -0
  25. package/dist/cjs/mcp/prompts/index.d.ts +1 -0
  26. package/dist/cjs/mcp/prompts/index.js +17 -0
  27. package/dist/cjs/mcp/prompts/index.js.map +1 -0
  28. package/dist/cjs/mcp/resources/index.d.cts +1 -0
  29. package/dist/cjs/mcp/resources/index.d.ts +1 -0
  30. package/dist/cjs/mcp/resources/index.js +17 -0
  31. package/dist/cjs/mcp/resources/index.js.map +1 -0
  32. package/dist/cjs/mcp/resources/spreadsheet.d.cts +2 -0
  33. package/dist/cjs/mcp/resources/spreadsheet.d.ts +2 -0
  34. package/dist/cjs/mcp/resources/spreadsheet.js +258 -0
  35. package/dist/cjs/mcp/resources/spreadsheet.js.map +1 -0
  36. package/dist/cjs/mcp/tools/cells-format.d.cts +144 -0
  37. package/dist/cjs/mcp/tools/cells-format.d.ts +144 -0
  38. package/dist/cjs/mcp/tools/cells-format.js +484 -0
  39. package/dist/cjs/mcp/tools/cells-format.js.map +1 -0
  40. package/dist/cjs/mcp/tools/chart-create.d.cts +94 -0
  41. package/dist/cjs/mcp/tools/chart-create.d.ts +94 -0
  42. package/dist/cjs/mcp/tools/chart-create.js +575 -0
  43. package/dist/cjs/mcp/tools/chart-create.js.map +1 -0
  44. package/dist/cjs/mcp/tools/columns-get.d.cts +55 -0
  45. package/dist/cjs/mcp/tools/columns-get.d.ts +55 -0
  46. package/dist/cjs/mcp/tools/columns-get.js +289 -0
  47. package/dist/cjs/mcp/tools/columns-get.js.map +1 -0
  48. package/dist/cjs/mcp/tools/columns-update.d.cts +86 -0
  49. package/dist/cjs/mcp/tools/columns-update.d.ts +86 -0
  50. package/dist/cjs/mcp/tools/columns-update.js +482 -0
  51. package/dist/cjs/mcp/tools/columns-update.js.map +1 -0
  52. package/dist/cjs/mcp/tools/csv-get-columns.d.cts +43 -0
  53. package/dist/cjs/mcp/tools/csv-get-columns.d.ts +43 -0
  54. package/dist/cjs/mcp/tools/csv-get-columns.js +386 -0
  55. package/dist/cjs/mcp/tools/csv-get-columns.js.map +1 -0
  56. package/dist/cjs/mcp/tools/dimensions-batch-update.d.cts +118 -0
  57. package/dist/cjs/mcp/tools/dimensions-batch-update.d.ts +118 -0
  58. package/dist/cjs/mcp/tools/dimensions-batch-update.js +504 -0
  59. package/dist/cjs/mcp/tools/dimensions-batch-update.js.map +1 -0
  60. package/dist/cjs/mcp/tools/dimensions-move.d.cts +86 -0
  61. package/dist/cjs/mcp/tools/dimensions-move.d.ts +86 -0
  62. package/dist/cjs/mcp/tools/dimensions-move.js +359 -0
  63. package/dist/cjs/mcp/tools/dimensions-move.js.map +1 -0
  64. package/dist/cjs/mcp/tools/index.d.cts +26 -0
  65. package/dist/cjs/mcp/tools/index.d.ts +26 -0
  66. package/dist/cjs/mcp/tools/index.js +122 -0
  67. package/dist/cjs/mcp/tools/index.js.map +1 -0
  68. package/dist/cjs/mcp/tools/lib/dimension-operations.d.cts +48 -0
  69. package/dist/cjs/mcp/tools/lib/dimension-operations.d.ts +48 -0
  70. package/dist/cjs/mcp/tools/lib/dimension-operations.js +177 -0
  71. package/dist/cjs/mcp/tools/lib/dimension-operations.js.map +1 -0
  72. package/dist/cjs/mcp/tools/rows-append.d.cts +58 -0
  73. package/dist/cjs/mcp/tools/rows-append.d.ts +58 -0
  74. package/dist/cjs/mcp/tools/rows-append.js +335 -0
  75. package/dist/cjs/mcp/tools/rows-append.js.map +1 -0
  76. package/dist/cjs/mcp/tools/rows-csv-append.d.cts +67 -0
  77. package/dist/cjs/mcp/tools/rows-csv-append.d.ts +67 -0
  78. package/dist/cjs/mcp/tools/rows-csv-append.js +859 -0
  79. package/dist/cjs/mcp/tools/rows-csv-append.js.map +1 -0
  80. package/dist/cjs/mcp/tools/rows-get.d.cts +56 -0
  81. package/dist/cjs/mcp/tools/rows-get.d.ts +56 -0
  82. package/dist/cjs/mcp/tools/rows-get.js +292 -0
  83. package/dist/cjs/mcp/tools/rows-get.js.map +1 -0
  84. package/dist/cjs/mcp/tools/sheet-copy-to.d.cts +68 -0
  85. package/dist/cjs/mcp/tools/sheet-copy-to.d.ts +68 -0
  86. package/dist/cjs/mcp/tools/sheet-copy-to.js +341 -0
  87. package/dist/cjs/mcp/tools/sheet-copy-to.js.map +1 -0
  88. package/dist/cjs/mcp/tools/sheet-copy.d.cts +80 -0
  89. package/dist/cjs/mcp/tools/sheet-copy.d.ts +80 -0
  90. package/dist/cjs/mcp/tools/sheet-copy.js +394 -0
  91. package/dist/cjs/mcp/tools/sheet-copy.js.map +1 -0
  92. package/dist/cjs/mcp/tools/sheet-create.d.cts +56 -0
  93. package/dist/cjs/mcp/tools/sheet-create.d.ts +56 -0
  94. package/dist/cjs/mcp/tools/sheet-create.js +283 -0
  95. package/dist/cjs/mcp/tools/sheet-create.js.map +1 -0
  96. package/dist/cjs/mcp/tools/sheet-delete.d.cts +62 -0
  97. package/dist/cjs/mcp/tools/sheet-delete.d.ts +62 -0
  98. package/dist/cjs/mcp/tools/sheet-delete.js +341 -0
  99. package/dist/cjs/mcp/tools/sheet-delete.js.map +1 -0
  100. package/dist/cjs/mcp/tools/sheet-find.d.cts +48 -0
  101. package/dist/cjs/mcp/tools/sheet-find.d.ts +48 -0
  102. package/dist/cjs/mcp/tools/sheet-find.js +261 -0
  103. package/dist/cjs/mcp/tools/sheet-find.js.map +1 -0
  104. package/dist/cjs/mcp/tools/sheet-rename.d.cts +60 -0
  105. package/dist/cjs/mcp/tools/sheet-rename.d.ts +60 -0
  106. package/dist/cjs/mcp/tools/sheet-rename.js +305 -0
  107. package/dist/cjs/mcp/tools/sheet-rename.js.map +1 -0
  108. package/dist/cjs/mcp/tools/spreadsheet-copy.d.cts +58 -0
  109. package/dist/cjs/mcp/tools/spreadsheet-copy.d.ts +58 -0
  110. package/dist/cjs/mcp/tools/spreadsheet-copy.js +319 -0
  111. package/dist/cjs/mcp/tools/spreadsheet-copy.js.map +1 -0
  112. package/dist/cjs/mcp/tools/spreadsheet-create.d.cts +52 -0
  113. package/dist/cjs/mcp/tools/spreadsheet-create.d.ts +52 -0
  114. package/dist/cjs/mcp/tools/spreadsheet-create.js +270 -0
  115. package/dist/cjs/mcp/tools/spreadsheet-create.js.map +1 -0
  116. package/dist/cjs/mcp/tools/spreadsheet-find.d.cts +58 -0
  117. package/dist/cjs/mcp/tools/spreadsheet-find.d.ts +58 -0
  118. package/dist/cjs/mcp/tools/spreadsheet-find.js +334 -0
  119. package/dist/cjs/mcp/tools/spreadsheet-find.js.map +1 -0
  120. package/dist/cjs/mcp/tools/spreadsheet-rename.d.cts +56 -0
  121. package/dist/cjs/mcp/tools/spreadsheet-rename.d.ts +56 -0
  122. package/dist/cjs/mcp/tools/spreadsheet-rename.js +289 -0
  123. package/dist/cjs/mcp/tools/spreadsheet-rename.js.map +1 -0
  124. package/dist/cjs/mcp/tools/validation-set.d.cts +144 -0
  125. package/dist/cjs/mcp/tools/validation-set.d.ts +144 -0
  126. package/dist/cjs/mcp/tools/validation-set.js +564 -0
  127. package/dist/cjs/mcp/tools/validation-set.js.map +1 -0
  128. package/dist/cjs/mcp/tools/values-batch-update.d.cts +102 -0
  129. package/dist/cjs/mcp/tools/values-batch-update.d.ts +102 -0
  130. package/dist/cjs/mcp/tools/values-batch-update.js +409 -0
  131. package/dist/cjs/mcp/tools/values-batch-update.js.map +1 -0
  132. package/dist/cjs/mcp/tools/values-clear.d.cts +56 -0
  133. package/dist/cjs/mcp/tools/values-clear.d.ts +56 -0
  134. package/dist/cjs/mcp/tools/values-clear.js +308 -0
  135. package/dist/cjs/mcp/tools/values-clear.js.map +1 -0
  136. package/dist/cjs/mcp/tools/values-csv-update.d.cts +75 -0
  137. package/dist/cjs/mcp/tools/values-csv-update.d.ts +75 -0
  138. package/dist/cjs/mcp/tools/values-csv-update.js +500 -0
  139. package/dist/cjs/mcp/tools/values-csv-update.js.map +1 -0
  140. package/dist/cjs/mcp/tools/values-replace.d.cts +68 -0
  141. package/dist/cjs/mcp/tools/values-replace.d.ts +68 -0
  142. package/dist/cjs/mcp/tools/values-replace.js +378 -0
  143. package/dist/cjs/mcp/tools/values-replace.js.map +1 -0
  144. package/dist/cjs/mcp/tools/values-search.d.cts +74 -0
  145. package/dist/cjs/mcp/tools/values-search.d.ts +74 -0
  146. package/dist/cjs/mcp/tools/values-search.js +470 -0
  147. package/dist/cjs/mcp/tools/values-search.js.map +1 -0
  148. package/dist/cjs/package.json +1 -0
  149. package/dist/cjs/schemas/index.d.cts +14 -0
  150. package/dist/cjs/schemas/index.d.ts +14 -0
  151. package/dist/cjs/schemas/index.js +64 -0
  152. package/dist/cjs/schemas/index.js.map +1 -0
  153. package/dist/cjs/setup/config.d.cts +44 -0
  154. package/dist/cjs/setup/config.d.ts +44 -0
  155. package/dist/cjs/setup/config.js +201 -0
  156. package/dist/cjs/setup/config.js.map +1 -0
  157. package/dist/cjs/setup/http.d.cts +8 -0
  158. package/dist/cjs/setup/http.d.ts +8 -0
  159. package/dist/cjs/setup/http.js +260 -0
  160. package/dist/cjs/setup/http.js.map +1 -0
  161. package/dist/cjs/setup/index.d.cts +5 -0
  162. package/dist/cjs/setup/index.d.ts +5 -0
  163. package/dist/cjs/setup/index.js +46 -0
  164. package/dist/cjs/setup/index.js.map +1 -0
  165. package/dist/cjs/setup/oauth-google.d.cts +54 -0
  166. package/dist/cjs/setup/oauth-google.d.ts +54 -0
  167. package/dist/cjs/setup/oauth-google.js +332 -0
  168. package/dist/cjs/setup/oauth-google.js.map +1 -0
  169. package/dist/cjs/setup/runtime.d.cts +10 -0
  170. package/dist/cjs/setup/runtime.d.ts +10 -0
  171. package/dist/cjs/setup/runtime.js +353 -0
  172. package/dist/cjs/setup/runtime.js.map +1 -0
  173. package/dist/cjs/setup/stdio.d.cts +7 -0
  174. package/dist/cjs/setup/stdio.d.ts +7 -0
  175. package/dist/cjs/setup/stdio.js +239 -0
  176. package/dist/cjs/setup/stdio.js.map +1 -0
  177. package/dist/cjs/spreadsheet/column-utilities.d.cts +1 -0
  178. package/dist/cjs/spreadsheet/column-utilities.d.ts +1 -0
  179. package/dist/cjs/spreadsheet/column-utilities.js +21 -0
  180. package/dist/cjs/spreadsheet/column-utilities.js.map +1 -0
  181. package/dist/cjs/spreadsheet/csv-streaming.d.cts +19 -0
  182. package/dist/cjs/spreadsheet/csv-streaming.d.ts +19 -0
  183. package/dist/cjs/spreadsheet/csv-streaming.js +188 -0
  184. package/dist/cjs/spreadsheet/csv-streaming.js.map +1 -0
  185. package/dist/cjs/spreadsheet/data-operations.d.cts +115 -0
  186. package/dist/cjs/spreadsheet/data-operations.d.ts +115 -0
  187. package/dist/cjs/spreadsheet/data-operations.js +1515 -0
  188. package/dist/cjs/spreadsheet/data-operations.js.map +1 -0
  189. package/dist/cjs/spreadsheet/deduplication-utils.d.cts +31 -0
  190. package/dist/cjs/spreadsheet/deduplication-utils.d.ts +31 -0
  191. package/dist/cjs/spreadsheet/deduplication-utils.js +65 -0
  192. package/dist/cjs/spreadsheet/deduplication-utils.js.map +1 -0
  193. package/dist/cjs/spreadsheet/range-operations.d.cts +184 -0
  194. package/dist/cjs/spreadsheet/range-operations.d.ts +184 -0
  195. package/dist/cjs/spreadsheet/range-operations.js +672 -0
  196. package/dist/cjs/spreadsheet/range-operations.js.map +1 -0
  197. package/dist/cjs/spreadsheet/sheet-operations.d.cts +30 -0
  198. package/dist/cjs/spreadsheet/sheet-operations.d.ts +30 -0
  199. package/dist/cjs/spreadsheet/sheet-operations.js +811 -0
  200. package/dist/cjs/spreadsheet/sheet-operations.js.map +1 -0
  201. package/dist/cjs/spreadsheet/spreadsheet-management.d.cts +21 -0
  202. package/dist/cjs/spreadsheet/spreadsheet-management.d.ts +21 -0
  203. package/dist/cjs/spreadsheet/spreadsheet-management.js +310 -0
  204. package/dist/cjs/spreadsheet/spreadsheet-management.js.map +1 -0
  205. package/dist/cjs/types.d.cts +53 -0
  206. package/dist/cjs/types.d.ts +53 -0
  207. package/dist/cjs/types.js +5 -0
  208. package/dist/cjs/types.js.map +1 -0
  209. package/dist/esm/constants.d.ts +7 -0
  210. package/dist/esm/constants.js +7 -0
  211. package/dist/esm/constants.js.map +1 -0
  212. package/dist/esm/index.d.ts +8 -0
  213. package/dist/esm/index.js +34 -0
  214. package/dist/esm/index.js.map +1 -0
  215. package/dist/esm/lib/create-store.d.ts +2 -0
  216. package/dist/esm/lib/create-store.js +6 -0
  217. package/dist/esm/lib/create-store.js.map +1 -0
  218. package/dist/esm/mcp/index.d.ts +3 -0
  219. package/dist/esm/mcp/index.js +6 -0
  220. package/dist/esm/mcp/index.js.map +1 -0
  221. package/dist/esm/mcp/prompts/a1-notation.d.ts +19 -0
  222. package/dist/esm/mcp/prompts/a1-notation.js +49 -0
  223. package/dist/esm/mcp/prompts/a1-notation.js.map +1 -0
  224. package/dist/esm/mcp/prompts/index.d.ts +1 -0
  225. package/dist/esm/mcp/prompts/index.js +1 -0
  226. package/dist/esm/mcp/prompts/index.js.map +1 -0
  227. package/dist/esm/mcp/resources/index.d.ts +1 -0
  228. package/dist/esm/mcp/resources/index.js +1 -0
  229. package/dist/esm/mcp/resources/index.js.map +1 -0
  230. package/dist/esm/mcp/resources/spreadsheet.d.ts +2 -0
  231. package/dist/esm/mcp/resources/spreadsheet.js +88 -0
  232. package/dist/esm/mcp/resources/spreadsheet.js.map +1 -0
  233. package/dist/esm/mcp/tools/cells-format.d.ts +144 -0
  234. package/dist/esm/mcp/tools/cells-format.js +288 -0
  235. package/dist/esm/mcp/tools/cells-format.js.map +1 -0
  236. package/dist/esm/mcp/tools/chart-create.d.ts +94 -0
  237. package/dist/esm/mcp/tools/chart-create.js +408 -0
  238. package/dist/esm/mcp/tools/chart-create.js.map +1 -0
  239. package/dist/esm/mcp/tools/columns-get.d.ts +55 -0
  240. package/dist/esm/mcp/tools/columns-get.js +113 -0
  241. package/dist/esm/mcp/tools/columns-get.js.map +1 -0
  242. package/dist/esm/mcp/tools/columns-update.d.ts +86 -0
  243. package/dist/esm/mcp/tools/columns-update.js +296 -0
  244. package/dist/esm/mcp/tools/columns-update.js.map +1 -0
  245. package/dist/esm/mcp/tools/csv-get-columns.d.ts +43 -0
  246. package/dist/esm/mcp/tools/csv-get-columns.js +95 -0
  247. package/dist/esm/mcp/tools/csv-get-columns.js.map +1 -0
  248. package/dist/esm/mcp/tools/dimensions-batch-update.d.ts +118 -0
  249. package/dist/esm/mcp/tools/dimensions-batch-update.js +321 -0
  250. package/dist/esm/mcp/tools/dimensions-batch-update.js.map +1 -0
  251. package/dist/esm/mcp/tools/dimensions-move.d.ts +86 -0
  252. package/dist/esm/mcp/tools/dimensions-move.js +183 -0
  253. package/dist/esm/mcp/tools/dimensions-move.js.map +1 -0
  254. package/dist/esm/mcp/tools/index.d.ts +26 -0
  255. package/dist/esm/mcp/tools/index.js +26 -0
  256. package/dist/esm/mcp/tools/index.js.map +1 -0
  257. package/dist/esm/mcp/tools/lib/dimension-operations.d.ts +48 -0
  258. package/dist/esm/mcp/tools/lib/dimension-operations.js +93 -0
  259. package/dist/esm/mcp/tools/lib/dimension-operations.js.map +1 -0
  260. package/dist/esm/mcp/tools/rows-append.d.ts +58 -0
  261. package/dist/esm/mcp/tools/rows-append.js +151 -0
  262. package/dist/esm/mcp/tools/rows-append.js.map +1 -0
  263. package/dist/esm/mcp/tools/rows-csv-append.d.ts +67 -0
  264. package/dist/esm/mcp/tools/rows-csv-append.js +342 -0
  265. package/dist/esm/mcp/tools/rows-csv-append.js.map +1 -0
  266. package/dist/esm/mcp/tools/rows-get.d.ts +56 -0
  267. package/dist/esm/mcp/tools/rows-get.js +116 -0
  268. package/dist/esm/mcp/tools/rows-get.js.map +1 -0
  269. package/dist/esm/mcp/tools/sheet-copy-to.d.ts +68 -0
  270. package/dist/esm/mcp/tools/sheet-copy-to.js +156 -0
  271. package/dist/esm/mcp/tools/sheet-copy-to.js.map +1 -0
  272. package/dist/esm/mcp/tools/sheet-copy.d.ts +80 -0
  273. package/dist/esm/mcp/tools/sheet-copy.js +177 -0
  274. package/dist/esm/mcp/tools/sheet-copy.js.map +1 -0
  275. package/dist/esm/mcp/tools/sheet-create.d.ts +56 -0
  276. package/dist/esm/mcp/tools/sheet-create.js +110 -0
  277. package/dist/esm/mcp/tools/sheet-create.js.map +1 -0
  278. package/dist/esm/mcp/tools/sheet-delete.d.ts +62 -0
  279. package/dist/esm/mcp/tools/sheet-delete.js +125 -0
  280. package/dist/esm/mcp/tools/sheet-delete.js.map +1 -0
  281. package/dist/esm/mcp/tools/sheet-find.d.ts +48 -0
  282. package/dist/esm/mcp/tools/sheet-find.js +90 -0
  283. package/dist/esm/mcp/tools/sheet-find.js.map +1 -0
  284. package/dist/esm/mcp/tools/sheet-rename.d.ts +60 -0
  285. package/dist/esm/mcp/tools/sheet-rename.js +128 -0
  286. package/dist/esm/mcp/tools/sheet-rename.js.map +1 -0
  287. package/dist/esm/mcp/tools/spreadsheet-copy.d.ts +58 -0
  288. package/dist/esm/mcp/tools/spreadsheet-copy.js +117 -0
  289. package/dist/esm/mcp/tools/spreadsheet-copy.js.map +1 -0
  290. package/dist/esm/mcp/tools/spreadsheet-create.d.ts +52 -0
  291. package/dist/esm/mcp/tools/spreadsheet-create.js +97 -0
  292. package/dist/esm/mcp/tools/spreadsheet-create.js.map +1 -0
  293. package/dist/esm/mcp/tools/spreadsheet-find.d.ts +58 -0
  294. package/dist/esm/mcp/tools/spreadsheet-find.js +113 -0
  295. package/dist/esm/mcp/tools/spreadsheet-find.js.map +1 -0
  296. package/dist/esm/mcp/tools/spreadsheet-rename.d.ts +56 -0
  297. package/dist/esm/mcp/tools/spreadsheet-rename.js +112 -0
  298. package/dist/esm/mcp/tools/spreadsheet-rename.js.map +1 -0
  299. package/dist/esm/mcp/tools/validation-set.d.ts +144 -0
  300. package/dist/esm/mcp/tools/validation-set.js +366 -0
  301. package/dist/esm/mcp/tools/validation-set.js.map +1 -0
  302. package/dist/esm/mcp/tools/values-batch-update.d.ts +102 -0
  303. package/dist/esm/mcp/tools/values-batch-update.js +224 -0
  304. package/dist/esm/mcp/tools/values-batch-update.js.map +1 -0
  305. package/dist/esm/mcp/tools/values-clear.d.ts +56 -0
  306. package/dist/esm/mcp/tools/values-clear.js +131 -0
  307. package/dist/esm/mcp/tools/values-clear.js.map +1 -0
  308. package/dist/esm/mcp/tools/values-csv-update.d.ts +75 -0
  309. package/dist/esm/mcp/tools/values-csv-update.js +202 -0
  310. package/dist/esm/mcp/tools/values-csv-update.js.map +1 -0
  311. package/dist/esm/mcp/tools/values-replace.d.ts +68 -0
  312. package/dist/esm/mcp/tools/values-replace.js +171 -0
  313. package/dist/esm/mcp/tools/values-replace.js.map +1 -0
  314. package/dist/esm/mcp/tools/values-search.d.ts +74 -0
  315. package/dist/esm/mcp/tools/values-search.js +229 -0
  316. package/dist/esm/mcp/tools/values-search.js.map +1 -0
  317. package/dist/esm/package.json +1 -0
  318. package/dist/esm/schemas/index.d.ts +14 -0
  319. package/dist/esm/schemas/index.js +35 -0
  320. package/dist/esm/schemas/index.js.map +1 -0
  321. package/dist/esm/setup/config.d.ts +44 -0
  322. package/dist/esm/setup/config.js +151 -0
  323. package/dist/esm/setup/config.js.map +1 -0
  324. package/dist/esm/setup/http.d.ts +8 -0
  325. package/dist/esm/setup/http.js +54 -0
  326. package/dist/esm/setup/http.js.map +1 -0
  327. package/dist/esm/setup/index.d.ts +5 -0
  328. package/dist/esm/setup/index.js +5 -0
  329. package/dist/esm/setup/index.js.map +1 -0
  330. package/dist/esm/setup/oauth-google.d.ts +54 -0
  331. package/dist/esm/setup/oauth-google.js +142 -0
  332. package/dist/esm/setup/oauth-google.js.map +1 -0
  333. package/dist/esm/setup/runtime.d.ts +10 -0
  334. package/dist/esm/setup/runtime.js +84 -0
  335. package/dist/esm/setup/runtime.js.map +1 -0
  336. package/dist/esm/setup/stdio.d.ts +7 -0
  337. package/dist/esm/setup/stdio.js +38 -0
  338. package/dist/esm/setup/stdio.js.map +1 -0
  339. package/dist/esm/spreadsheet/column-utilities.d.ts +1 -0
  340. package/dist/esm/spreadsheet/column-utilities.js +10 -0
  341. package/dist/esm/spreadsheet/column-utilities.js.map +1 -0
  342. package/dist/esm/spreadsheet/csv-streaming.d.ts +19 -0
  343. package/dist/esm/spreadsheet/csv-streaming.js +43 -0
  344. package/dist/esm/spreadsheet/csv-streaming.js.map +1 -0
  345. package/dist/esm/spreadsheet/data-operations.d.ts +115 -0
  346. package/dist/esm/spreadsheet/data-operations.js +712 -0
  347. package/dist/esm/spreadsheet/data-operations.js.map +1 -0
  348. package/dist/esm/spreadsheet/deduplication-utils.d.ts +31 -0
  349. package/dist/esm/spreadsheet/deduplication-utils.js +54 -0
  350. package/dist/esm/spreadsheet/deduplication-utils.js.map +1 -0
  351. package/dist/esm/spreadsheet/range-operations.d.ts +184 -0
  352. package/dist/esm/spreadsheet/range-operations.js +591 -0
  353. package/dist/esm/spreadsheet/range-operations.js.map +1 -0
  354. package/dist/esm/spreadsheet/sheet-operations.d.ts +30 -0
  355. package/dist/esm/spreadsheet/sheet-operations.js +359 -0
  356. package/dist/esm/spreadsheet/sheet-operations.js.map +1 -0
  357. package/dist/esm/spreadsheet/spreadsheet-management.d.ts +21 -0
  358. package/dist/esm/spreadsheet/spreadsheet-management.js +73 -0
  359. package/dist/esm/spreadsheet/spreadsheet-management.js.map +1 -0
  360. package/dist/esm/types.d.ts +53 -0
  361. package/dist/esm/types.js +1 -0
  362. package/dist/esm/types.js.map +1 -0
  363. package/package.json +108 -0
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createTool;
9
+ }
10
+ });
11
+ var _oauthgoogle = require("@mcp-z/oauth-google");
12
+ var _types = require("@modelcontextprotocol/sdk/types.js");
13
+ var _googleapis = require("googleapis");
14
+ var _zod = require("zod");
15
+ var _index = require("../../schemas/index.js");
16
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
17
+ try {
18
+ var info = gen[key](arg);
19
+ var value = info.value;
20
+ } catch (error) {
21
+ reject(error);
22
+ return;
23
+ }
24
+ if (info.done) {
25
+ resolve(value);
26
+ } else {
27
+ Promise.resolve(value).then(_next, _throw);
28
+ }
29
+ }
30
+ function _async_to_generator(fn) {
31
+ return function() {
32
+ var self = this, args = arguments;
33
+ return new Promise(function(resolve, reject) {
34
+ var gen = fn.apply(self, args);
35
+ function _next(value) {
36
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
37
+ }
38
+ function _throw(err) {
39
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
40
+ }
41
+ _next(undefined);
42
+ });
43
+ };
44
+ }
45
+ function _instanceof(left, right) {
46
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
47
+ return !!right[Symbol.hasInstance](left);
48
+ } else {
49
+ return left instanceof right;
50
+ }
51
+ }
52
+ function _ts_generator(thisArg, body) {
53
+ var f, y, t, _ = {
54
+ label: 0,
55
+ sent: function() {
56
+ if (t[0] & 1) throw t[1];
57
+ return t[1];
58
+ },
59
+ trys: [],
60
+ ops: []
61
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
62
+ return d(g, "next", {
63
+ value: verb(0)
64
+ }), d(g, "throw", {
65
+ value: verb(1)
66
+ }), d(g, "return", {
67
+ value: verb(2)
68
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
69
+ value: function() {
70
+ return this;
71
+ }
72
+ }), g;
73
+ function verb(n) {
74
+ return function(v) {
75
+ return step([
76
+ n,
77
+ v
78
+ ]);
79
+ };
80
+ }
81
+ function step(op) {
82
+ if (f) throw new TypeError("Generator is already executing.");
83
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
84
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
85
+ if (y = 0, t) op = [
86
+ op[0] & 2,
87
+ t.value
88
+ ];
89
+ switch(op[0]){
90
+ case 0:
91
+ case 1:
92
+ t = op;
93
+ break;
94
+ case 4:
95
+ _.label++;
96
+ return {
97
+ value: op[1],
98
+ done: false
99
+ };
100
+ case 5:
101
+ _.label++;
102
+ y = op[1];
103
+ op = [
104
+ 0
105
+ ];
106
+ continue;
107
+ case 7:
108
+ op = _.ops.pop();
109
+ _.trys.pop();
110
+ continue;
111
+ default:
112
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
113
+ _ = 0;
114
+ continue;
115
+ }
116
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
117
+ _.label = op[1];
118
+ break;
119
+ }
120
+ if (op[0] === 6 && _.label < t[1]) {
121
+ _.label = t[1];
122
+ t = op;
123
+ break;
124
+ }
125
+ if (t && _.label < t[2]) {
126
+ _.label = t[2];
127
+ _.ops.push(op);
128
+ break;
129
+ }
130
+ if (t[2]) _.ops.pop();
131
+ _.trys.pop();
132
+ continue;
133
+ }
134
+ op = body.call(thisArg, _);
135
+ } catch (e) {
136
+ op = [
137
+ 6,
138
+ e
139
+ ];
140
+ y = 0;
141
+ } finally{
142
+ f = t = 0;
143
+ }
144
+ if (op[0] & 5) throw op[1];
145
+ return {
146
+ value: op[0] ? op[1] : void 0,
147
+ done: true
148
+ };
149
+ }
150
+ }
151
+ var AuthRequiredBranchSchema = _oauthgoogle.schemas.AuthRequiredBranchSchema;
152
+ var inputSchema = _zod.z.object({
153
+ id: _index.SpreadsheetIdSchema,
154
+ newTitle: _zod.z.coerce.string().trim().min(1).describe('New name for the spreadsheet')
155
+ });
156
+ // Success branch schema
157
+ var successBranchSchema = _zod.z.object({
158
+ type: _zod.z.literal('success'),
159
+ operationSummary: _zod.z.string().describe('Summary of the rename operation'),
160
+ itemsProcessed: _zod.z.number().describe('Total items attempted (always 1)'),
161
+ itemsChanged: _zod.z.number().describe('Successfully renamed (always 1 on success)'),
162
+ completedAt: _zod.z.string().describe('ISO datetime when operation completed'),
163
+ id: _index.SpreadsheetIdOutput,
164
+ spreadsheetUrl: _zod.z.string().describe('URL of the renamed spreadsheet'),
165
+ oldTitle: _zod.z.string().describe('Previous title of the spreadsheet'),
166
+ newTitle: _zod.z.string().describe('New title of the spreadsheet')
167
+ });
168
+ // Output schema with auth_required support
169
+ var outputSchema = _zod.z.discriminatedUnion('type', [
170
+ successBranchSchema,
171
+ AuthRequiredBranchSchema
172
+ ]);
173
+ var config = {
174
+ description: 'Rename a spreadsheet/workbook (the entire document, not individual sheets/tabs)',
175
+ inputSchema: inputSchema,
176
+ outputSchema: _zod.z.object({
177
+ result: outputSchema
178
+ })
179
+ };
180
+ function handler(_0, _1) {
181
+ return _async_to_generator(function(param, extra) {
182
+ var id, newTitle, logger, _spreadsheetInfo_data_properties, sheets, spreadsheetInfo, oldTitle, result, error, message;
183
+ return _ts_generator(this, function(_state) {
184
+ switch(_state.label){
185
+ case 0:
186
+ id = param.id, newTitle = param.newTitle;
187
+ logger = extra.logger;
188
+ logger.info('sheets.spreadsheet.rename called', {
189
+ id: id,
190
+ newTitle: newTitle
191
+ });
192
+ _state.label = 1;
193
+ case 1:
194
+ _state.trys.push([
195
+ 1,
196
+ 4,
197
+ ,
198
+ 5
199
+ ]);
200
+ sheets = _googleapis.google.sheets({
201
+ version: 'v4',
202
+ auth: extra.authContext.auth
203
+ });
204
+ return [
205
+ 4,
206
+ sheets.spreadsheets.get({
207
+ spreadsheetId: id,
208
+ fields: 'properties.title'
209
+ })
210
+ ];
211
+ case 2:
212
+ spreadsheetInfo = _state.sent();
213
+ oldTitle = ((_spreadsheetInfo_data_properties = spreadsheetInfo.data.properties) === null || _spreadsheetInfo_data_properties === void 0 ? void 0 : _spreadsheetInfo_data_properties.title) || '';
214
+ // Rename the spreadsheet
215
+ return [
216
+ 4,
217
+ sheets.spreadsheets.batchUpdate({
218
+ spreadsheetId: id,
219
+ requestBody: {
220
+ requests: [
221
+ {
222
+ updateSpreadsheetProperties: {
223
+ properties: {
224
+ title: newTitle
225
+ },
226
+ fields: 'title'
227
+ }
228
+ }
229
+ ]
230
+ }
231
+ })
232
+ ];
233
+ case 3:
234
+ _state.sent();
235
+ logger.info('sheets.spreadsheet.rename success', {
236
+ id: id,
237
+ oldTitle: oldTitle,
238
+ newTitle: newTitle
239
+ });
240
+ result = {
241
+ type: 'success',
242
+ operationSummary: 'Renamed spreadsheet "'.concat(oldTitle, '" to "').concat(newTitle, '"'),
243
+ itemsProcessed: 1,
244
+ itemsChanged: 1,
245
+ completedAt: new Date().toISOString(),
246
+ id: id,
247
+ spreadsheetUrl: "https://docs.google.com/spreadsheets/d/".concat(id),
248
+ oldTitle: oldTitle,
249
+ newTitle: newTitle
250
+ };
251
+ return [
252
+ 2,
253
+ {
254
+ content: [
255
+ {
256
+ type: 'text',
257
+ text: JSON.stringify(result)
258
+ }
259
+ ],
260
+ structuredContent: {
261
+ result: result
262
+ }
263
+ }
264
+ ];
265
+ case 4:
266
+ error = _state.sent();
267
+ message = _instanceof(error, Error) ? error.message : String(error);
268
+ logger.error('sheets.spreadsheet.rename error', {
269
+ error: message
270
+ });
271
+ throw new _types.McpError(_types.ErrorCode.InternalError, "Error renaming spreadsheet: ".concat(message), {
272
+ stack: _instanceof(error, Error) ? error.stack : undefined
273
+ });
274
+ case 5:
275
+ return [
276
+ 2
277
+ ];
278
+ }
279
+ });
280
+ }).apply(this, arguments);
281
+ }
282
+ function createTool() {
283
+ return {
284
+ name: 'spreadsheet-rename',
285
+ config: config,
286
+ handler: handler
287
+ };
288
+ }
289
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/Projects/ai/mcp-z/servers/mcp-sheets/src/mcp/tools/spreadsheet-rename.ts"],"sourcesContent":["import type { EnrichedExtra } from '@mcp-z/oauth-google';\nimport { schemas } from '@mcp-z/oauth-google';\n\nconst { AuthRequiredBranchSchema } = schemas;\n\nimport type { ToolModule } from '@mcp-z/server';\nimport type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';\nimport { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';\nimport { google } from 'googleapis';\nimport { z } from 'zod';\nimport { SpreadsheetIdOutput, SpreadsheetIdSchema } from '../../schemas/index.js';\n\nconst inputSchema = z.object({\n id: SpreadsheetIdSchema,\n newTitle: z.coerce.string().trim().min(1).describe('New name for the spreadsheet'),\n});\n\n// Success branch schema\nconst successBranchSchema = z.object({\n type: z.literal('success'),\n operationSummary: z.string().describe('Summary of the rename operation'),\n itemsProcessed: z.number().describe('Total items attempted (always 1)'),\n itemsChanged: z.number().describe('Successfully renamed (always 1 on success)'),\n completedAt: z.string().describe('ISO datetime when operation completed'),\n id: SpreadsheetIdOutput,\n spreadsheetUrl: z.string().describe('URL of the renamed spreadsheet'),\n oldTitle: z.string().describe('Previous title of the spreadsheet'),\n newTitle: z.string().describe('New title of the spreadsheet'),\n});\n\n// Output schema with auth_required support\nconst outputSchema = z.discriminatedUnion('type', [successBranchSchema, AuthRequiredBranchSchema]);\n\nconst config = {\n description: 'Rename a spreadsheet/workbook (the entire document, not individual sheets/tabs)',\n inputSchema,\n outputSchema: z.object({\n result: outputSchema,\n }),\n} as const;\n\nexport type Input = z.infer<typeof inputSchema>;\nexport type Output = z.infer<typeof outputSchema>;\n\nasync function handler({ id, newTitle }: Input, extra: EnrichedExtra): Promise<CallToolResult> {\n const logger = extra.logger;\n logger.info('sheets.spreadsheet.rename called', { id, newTitle });\n\n try {\n const sheets = google.sheets({ version: 'v4', auth: extra.authContext.auth });\n\n // First, get the current spreadsheet title\n const spreadsheetInfo = await sheets.spreadsheets.get({\n spreadsheetId: id,\n fields: 'properties.title',\n });\n\n const oldTitle = spreadsheetInfo.data.properties?.title || '';\n\n // Rename the spreadsheet\n await sheets.spreadsheets.batchUpdate({\n spreadsheetId: id,\n requestBody: {\n requests: [\n {\n updateSpreadsheetProperties: {\n properties: { title: newTitle },\n fields: 'title',\n },\n },\n ],\n },\n });\n\n logger.info('sheets.spreadsheet.rename success', { id, oldTitle, newTitle });\n\n const result: Output = {\n type: 'success' as const,\n operationSummary: `Renamed spreadsheet \"${oldTitle}\" to \"${newTitle}\"`,\n itemsProcessed: 1,\n itemsChanged: 1,\n completedAt: new Date().toISOString(),\n id,\n spreadsheetUrl: `https://docs.google.com/spreadsheets/d/${id}`,\n oldTitle,\n newTitle,\n };\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result),\n },\n ],\n structuredContent: { result },\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.error('sheets.spreadsheet.rename error', { error: message });\n\n throw new McpError(ErrorCode.InternalError, `Error renaming spreadsheet: ${message}`, {\n stack: error instanceof Error ? error.stack : undefined,\n });\n }\n}\n\nexport default function createTool() {\n return {\n name: 'spreadsheet-rename',\n config,\n handler,\n } satisfies ToolModule;\n}\n"],"names":["createTool","AuthRequiredBranchSchema","schemas","inputSchema","z","object","id","SpreadsheetIdSchema","newTitle","coerce","string","trim","min","describe","successBranchSchema","type","literal","operationSummary","itemsProcessed","number","itemsChanged","completedAt","SpreadsheetIdOutput","spreadsheetUrl","oldTitle","outputSchema","discriminatedUnion","config","description","result","handler","extra","logger","spreadsheetInfo","sheets","error","message","info","google","version","auth","authContext","spreadsheets","get","spreadsheetId","fields","data","properties","title","batchUpdate","requestBody","requests","updateSpreadsheetProperties","Date","toISOString","content","text","JSON","stringify","structuredContent","Error","String","McpError","ErrorCode","InternalError","stack","undefined","name"],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import type { EnrichedExtra } from '@mcp-z/oauth-google';
2
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import { z } from 'zod';
4
+ declare const inputSchema: z.ZodObject<{
5
+ id: z.ZodString;
6
+ gid: z.ZodCoercedString<unknown>;
7
+ requests: z.ZodArray<z.ZodObject<{
8
+ range: z.ZodString;
9
+ rule: z.ZodDiscriminatedUnion<[z.ZodObject<{
10
+ conditionType: z.ZodLiteral<"ONE_OF_LIST">;
11
+ values: z.ZodArray<z.ZodString>;
12
+ showDropdown: z.ZodDefault<z.ZodBoolean>;
13
+ strict: z.ZodDefault<z.ZodBoolean>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ conditionType: z.ZodLiteral<"ONE_OF_RANGE">;
16
+ sourceRange: z.ZodString;
17
+ showDropdown: z.ZodDefault<z.ZodBoolean>;
18
+ strict: z.ZodDefault<z.ZodBoolean>;
19
+ }, z.core.$strip>, z.ZodObject<{
20
+ conditionType: z.ZodEnum<{
21
+ NUMBER_GREATER: "NUMBER_GREATER";
22
+ NUMBER_LESS: "NUMBER_LESS";
23
+ NUMBER_BETWEEN: "NUMBER_BETWEEN";
24
+ }>;
25
+ values: z.ZodArray<z.ZodNumber>;
26
+ strict: z.ZodDefault<z.ZodBoolean>;
27
+ }, z.core.$strip>, z.ZodObject<{
28
+ conditionType: z.ZodEnum<{
29
+ TEXT_CONTAINS: "TEXT_CONTAINS";
30
+ TEXT_IS_EMAIL: "TEXT_IS_EMAIL";
31
+ TEXT_IS_URL: "TEXT_IS_URL";
32
+ }>;
33
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ strict: z.ZodDefault<z.ZodBoolean>;
35
+ }, z.core.$strip>, z.ZodObject<{
36
+ conditionType: z.ZodEnum<{
37
+ DATE_AFTER: "DATE_AFTER";
38
+ DATE_BEFORE: "DATE_BEFORE";
39
+ DATE_BETWEEN: "DATE_BETWEEN";
40
+ }>;
41
+ values: z.ZodArray<z.ZodString>;
42
+ strict: z.ZodDefault<z.ZodBoolean>;
43
+ }, z.core.$strip>, z.ZodObject<{
44
+ conditionType: z.ZodLiteral<"CUSTOM_FORMULA">;
45
+ formula: z.ZodString;
46
+ strict: z.ZodDefault<z.ZodBoolean>;
47
+ }, z.core.$strip>], "conditionType">;
48
+ inputMessage: z.ZodOptional<z.ZodString>;
49
+ }, z.core.$strip>>;
50
+ }, z.core.$strip>;
51
+ declare const outputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
52
+ type: z.ZodLiteral<"success">;
53
+ id: z.ZodString;
54
+ gid: z.ZodString;
55
+ sheetTitle: z.ZodString;
56
+ sheetUrl: z.ZodString;
57
+ successCount: z.ZodNumber;
58
+ failedRanges: z.ZodOptional<z.ZodArray<z.ZodObject<{
59
+ range: z.ZodString;
60
+ error: z.ZodString;
61
+ }, z.core.$strip>>>;
62
+ }, z.core.$strip>, z.ZodObject<{
63
+ type: z.ZodLiteral<"auth_required">;
64
+ provider: z.ZodString;
65
+ message: z.ZodString;
66
+ url: z.ZodOptional<z.ZodString>;
67
+ }, z.core.$strip>], "type">;
68
+ export type Input = z.infer<typeof inputSchema>;
69
+ export type Output = z.infer<typeof outputSchema>;
70
+ declare function handler({ id, gid, requests }: Input, extra: EnrichedExtra): Promise<CallToolResult>;
71
+ export default function createTool(): {
72
+ name: string;
73
+ config: {
74
+ readonly description: "Add data validation rules including dropdowns, numeric constraints, text patterns, date ranges, custom formulas. Supports batch operations for efficiency. Use discriminated conditionType to specify rule type. Best for enforcing data integrity and providing user-friendly input controls.";
75
+ readonly inputSchema: z.ZodObject<{
76
+ id: z.ZodString;
77
+ gid: z.ZodCoercedString<unknown>;
78
+ requests: z.ZodArray<z.ZodObject<{
79
+ range: z.ZodString;
80
+ rule: z.ZodDiscriminatedUnion<[z.ZodObject<{
81
+ conditionType: z.ZodLiteral<"ONE_OF_LIST">;
82
+ values: z.ZodArray<z.ZodString>;
83
+ showDropdown: z.ZodDefault<z.ZodBoolean>;
84
+ strict: z.ZodDefault<z.ZodBoolean>;
85
+ }, z.core.$strip>, z.ZodObject<{
86
+ conditionType: z.ZodLiteral<"ONE_OF_RANGE">;
87
+ sourceRange: z.ZodString;
88
+ showDropdown: z.ZodDefault<z.ZodBoolean>;
89
+ strict: z.ZodDefault<z.ZodBoolean>;
90
+ }, z.core.$strip>, z.ZodObject<{
91
+ conditionType: z.ZodEnum<{
92
+ NUMBER_GREATER: "NUMBER_GREATER";
93
+ NUMBER_LESS: "NUMBER_LESS";
94
+ NUMBER_BETWEEN: "NUMBER_BETWEEN";
95
+ }>;
96
+ values: z.ZodArray<z.ZodNumber>;
97
+ strict: z.ZodDefault<z.ZodBoolean>;
98
+ }, z.core.$strip>, z.ZodObject<{
99
+ conditionType: z.ZodEnum<{
100
+ TEXT_CONTAINS: "TEXT_CONTAINS";
101
+ TEXT_IS_EMAIL: "TEXT_IS_EMAIL";
102
+ TEXT_IS_URL: "TEXT_IS_URL";
103
+ }>;
104
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
+ strict: z.ZodDefault<z.ZodBoolean>;
106
+ }, z.core.$strip>, z.ZodObject<{
107
+ conditionType: z.ZodEnum<{
108
+ DATE_AFTER: "DATE_AFTER";
109
+ DATE_BEFORE: "DATE_BEFORE";
110
+ DATE_BETWEEN: "DATE_BETWEEN";
111
+ }>;
112
+ values: z.ZodArray<z.ZodString>;
113
+ strict: z.ZodDefault<z.ZodBoolean>;
114
+ }, z.core.$strip>, z.ZodObject<{
115
+ conditionType: z.ZodLiteral<"CUSTOM_FORMULA">;
116
+ formula: z.ZodString;
117
+ strict: z.ZodDefault<z.ZodBoolean>;
118
+ }, z.core.$strip>], "conditionType">;
119
+ inputMessage: z.ZodOptional<z.ZodString>;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>;
122
+ readonly outputSchema: z.ZodObject<{
123
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
+ type: z.ZodLiteral<"success">;
125
+ id: z.ZodString;
126
+ gid: z.ZodString;
127
+ sheetTitle: z.ZodString;
128
+ sheetUrl: z.ZodString;
129
+ successCount: z.ZodNumber;
130
+ failedRanges: z.ZodOptional<z.ZodArray<z.ZodObject<{
131
+ range: z.ZodString;
132
+ error: z.ZodString;
133
+ }, z.core.$strip>>>;
134
+ }, z.core.$strip>, z.ZodObject<{
135
+ type: z.ZodLiteral<"auth_required">;
136
+ provider: z.ZodString;
137
+ message: z.ZodString;
138
+ url: z.ZodOptional<z.ZodString>;
139
+ }, z.core.$strip>], "type">;
140
+ }, z.core.$strip>;
141
+ };
142
+ handler: typeof handler;
143
+ };
144
+ export {};
@@ -0,0 +1,144 @@
1
+ import type { EnrichedExtra } from '@mcp-z/oauth-google';
2
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import { z } from 'zod';
4
+ declare const inputSchema: z.ZodObject<{
5
+ id: z.ZodString;
6
+ gid: z.ZodCoercedString<unknown>;
7
+ requests: z.ZodArray<z.ZodObject<{
8
+ range: z.ZodString;
9
+ rule: z.ZodDiscriminatedUnion<[z.ZodObject<{
10
+ conditionType: z.ZodLiteral<"ONE_OF_LIST">;
11
+ values: z.ZodArray<z.ZodString>;
12
+ showDropdown: z.ZodDefault<z.ZodBoolean>;
13
+ strict: z.ZodDefault<z.ZodBoolean>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ conditionType: z.ZodLiteral<"ONE_OF_RANGE">;
16
+ sourceRange: z.ZodString;
17
+ showDropdown: z.ZodDefault<z.ZodBoolean>;
18
+ strict: z.ZodDefault<z.ZodBoolean>;
19
+ }, z.core.$strip>, z.ZodObject<{
20
+ conditionType: z.ZodEnum<{
21
+ NUMBER_GREATER: "NUMBER_GREATER";
22
+ NUMBER_LESS: "NUMBER_LESS";
23
+ NUMBER_BETWEEN: "NUMBER_BETWEEN";
24
+ }>;
25
+ values: z.ZodArray<z.ZodNumber>;
26
+ strict: z.ZodDefault<z.ZodBoolean>;
27
+ }, z.core.$strip>, z.ZodObject<{
28
+ conditionType: z.ZodEnum<{
29
+ TEXT_CONTAINS: "TEXT_CONTAINS";
30
+ TEXT_IS_EMAIL: "TEXT_IS_EMAIL";
31
+ TEXT_IS_URL: "TEXT_IS_URL";
32
+ }>;
33
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ strict: z.ZodDefault<z.ZodBoolean>;
35
+ }, z.core.$strip>, z.ZodObject<{
36
+ conditionType: z.ZodEnum<{
37
+ DATE_AFTER: "DATE_AFTER";
38
+ DATE_BEFORE: "DATE_BEFORE";
39
+ DATE_BETWEEN: "DATE_BETWEEN";
40
+ }>;
41
+ values: z.ZodArray<z.ZodString>;
42
+ strict: z.ZodDefault<z.ZodBoolean>;
43
+ }, z.core.$strip>, z.ZodObject<{
44
+ conditionType: z.ZodLiteral<"CUSTOM_FORMULA">;
45
+ formula: z.ZodString;
46
+ strict: z.ZodDefault<z.ZodBoolean>;
47
+ }, z.core.$strip>], "conditionType">;
48
+ inputMessage: z.ZodOptional<z.ZodString>;
49
+ }, z.core.$strip>>;
50
+ }, z.core.$strip>;
51
+ declare const outputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
52
+ type: z.ZodLiteral<"success">;
53
+ id: z.ZodString;
54
+ gid: z.ZodString;
55
+ sheetTitle: z.ZodString;
56
+ sheetUrl: z.ZodString;
57
+ successCount: z.ZodNumber;
58
+ failedRanges: z.ZodOptional<z.ZodArray<z.ZodObject<{
59
+ range: z.ZodString;
60
+ error: z.ZodString;
61
+ }, z.core.$strip>>>;
62
+ }, z.core.$strip>, z.ZodObject<{
63
+ type: z.ZodLiteral<"auth_required">;
64
+ provider: z.ZodString;
65
+ message: z.ZodString;
66
+ url: z.ZodOptional<z.ZodString>;
67
+ }, z.core.$strip>], "type">;
68
+ export type Input = z.infer<typeof inputSchema>;
69
+ export type Output = z.infer<typeof outputSchema>;
70
+ declare function handler({ id, gid, requests }: Input, extra: EnrichedExtra): Promise<CallToolResult>;
71
+ export default function createTool(): {
72
+ name: string;
73
+ config: {
74
+ readonly description: "Add data validation rules including dropdowns, numeric constraints, text patterns, date ranges, custom formulas. Supports batch operations for efficiency. Use discriminated conditionType to specify rule type. Best for enforcing data integrity and providing user-friendly input controls.";
75
+ readonly inputSchema: z.ZodObject<{
76
+ id: z.ZodString;
77
+ gid: z.ZodCoercedString<unknown>;
78
+ requests: z.ZodArray<z.ZodObject<{
79
+ range: z.ZodString;
80
+ rule: z.ZodDiscriminatedUnion<[z.ZodObject<{
81
+ conditionType: z.ZodLiteral<"ONE_OF_LIST">;
82
+ values: z.ZodArray<z.ZodString>;
83
+ showDropdown: z.ZodDefault<z.ZodBoolean>;
84
+ strict: z.ZodDefault<z.ZodBoolean>;
85
+ }, z.core.$strip>, z.ZodObject<{
86
+ conditionType: z.ZodLiteral<"ONE_OF_RANGE">;
87
+ sourceRange: z.ZodString;
88
+ showDropdown: z.ZodDefault<z.ZodBoolean>;
89
+ strict: z.ZodDefault<z.ZodBoolean>;
90
+ }, z.core.$strip>, z.ZodObject<{
91
+ conditionType: z.ZodEnum<{
92
+ NUMBER_GREATER: "NUMBER_GREATER";
93
+ NUMBER_LESS: "NUMBER_LESS";
94
+ NUMBER_BETWEEN: "NUMBER_BETWEEN";
95
+ }>;
96
+ values: z.ZodArray<z.ZodNumber>;
97
+ strict: z.ZodDefault<z.ZodBoolean>;
98
+ }, z.core.$strip>, z.ZodObject<{
99
+ conditionType: z.ZodEnum<{
100
+ TEXT_CONTAINS: "TEXT_CONTAINS";
101
+ TEXT_IS_EMAIL: "TEXT_IS_EMAIL";
102
+ TEXT_IS_URL: "TEXT_IS_URL";
103
+ }>;
104
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
+ strict: z.ZodDefault<z.ZodBoolean>;
106
+ }, z.core.$strip>, z.ZodObject<{
107
+ conditionType: z.ZodEnum<{
108
+ DATE_AFTER: "DATE_AFTER";
109
+ DATE_BEFORE: "DATE_BEFORE";
110
+ DATE_BETWEEN: "DATE_BETWEEN";
111
+ }>;
112
+ values: z.ZodArray<z.ZodString>;
113
+ strict: z.ZodDefault<z.ZodBoolean>;
114
+ }, z.core.$strip>, z.ZodObject<{
115
+ conditionType: z.ZodLiteral<"CUSTOM_FORMULA">;
116
+ formula: z.ZodString;
117
+ strict: z.ZodDefault<z.ZodBoolean>;
118
+ }, z.core.$strip>], "conditionType">;
119
+ inputMessage: z.ZodOptional<z.ZodString>;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>;
122
+ readonly outputSchema: z.ZodObject<{
123
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
+ type: z.ZodLiteral<"success">;
125
+ id: z.ZodString;
126
+ gid: z.ZodString;
127
+ sheetTitle: z.ZodString;
128
+ sheetUrl: z.ZodString;
129
+ successCount: z.ZodNumber;
130
+ failedRanges: z.ZodOptional<z.ZodArray<z.ZodObject<{
131
+ range: z.ZodString;
132
+ error: z.ZodString;
133
+ }, z.core.$strip>>>;
134
+ }, z.core.$strip>, z.ZodObject<{
135
+ type: z.ZodLiteral<"auth_required">;
136
+ provider: z.ZodString;
137
+ message: z.ZodString;
138
+ url: z.ZodOptional<z.ZodString>;
139
+ }, z.core.$strip>], "type">;
140
+ }, z.core.$strip>;
141
+ };
142
+ handler: typeof handler;
143
+ };
144
+ export {};