@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,56 @@
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
+ ranges: z.ZodArray<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ declare const outputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
10
+ type: z.ZodLiteral<"success">;
11
+ id: z.ZodString;
12
+ gid: z.ZodString;
13
+ spreadsheetTitle: z.ZodString;
14
+ spreadsheetUrl: z.ZodString;
15
+ sheetTitle: z.ZodString;
16
+ sheetUrl: z.ZodString;
17
+ clearedRanges: z.ZodArray<z.ZodString>;
18
+ }, z.core.$strip>, z.ZodObject<{
19
+ type: z.ZodLiteral<"auth_required">;
20
+ provider: z.ZodString;
21
+ message: z.ZodString;
22
+ url: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>], "type">;
24
+ export type Input = z.infer<typeof inputSchema>;
25
+ export type Output = z.infer<typeof outputSchema>;
26
+ declare function handler({ id, gid, ranges }: Input, extra: EnrichedExtra): Promise<CallToolResult>;
27
+ export default function createTool(): {
28
+ name: string;
29
+ config: {
30
+ readonly description: "Clear cell values from one or more ranges. Clears values only - preserves formatting, validation, and other cell properties. Use a1-notation prompt for range syntax.";
31
+ readonly inputSchema: z.ZodObject<{
32
+ id: z.ZodString;
33
+ gid: z.ZodCoercedString<unknown>;
34
+ ranges: z.ZodArray<z.ZodString>;
35
+ }, z.core.$strip>;
36
+ readonly outputSchema: z.ZodObject<{
37
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
38
+ type: z.ZodLiteral<"success">;
39
+ id: z.ZodString;
40
+ gid: z.ZodString;
41
+ spreadsheetTitle: z.ZodString;
42
+ spreadsheetUrl: z.ZodString;
43
+ sheetTitle: z.ZodString;
44
+ sheetUrl: z.ZodString;
45
+ clearedRanges: z.ZodArray<z.ZodString>;
46
+ }, z.core.$strip>, z.ZodObject<{
47
+ type: z.ZodLiteral<"auth_required">;
48
+ provider: z.ZodString;
49
+ message: z.ZodString;
50
+ url: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>], "type">;
52
+ }, z.core.$strip>;
53
+ };
54
+ handler: typeof handler;
55
+ };
56
+ export {};
@@ -0,0 +1,56 @@
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
+ ranges: z.ZodArray<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ declare const outputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
10
+ type: z.ZodLiteral<"success">;
11
+ id: z.ZodString;
12
+ gid: z.ZodString;
13
+ spreadsheetTitle: z.ZodString;
14
+ spreadsheetUrl: z.ZodString;
15
+ sheetTitle: z.ZodString;
16
+ sheetUrl: z.ZodString;
17
+ clearedRanges: z.ZodArray<z.ZodString>;
18
+ }, z.core.$strip>, z.ZodObject<{
19
+ type: z.ZodLiteral<"auth_required">;
20
+ provider: z.ZodString;
21
+ message: z.ZodString;
22
+ url: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>], "type">;
24
+ export type Input = z.infer<typeof inputSchema>;
25
+ export type Output = z.infer<typeof outputSchema>;
26
+ declare function handler({ id, gid, ranges }: Input, extra: EnrichedExtra): Promise<CallToolResult>;
27
+ export default function createTool(): {
28
+ name: string;
29
+ config: {
30
+ readonly description: "Clear cell values from one or more ranges. Clears values only - preserves formatting, validation, and other cell properties. Use a1-notation prompt for range syntax.";
31
+ readonly inputSchema: z.ZodObject<{
32
+ id: z.ZodString;
33
+ gid: z.ZodCoercedString<unknown>;
34
+ ranges: z.ZodArray<z.ZodString>;
35
+ }, z.core.$strip>;
36
+ readonly outputSchema: z.ZodObject<{
37
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
38
+ type: z.ZodLiteral<"success">;
39
+ id: z.ZodString;
40
+ gid: z.ZodString;
41
+ spreadsheetTitle: z.ZodString;
42
+ spreadsheetUrl: z.ZodString;
43
+ sheetTitle: z.ZodString;
44
+ sheetUrl: z.ZodString;
45
+ clearedRanges: z.ZodArray<z.ZodString>;
46
+ }, z.core.$strip>, z.ZodObject<{
47
+ type: z.ZodLiteral<"auth_required">;
48
+ provider: z.ZodString;
49
+ message: z.ZodString;
50
+ url: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>], "type">;
52
+ }, z.core.$strip>;
53
+ };
54
+ handler: typeof handler;
55
+ };
56
+ export {};
@@ -0,0 +1,308 @@
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
+ gid: _index.SheetGidSchema,
155
+ ranges: _zod.z.array(_index.A1NotationSchema).min(1).describe('A1 notation ranges to clear (e.g., ["A1:B5", "D3:D10"]). Clears values only, preserves formatting.')
156
+ });
157
+ var successBranchSchema = _zod.z.object({
158
+ type: _zod.z.literal('success'),
159
+ id: _index.SpreadsheetIdOutput,
160
+ gid: _index.SheetGidOutput,
161
+ spreadsheetTitle: _zod.z.string().describe('Title of the spreadsheet'),
162
+ spreadsheetUrl: _zod.z.string().describe('URL of the spreadsheet'),
163
+ sheetTitle: _zod.z.string().describe('Title of the sheet'),
164
+ sheetUrl: _zod.z.string().describe('URL of the sheet'),
165
+ clearedRanges: _zod.z.array(_zod.z.string()).describe('A1 notation ranges that were cleared')
166
+ });
167
+ var outputSchema = _zod.z.discriminatedUnion('type', [
168
+ successBranchSchema,
169
+ AuthRequiredBranchSchema
170
+ ]);
171
+ var config = {
172
+ description: 'Clear cell values from one or more ranges. Clears values only - preserves formatting, validation, and other cell properties. Use a1-notation prompt for range syntax.',
173
+ inputSchema: inputSchema,
174
+ outputSchema: _zod.z.object({
175
+ result: outputSchema
176
+ })
177
+ };
178
+ function handler(_0, _1) {
179
+ return _async_to_generator(function(param, extra) {
180
+ var id, gid, ranges, logger, _ref, _spreadsheetData_spreadsheetUrl, _sheet_properties_title, _sheet_properties_sheetId, _spreadsheetData_properties, _spreadsheetData_sheets, sheets, spreadsheetResponse, spreadsheetData, spreadsheetTitle, spreadsheetUrl, sheet, sheetTitle, sheetGid, sheetUrl, prefixedRanges, clearResponse, clearedRanges, result, error, message;
181
+ return _ts_generator(this, function(_state) {
182
+ switch(_state.label){
183
+ case 0:
184
+ id = param.id, gid = param.gid, ranges = param.ranges;
185
+ logger = extra.logger;
186
+ logger.info('sheets.values.clear called', {
187
+ id: id,
188
+ gid: gid,
189
+ rangeCount: ranges.length
190
+ });
191
+ _state.label = 1;
192
+ case 1:
193
+ _state.trys.push([
194
+ 1,
195
+ 4,
196
+ ,
197
+ 5
198
+ ]);
199
+ sheets = _googleapis.google.sheets({
200
+ version: 'v4',
201
+ auth: extra.authContext.auth
202
+ });
203
+ return [
204
+ 4,
205
+ sheets.spreadsheets.get({
206
+ spreadsheetId: id,
207
+ fields: 'properties.title,spreadsheetUrl,sheets.properties.sheetId,sheets.properties.title'
208
+ })
209
+ ];
210
+ case 2:
211
+ spreadsheetResponse = _state.sent();
212
+ spreadsheetData = spreadsheetResponse.data;
213
+ spreadsheetTitle = (_ref = (_spreadsheetData_properties = spreadsheetData.properties) === null || _spreadsheetData_properties === void 0 ? void 0 : _spreadsheetData_properties.title) !== null && _ref !== void 0 ? _ref : '';
214
+ spreadsheetUrl = (_spreadsheetData_spreadsheetUrl = spreadsheetData.spreadsheetUrl) !== null && _spreadsheetData_spreadsheetUrl !== void 0 ? _spreadsheetData_spreadsheetUrl : '';
215
+ // Find sheet by gid
216
+ sheet = (_spreadsheetData_sheets = spreadsheetData.sheets) === null || _spreadsheetData_sheets === void 0 ? void 0 : _spreadsheetData_sheets.find(function(s) {
217
+ var _s_properties;
218
+ return String((_s_properties = s.properties) === null || _s_properties === void 0 ? void 0 : _s_properties.sheetId) === gid;
219
+ });
220
+ if (!(sheet === null || sheet === void 0 ? void 0 : sheet.properties)) {
221
+ logger.info('Sheet not found for clear', {
222
+ id: id,
223
+ gid: gid,
224
+ rangeCount: ranges.length
225
+ });
226
+ throw new _types.McpError(_types.ErrorCode.InvalidParams, "Sheet not found: ".concat(gid));
227
+ }
228
+ sheetTitle = (_sheet_properties_title = sheet.properties.title) !== null && _sheet_properties_title !== void 0 ? _sheet_properties_title : gid;
229
+ sheetGid = (_sheet_properties_sheetId = sheet.properties.sheetId) !== null && _sheet_properties_sheetId !== void 0 ? _sheet_properties_sheetId : 0;
230
+ sheetUrl = "https://docs.google.com/spreadsheets/d/".concat(id, "/edit#gid=").concat(sheetGid);
231
+ // Prefix ranges with sheet title
232
+ prefixedRanges = ranges.map(function(range) {
233
+ return "".concat(sheetTitle, "!").concat(range);
234
+ });
235
+ logger.info('sheets.values.clear executing', {
236
+ spreadsheetId: id,
237
+ sheetTitle: sheetTitle,
238
+ prefixedRanges: prefixedRanges
239
+ });
240
+ return [
241
+ 4,
242
+ sheets.spreadsheets.values.batchClear({
243
+ spreadsheetId: id,
244
+ requestBody: {
245
+ ranges: prefixedRanges
246
+ }
247
+ })
248
+ ];
249
+ case 3:
250
+ clearResponse = _state.sent();
251
+ clearedRanges = clearResponse.data.clearedRanges || [];
252
+ logger.info('sheets.values.clear completed successfully', {
253
+ spreadsheetId: id,
254
+ sheetTitle: sheetTitle,
255
+ clearedRangesCount: clearedRanges.length
256
+ });
257
+ result = {
258
+ type: 'success',
259
+ id: id,
260
+ gid: String(sheetGid),
261
+ spreadsheetTitle: spreadsheetTitle || '',
262
+ spreadsheetUrl: spreadsheetUrl || '',
263
+ sheetTitle: sheetTitle,
264
+ sheetUrl: sheetUrl,
265
+ clearedRanges: clearedRanges
266
+ };
267
+ return [
268
+ 2,
269
+ {
270
+ content: [
271
+ {
272
+ type: 'text',
273
+ text: JSON.stringify(result)
274
+ }
275
+ ],
276
+ structuredContent: {
277
+ result: result
278
+ }
279
+ }
280
+ ];
281
+ case 4:
282
+ error = _state.sent();
283
+ message = _instanceof(error, Error) ? error.message : String(error);
284
+ logger.error('Clear operation failed', {
285
+ id: id,
286
+ gid: gid,
287
+ rangeCount: ranges.length,
288
+ error: message
289
+ });
290
+ throw new _types.McpError(_types.ErrorCode.InternalError, "Error clearing values: ".concat(message), {
291
+ stack: _instanceof(error, Error) ? error.stack : undefined
292
+ });
293
+ case 5:
294
+ return [
295
+ 2
296
+ ];
297
+ }
298
+ });
299
+ }).apply(this, arguments);
300
+ }
301
+ function createTool() {
302
+ return {
303
+ name: 'values-clear',
304
+ config: config,
305
+ handler: handler
306
+ };
307
+ }
308
+ /* 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/values-clear.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 { A1NotationSchema, SheetGidOutput, SheetGidSchema, SpreadsheetIdOutput, SpreadsheetIdSchema } from '../../schemas/index.js';\n\nconst inputSchema = z.object({\n id: SpreadsheetIdSchema,\n gid: SheetGidSchema,\n ranges: z.array(A1NotationSchema).min(1).describe('A1 notation ranges to clear (e.g., [\"A1:B5\", \"D3:D10\"]). Clears values only, preserves formatting.'),\n});\n\nconst successBranchSchema = z.object({\n type: z.literal('success'),\n id: SpreadsheetIdOutput,\n gid: SheetGidOutput,\n spreadsheetTitle: z.string().describe('Title of the spreadsheet'),\n spreadsheetUrl: z.string().describe('URL of the spreadsheet'),\n sheetTitle: z.string().describe('Title of the sheet'),\n sheetUrl: z.string().describe('URL of the sheet'),\n clearedRanges: z.array(z.string()).describe('A1 notation ranges that were cleared'),\n});\n\nconst outputSchema = z.discriminatedUnion('type', [successBranchSchema, AuthRequiredBranchSchema]);\n\nconst config = {\n description: 'Clear cell values from one or more ranges. Clears values only - preserves formatting, validation, and other cell properties. Use a1-notation prompt for range syntax.',\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, gid, ranges }: Input, extra: EnrichedExtra): Promise<CallToolResult> {\n const logger = extra.logger;\n logger.info('sheets.values.clear called', { id, gid, rangeCount: ranges.length });\n\n try {\n const sheets = google.sheets({ version: 'v4', auth: extra.authContext.auth });\n\n // Get spreadsheet and sheet info in single API call\n const spreadsheetResponse = await sheets.spreadsheets.get({\n spreadsheetId: id,\n fields: 'properties.title,spreadsheetUrl,sheets.properties.sheetId,sheets.properties.title',\n });\n\n const spreadsheetData = spreadsheetResponse.data;\n const spreadsheetTitle = spreadsheetData.properties?.title ?? '';\n const spreadsheetUrl = spreadsheetData.spreadsheetUrl ?? '';\n\n // Find sheet by gid\n const sheet = spreadsheetData.sheets?.find((s) => String(s.properties?.sheetId) === gid);\n if (!sheet?.properties) {\n logger.info('Sheet not found for clear', { id, gid, rangeCount: ranges.length });\n throw new McpError(ErrorCode.InvalidParams, `Sheet not found: ${gid}`);\n }\n\n const sheetTitle = sheet.properties.title ?? gid;\n const sheetGid = sheet.properties.sheetId ?? 0;\n const sheetUrl = `https://docs.google.com/spreadsheets/d/${id}/edit#gid=${sheetGid}`;\n\n // Prefix ranges with sheet title\n const prefixedRanges = ranges.map((range) => `${sheetTitle}!${range}`);\n\n logger.info('sheets.values.clear executing', { spreadsheetId: id, sheetTitle, prefixedRanges });\n\n // Use batchClear for efficiency (works for single or multiple ranges)\n const clearResponse = await sheets.spreadsheets.values.batchClear({\n spreadsheetId: id,\n requestBody: {\n ranges: prefixedRanges,\n },\n });\n\n const clearedRanges = clearResponse.data.clearedRanges || [];\n\n logger.info('sheets.values.clear completed successfully', {\n spreadsheetId: id,\n sheetTitle,\n clearedRangesCount: clearedRanges.length,\n });\n\n const result: Output = {\n type: 'success' as const,\n id,\n gid: String(sheetGid),\n spreadsheetTitle: spreadsheetTitle || '',\n spreadsheetUrl: spreadsheetUrl || '',\n sheetTitle,\n sheetUrl,\n clearedRanges,\n };\n\n return {\n content: [{ type: 'text' as const, text: JSON.stringify(result) }],\n structuredContent: { result },\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.error('Clear operation failed', { id, gid, rangeCount: ranges.length, error: message });\n\n throw new McpError(ErrorCode.InternalError, `Error clearing values: ${message}`, {\n stack: error instanceof Error ? error.stack : undefined,\n });\n }\n}\n\nexport default function createTool() {\n return {\n name: 'values-clear',\n config,\n handler,\n } satisfies ToolModule;\n}\n"],"names":["createTool","AuthRequiredBranchSchema","schemas","inputSchema","z","object","id","SpreadsheetIdSchema","gid","SheetGidSchema","ranges","array","A1NotationSchema","min","describe","successBranchSchema","type","literal","SpreadsheetIdOutput","SheetGidOutput","spreadsheetTitle","string","spreadsheetUrl","sheetTitle","sheetUrl","clearedRanges","outputSchema","discriminatedUnion","config","description","result","handler","extra","logger","spreadsheetData","sheet","sheets","spreadsheetResponse","sheetGid","prefixedRanges","clearResponse","error","message","info","rangeCount","length","google","version","auth","authContext","spreadsheets","get","spreadsheetId","fields","data","properties","title","find","s","String","sheetId","McpError","ErrorCode","InvalidParams","map","range","values","batchClear","requestBody","clearedRangesCount","content","text","JSON","stringify","structuredContent","Error","InternalError","stack","undefined","name"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /** Import CSV data to Google Sheets with range-based update (no deduplication) */
2
+ import type { EnrichedExtra } from '@mcp-z/oauth-google';
3
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
4
+ import { z } from 'zod';
5
+ declare const inputSchema: z.ZodObject<{
6
+ id: z.ZodString;
7
+ gid: z.ZodCoercedString<unknown>;
8
+ sourceUri: z.ZodString;
9
+ startRange: z.ZodDefault<z.ZodString>;
10
+ valueInputOption: z.ZodDefault<z.ZodEnum<{
11
+ RAW: "RAW";
12
+ USER_ENTERED: "USER_ENTERED";
13
+ }>>;
14
+ sourceHasHeaders: z.ZodDefault<z.ZodBoolean>;
15
+ }, z.core.$strip>;
16
+ declare const outputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
17
+ type: z.ZodLiteral<"success">;
18
+ id: z.ZodString;
19
+ gid: z.ZodString;
20
+ spreadsheetTitle: z.ZodString;
21
+ spreadsheetUrl: z.ZodString;
22
+ sheetTitle: z.ZodString;
23
+ sheetUrl: z.ZodString;
24
+ updatedRange: z.ZodString;
25
+ updatedRows: z.ZodNumber;
26
+ updatedColumns: z.ZodNumber;
27
+ updatedCells: z.ZodNumber;
28
+ }, z.core.$strip>, z.ZodObject<{
29
+ type: z.ZodLiteral<"auth_required">;
30
+ provider: z.ZodString;
31
+ message: z.ZodString;
32
+ url: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>], "type">;
34
+ export type Input = z.infer<typeof inputSchema>;
35
+ export type Output = z.infer<typeof outputSchema>;
36
+ declare function handler({ id, gid, sourceUri, startRange, valueInputOption, sourceHasHeaders }: Input, extra: EnrichedExtra): Promise<CallToolResult>;
37
+ export default function createTool(): {
38
+ name: string;
39
+ config: {
40
+ readonly description: "Import CSV to sheet range. Overwrites existing data at startRange. Use rows-csv-append for database-style appends with deduplication.";
41
+ readonly inputSchema: z.ZodObject<{
42
+ id: z.ZodString;
43
+ gid: z.ZodCoercedString<unknown>;
44
+ sourceUri: z.ZodString;
45
+ startRange: z.ZodDefault<z.ZodString>;
46
+ valueInputOption: z.ZodDefault<z.ZodEnum<{
47
+ RAW: "RAW";
48
+ USER_ENTERED: "USER_ENTERED";
49
+ }>>;
50
+ sourceHasHeaders: z.ZodDefault<z.ZodBoolean>;
51
+ }, z.core.$strip>;
52
+ readonly outputSchema: z.ZodObject<{
53
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
54
+ type: z.ZodLiteral<"success">;
55
+ id: z.ZodString;
56
+ gid: z.ZodString;
57
+ spreadsheetTitle: z.ZodString;
58
+ spreadsheetUrl: z.ZodString;
59
+ sheetTitle: z.ZodString;
60
+ sheetUrl: z.ZodString;
61
+ updatedRange: z.ZodString;
62
+ updatedRows: z.ZodNumber;
63
+ updatedColumns: z.ZodNumber;
64
+ updatedCells: z.ZodNumber;
65
+ }, z.core.$strip>, z.ZodObject<{
66
+ type: z.ZodLiteral<"auth_required">;
67
+ provider: z.ZodString;
68
+ message: z.ZodString;
69
+ url: z.ZodOptional<z.ZodString>;
70
+ }, z.core.$strip>], "type">;
71
+ }, z.core.$strip>;
72
+ };
73
+ handler: typeof handler;
74
+ };
75
+ export {};
@@ -0,0 +1,75 @@
1
+ /** Import CSV data to Google Sheets with range-based update (no deduplication) */
2
+ import type { EnrichedExtra } from '@mcp-z/oauth-google';
3
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
4
+ import { z } from 'zod';
5
+ declare const inputSchema: z.ZodObject<{
6
+ id: z.ZodString;
7
+ gid: z.ZodCoercedString<unknown>;
8
+ sourceUri: z.ZodString;
9
+ startRange: z.ZodDefault<z.ZodString>;
10
+ valueInputOption: z.ZodDefault<z.ZodEnum<{
11
+ RAW: "RAW";
12
+ USER_ENTERED: "USER_ENTERED";
13
+ }>>;
14
+ sourceHasHeaders: z.ZodDefault<z.ZodBoolean>;
15
+ }, z.core.$strip>;
16
+ declare const outputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
17
+ type: z.ZodLiteral<"success">;
18
+ id: z.ZodString;
19
+ gid: z.ZodString;
20
+ spreadsheetTitle: z.ZodString;
21
+ spreadsheetUrl: z.ZodString;
22
+ sheetTitle: z.ZodString;
23
+ sheetUrl: z.ZodString;
24
+ updatedRange: z.ZodString;
25
+ updatedRows: z.ZodNumber;
26
+ updatedColumns: z.ZodNumber;
27
+ updatedCells: z.ZodNumber;
28
+ }, z.core.$strip>, z.ZodObject<{
29
+ type: z.ZodLiteral<"auth_required">;
30
+ provider: z.ZodString;
31
+ message: z.ZodString;
32
+ url: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>], "type">;
34
+ export type Input = z.infer<typeof inputSchema>;
35
+ export type Output = z.infer<typeof outputSchema>;
36
+ declare function handler({ id, gid, sourceUri, startRange, valueInputOption, sourceHasHeaders }: Input, extra: EnrichedExtra): Promise<CallToolResult>;
37
+ export default function createTool(): {
38
+ name: string;
39
+ config: {
40
+ readonly description: "Import CSV to sheet range. Overwrites existing data at startRange. Use rows-csv-append for database-style appends with deduplication.";
41
+ readonly inputSchema: z.ZodObject<{
42
+ id: z.ZodString;
43
+ gid: z.ZodCoercedString<unknown>;
44
+ sourceUri: z.ZodString;
45
+ startRange: z.ZodDefault<z.ZodString>;
46
+ valueInputOption: z.ZodDefault<z.ZodEnum<{
47
+ RAW: "RAW";
48
+ USER_ENTERED: "USER_ENTERED";
49
+ }>>;
50
+ sourceHasHeaders: z.ZodDefault<z.ZodBoolean>;
51
+ }, z.core.$strip>;
52
+ readonly outputSchema: z.ZodObject<{
53
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
54
+ type: z.ZodLiteral<"success">;
55
+ id: z.ZodString;
56
+ gid: z.ZodString;
57
+ spreadsheetTitle: z.ZodString;
58
+ spreadsheetUrl: z.ZodString;
59
+ sheetTitle: z.ZodString;
60
+ sheetUrl: z.ZodString;
61
+ updatedRange: z.ZodString;
62
+ updatedRows: z.ZodNumber;
63
+ updatedColumns: z.ZodNumber;
64
+ updatedCells: z.ZodNumber;
65
+ }, z.core.$strip>, z.ZodObject<{
66
+ type: z.ZodLiteral<"auth_required">;
67
+ provider: z.ZodString;
68
+ message: z.ZodString;
69
+ url: z.ZodOptional<z.ZodString>;
70
+ }, z.core.$strip>], "type">;
71
+ }, z.core.$strip>;
72
+ };
73
+ handler: typeof handler;
74
+ };
75
+ export {};