@cesteral/ttd-mcp 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 (427) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +308 -0
  3. package/dist/auth/index.d.ts +3 -0
  4. package/dist/auth/index.d.ts.map +1 -0
  5. package/dist/auth/index.js +3 -0
  6. package/dist/auth/index.js.map +1 -0
  7. package/dist/auth/ttd-auth-adapter.d.ts +21 -0
  8. package/dist/auth/ttd-auth-adapter.d.ts.map +1 -0
  9. package/dist/auth/ttd-auth-adapter.js +70 -0
  10. package/dist/auth/ttd-auth-adapter.js.map +1 -0
  11. package/dist/auth/ttd-auth-strategy.d.ts +10 -0
  12. package/dist/auth/ttd-auth-strategy.d.ts.map +1 -0
  13. package/dist/auth/ttd-auth-strategy.js +28 -0
  14. package/dist/auth/ttd-auth-strategy.js.map +1 -0
  15. package/dist/config/index.d.ts +100 -0
  16. package/dist/config/index.d.ts.map +1 -0
  17. package/dist/config/index.js +47 -0
  18. package/dist/config/index.js.map +1 -0
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +45 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts +4 -0
  24. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts.map +1 -0
  25. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js +286 -0
  26. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js.map +1 -0
  27. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts +4 -0
  28. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts.map +1 -0
  29. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js +245 -0
  30. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
  31. package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.d.ts +4 -0
  32. package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.d.ts.map +1 -0
  33. package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.js +102 -0
  34. package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.js.map +1 -0
  35. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts +4 -0
  36. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts.map +1 -0
  37. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js +299 -0
  38. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js.map +1 -0
  39. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts +4 -0
  40. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts.map +1 -0
  41. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js +170 -0
  42. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js.map +1 -0
  43. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts +4 -0
  44. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts.map +1 -0
  45. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js +215 -0
  46. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js.map +1 -0
  47. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts +4 -0
  48. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts.map +1 -0
  49. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js +162 -0
  50. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js.map +1 -0
  51. package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.d.ts +4 -0
  52. package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.d.ts.map +1 -0
  53. package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.js +163 -0
  54. package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.js.map +1 -0
  55. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts +4 -0
  56. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts.map +1 -0
  57. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js +259 -0
  58. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js.map +1 -0
  59. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts +4 -0
  60. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts.map +1 -0
  61. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js +193 -0
  62. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js.map +1 -0
  63. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts +4 -0
  64. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts.map +1 -0
  65. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js +119 -0
  66. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js.map +1 -0
  67. package/dist/mcp-server/prompts/index.d.ts +9 -0
  68. package/dist/mcp-server/prompts/index.d.ts.map +1 -0
  69. package/dist/mcp-server/prompts/index.js +97 -0
  70. package/dist/mcp-server/prompts/index.js.map +1 -0
  71. package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts +4 -0
  72. package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts.map +1 -0
  73. package/dist/mcp-server/resources/definitions/entity-examples.resource.js +388 -0
  74. package/dist/mcp-server/resources/definitions/entity-examples.resource.js.map +1 -0
  75. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts +3 -0
  76. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts.map +1 -0
  77. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js +145 -0
  78. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js.map +1 -0
  79. package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts +4 -0
  80. package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts.map +1 -0
  81. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js +318 -0
  82. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js.map +1 -0
  83. package/dist/mcp-server/resources/definitions/field-rules.resource.d.ts +3 -0
  84. package/dist/mcp-server/resources/definitions/field-rules.resource.d.ts.map +1 -0
  85. package/dist/mcp-server/resources/definitions/field-rules.resource.js +28 -0
  86. package/dist/mcp-server/resources/definitions/field-rules.resource.js.map +1 -0
  87. package/dist/mcp-server/resources/definitions/graphql-reference.resource.d.ts +3 -0
  88. package/dist/mcp-server/resources/definitions/graphql-reference.resource.d.ts.map +1 -0
  89. package/dist/mcp-server/resources/definitions/graphql-reference.resource.js +442 -0
  90. package/dist/mcp-server/resources/definitions/graphql-reference.resource.js.map +1 -0
  91. package/dist/mcp-server/resources/definitions/index.d.ts +8 -0
  92. package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
  93. package/dist/mcp-server/resources/definitions/index.js +108 -0
  94. package/dist/mcp-server/resources/definitions/index.js.map +1 -0
  95. package/dist/mcp-server/resources/definitions/report-reference.resource.d.ts +3 -0
  96. package/dist/mcp-server/resources/definitions/report-reference.resource.d.ts.map +1 -0
  97. package/dist/mcp-server/resources/definitions/report-reference.resource.js +291 -0
  98. package/dist/mcp-server/resources/definitions/report-reference.resource.js.map +1 -0
  99. package/dist/mcp-server/resources/index.d.ts +3 -0
  100. package/dist/mcp-server/resources/index.d.ts.map +1 -0
  101. package/dist/mcp-server/resources/index.js +2 -0
  102. package/dist/mcp-server/resources/index.js.map +1 -0
  103. package/dist/mcp-server/resources/types.d.ts +8 -0
  104. package/dist/mcp-server/resources/types.d.ts.map +1 -0
  105. package/dist/mcp-server/resources/types.js +2 -0
  106. package/dist/mcp-server/resources/types.js.map +1 -0
  107. package/dist/mcp-server/resources/utils/field-rules.d.ts +18 -0
  108. package/dist/mcp-server/resources/utils/field-rules.d.ts.map +1 -0
  109. package/dist/mcp-server/resources/utils/field-rules.js +117 -0
  110. package/dist/mcp-server/resources/utils/field-rules.js.map +1 -0
  111. package/dist/mcp-server/server.d.ts +5 -0
  112. package/dist/mcp-server/server.d.ts.map +1 -0
  113. package/dist/mcp-server/server.js +162 -0
  114. package/dist/mcp-server/server.js.map +1 -0
  115. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts +1137 -0
  116. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts.map +1 -0
  117. package/dist/mcp-server/tools/definitions/adjust-bids.tool.js +165 -0
  118. package/dist/mcp-server/tools/definitions/adjust-bids.tool.js.map +1 -0
  119. package/dist/mcp-server/tools/definitions/archive-entities.tool.d.ts +145 -0
  120. package/dist/mcp-server/tools/definitions/archive-entities.tool.d.ts.map +1 -0
  121. package/dist/mcp-server/tools/definitions/archive-entities.tool.js +120 -0
  122. package/dist/mcp-server/tools/definitions/archive-entities.tool.js.map +1 -0
  123. package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.d.ts +174 -0
  124. package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.d.ts.map +1 -0
  125. package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.js +141 -0
  126. package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.js.map +1 -0
  127. package/dist/mcp-server/tools/definitions/bid-list.tool.d.ts +225 -0
  128. package/dist/mcp-server/tools/definitions/bid-list.tool.d.ts.map +1 -0
  129. package/dist/mcp-server/tools/definitions/bid-list.tool.js +169 -0
  130. package/dist/mcp-server/tools/definitions/bid-list.tool.js.map +1 -0
  131. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts +198 -0
  132. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts.map +1 -0
  133. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js +135 -0
  134. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js.map +1 -0
  135. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts +258 -0
  136. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts.map +1 -0
  137. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js +187 -0
  138. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js.map +1 -0
  139. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts +170 -0
  140. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts.map +1 -0
  141. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js +137 -0
  142. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js.map +1 -0
  143. package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.d.ts +109 -0
  144. package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.d.ts.map +1 -0
  145. package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.js +134 -0
  146. package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.js.map +1 -0
  147. package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts +112 -0
  148. package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts.map +1 -0
  149. package/dist/mcp-server/tools/definitions/check-report-status.tool.js +94 -0
  150. package/dist/mcp-server/tools/definitions/check-report-status.tool.js.map +1 -0
  151. package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.d.ts +181 -0
  152. package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.d.ts.map +1 -0
  153. package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.js +52 -0
  154. package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.js.map +1 -0
  155. package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.d.ts +300 -0
  156. package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.d.ts.map +1 -0
  157. package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.js +63 -0
  158. package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.js.map +1 -0
  159. package/dist/mcp-server/tools/definitions/create-ad-groups.tool.d.ts +482 -0
  160. package/dist/mcp-server/tools/definitions/create-ad-groups.tool.d.ts.map +1 -0
  161. package/dist/mcp-server/tools/definitions/create-ad-groups.tool.js +121 -0
  162. package/dist/mcp-server/tools/definitions/create-ad-groups.tool.js.map +1 -0
  163. package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.d.ts +172 -0
  164. package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.d.ts.map +1 -0
  165. package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.js +55 -0
  166. package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.js.map +1 -0
  167. package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.d.ts +286 -0
  168. package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.d.ts.map +1 -0
  169. package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.js +63 -0
  170. package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.js.map +1 -0
  171. package/dist/mcp-server/tools/definitions/create-campaigns.tool.d.ts +458 -0
  172. package/dist/mcp-server/tools/definitions/create-campaigns.tool.d.ts.map +1 -0
  173. package/dist/mcp-server/tools/definitions/create-campaigns.tool.js +124 -0
  174. package/dist/mcp-server/tools/definitions/create-campaigns.tool.js.map +1 -0
  175. package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts +196 -0
  176. package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts.map +1 -0
  177. package/dist/mcp-server/tools/definitions/create-entity.tool.js +126 -0
  178. package/dist/mcp-server/tools/definitions/create-entity.tool.js.map +1 -0
  179. package/dist/mcp-server/tools/definitions/create-report-schedule.tool.d.ts +147 -0
  180. package/dist/mcp-server/tools/definitions/create-report-schedule.tool.d.ts.map +1 -0
  181. package/dist/mcp-server/tools/definitions/create-report-schedule.tool.js +171 -0
  182. package/dist/mcp-server/tools/definitions/create-report-schedule.tool.js.map +1 -0
  183. package/dist/mcp-server/tools/definitions/create-report-template.tool.d.ts +370 -0
  184. package/dist/mcp-server/tools/definitions/create-report-template.tool.d.ts.map +1 -0
  185. package/dist/mcp-server/tools/definitions/create-report-template.tool.js +224 -0
  186. package/dist/mcp-server/tools/definitions/create-report-template.tool.js.map +1 -0
  187. package/dist/mcp-server/tools/definitions/create-template-schedule.tool.d.ts +316 -0
  188. package/dist/mcp-server/tools/definitions/create-template-schedule.tool.d.ts.map +1 -0
  189. package/dist/mcp-server/tools/definitions/create-template-schedule.tool.js +247 -0
  190. package/dist/mcp-server/tools/definitions/create-template-schedule.tool.js.map +1 -0
  191. package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts +147 -0
  192. package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts.map +1 -0
  193. package/dist/mcp-server/tools/definitions/delete-entity.tool.js +112 -0
  194. package/dist/mcp-server/tools/definitions/delete-entity.tool.js.map +1 -0
  195. package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.d.ts +79 -0
  196. package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.d.ts.map +1 -0
  197. package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.js +89 -0
  198. package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.js.map +1 -0
  199. package/dist/mcp-server/tools/definitions/download-report.tool.d.ts +297 -0
  200. package/dist/mcp-server/tools/definitions/download-report.tool.d.ts.map +1 -0
  201. package/dist/mcp-server/tools/definitions/download-report.tool.js +160 -0
  202. package/dist/mcp-server/tools/definitions/download-report.tool.js.map +1 -0
  203. package/dist/mcp-server/tools/definitions/execute-entity-report.tool.d.ts +147 -0
  204. package/dist/mcp-server/tools/definitions/execute-entity-report.tool.d.ts.map +1 -0
  205. package/dist/mcp-server/tools/definitions/execute-entity-report.tool.js +134 -0
  206. package/dist/mcp-server/tools/definitions/execute-entity-report.tool.js.map +1 -0
  207. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts +80 -0
  208. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts.map +1 -0
  209. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js +82 -0
  210. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js.map +1 -0
  211. package/dist/mcp-server/tools/definitions/get-campaign-version.tool.d.ts +61 -0
  212. package/dist/mcp-server/tools/definitions/get-campaign-version.tool.d.ts.map +1 -0
  213. package/dist/mcp-server/tools/definitions/get-campaign-version.tool.js +51 -0
  214. package/dist/mcp-server/tools/definitions/get-campaign-version.tool.js.map +1 -0
  215. package/dist/mcp-server/tools/definitions/get-context.tool.d.ts +77 -0
  216. package/dist/mcp-server/tools/definitions/get-context.tool.d.ts.map +1 -0
  217. package/dist/mcp-server/tools/definitions/get-context.tool.js +80 -0
  218. package/dist/mcp-server/tools/definitions/get-context.tool.js.map +1 -0
  219. package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.d.ts +169 -0
  220. package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.d.ts.map +1 -0
  221. package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.js +138 -0
  222. package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.js.map +1 -0
  223. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +129 -0
  224. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts.map +1 -0
  225. package/dist/mcp-server/tools/definitions/get-entity.tool.js +88 -0
  226. package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
  227. package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.d.ts +110 -0
  228. package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.d.ts.map +1 -0
  229. package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.js +58 -0
  230. package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.js.map +1 -0
  231. package/dist/mcp-server/tools/definitions/get-job-status.tool.d.ts +61 -0
  232. package/dist/mcp-server/tools/definitions/get-job-status.tool.d.ts.map +1 -0
  233. package/dist/mcp-server/tools/definitions/get-job-status.tool.js +54 -0
  234. package/dist/mcp-server/tools/definitions/get-job-status.tool.js.map +1 -0
  235. package/dist/mcp-server/tools/definitions/get-report-executions.tool.d.ts +131 -0
  236. package/dist/mcp-server/tools/definitions/get-report-executions.tool.d.ts.map +1 -0
  237. package/dist/mcp-server/tools/definitions/get-report-executions.tool.js +253 -0
  238. package/dist/mcp-server/tools/definitions/get-report-executions.tool.js.map +1 -0
  239. package/dist/mcp-server/tools/definitions/get-report-schedule.tool.d.ts +197 -0
  240. package/dist/mcp-server/tools/definitions/get-report-schedule.tool.d.ts.map +1 -0
  241. package/dist/mcp-server/tools/definitions/get-report-schedule.tool.js +66 -0
  242. package/dist/mcp-server/tools/definitions/get-report-schedule.tool.js.map +1 -0
  243. package/dist/mcp-server/tools/definitions/get-report-template.tool.d.ts +303 -0
  244. package/dist/mcp-server/tools/definitions/get-report-template.tool.d.ts.map +1 -0
  245. package/dist/mcp-server/tools/definitions/get-report-template.tool.js +139 -0
  246. package/dist/mcp-server/tools/definitions/get-report-template.tool.js.map +1 -0
  247. package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.d.ts +152 -0
  248. package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.d.ts.map +1 -0
  249. package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.js +167 -0
  250. package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.js.map +1 -0
  251. package/dist/mcp-server/tools/definitions/get-report.tool.d.ts +126 -0
  252. package/dist/mcp-server/tools/definitions/get-report.tool.d.ts.map +1 -0
  253. package/dist/mcp-server/tools/definitions/get-report.tool.js +138 -0
  254. package/dist/mcp-server/tools/definitions/get-report.tool.js.map +1 -0
  255. package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.d.ts +104 -0
  256. package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.d.ts.map +1 -0
  257. package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.js +57 -0
  258. package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.js.map +1 -0
  259. package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.d.ts +92 -0
  260. package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.d.ts.map +1 -0
  261. package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.js +124 -0
  262. package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.js.map +1 -0
  263. package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.d.ts +68 -0
  264. package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.d.ts.map +1 -0
  265. package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.js +102 -0
  266. package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.js.map +1 -0
  267. package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.d.ts +102 -0
  268. package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.d.ts.map +1 -0
  269. package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.js +152 -0
  270. package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.js.map +1 -0
  271. package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.d.ts +93 -0
  272. package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.d.ts.map +1 -0
  273. package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.js +133 -0
  274. package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.js.map +1 -0
  275. package/dist/mcp-server/tools/definitions/graphql-query.tool.d.ts +189 -0
  276. package/dist/mcp-server/tools/definitions/graphql-query.tool.d.ts.map +1 -0
  277. package/dist/mcp-server/tools/definitions/graphql-query.tool.js +143 -0
  278. package/dist/mcp-server/tools/definitions/graphql-query.tool.js.map +1 -0
  279. package/dist/mcp-server/tools/definitions/index.d.ts +45 -0
  280. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
  281. package/dist/mcp-server/tools/definitions/index.js +135 -0
  282. package/dist/mcp-server/tools/definitions/index.js.map +1 -0
  283. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +231 -0
  284. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts.map +1 -0
  285. package/dist/mcp-server/tools/definitions/list-entities.tool.js +147 -0
  286. package/dist/mcp-server/tools/definitions/list-entities.tool.js.map +1 -0
  287. package/dist/mcp-server/tools/definitions/list-report-schedules.tool.d.ts +282 -0
  288. package/dist/mcp-server/tools/definitions/list-report-schedules.tool.d.ts.map +1 -0
  289. package/dist/mcp-server/tools/definitions/list-report-schedules.tool.js +128 -0
  290. package/dist/mcp-server/tools/definitions/list-report-schedules.tool.js.map +1 -0
  291. package/dist/mcp-server/tools/definitions/list-report-templates.tool.d.ts +140 -0
  292. package/dist/mcp-server/tools/definitions/list-report-templates.tool.d.ts.map +1 -0
  293. package/dist/mcp-server/tools/definitions/list-report-templates.tool.js +118 -0
  294. package/dist/mcp-server/tools/definitions/list-report-templates.tool.js.map +1 -0
  295. package/dist/mcp-server/tools/definitions/list-report-types.tool.d.ts +97 -0
  296. package/dist/mcp-server/tools/definitions/list-report-types.tool.d.ts.map +1 -0
  297. package/dist/mcp-server/tools/definitions/list-report-types.tool.js +89 -0
  298. package/dist/mcp-server/tools/definitions/list-report-types.tool.js.map +1 -0
  299. package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.d.ts +109 -0
  300. package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.d.ts.map +1 -0
  301. package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.js +130 -0
  302. package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.js.map +1 -0
  303. package/dist/mcp-server/tools/definitions/rest-request.tool.d.ts +74 -0
  304. package/dist/mcp-server/tools/definitions/rest-request.tool.d.ts.map +1 -0
  305. package/dist/mcp-server/tools/definitions/rest-request.tool.js +54 -0
  306. package/dist/mcp-server/tools/definitions/rest-request.tool.js.map +1 -0
  307. package/dist/mcp-server/tools/definitions/seed.tool.d.ts +156 -0
  308. package/dist/mcp-server/tools/definitions/seed.tool.d.ts.map +1 -0
  309. package/dist/mcp-server/tools/definitions/seed.tool.js +316 -0
  310. package/dist/mcp-server/tools/definitions/seed.tool.js.map +1 -0
  311. package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts +114 -0
  312. package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts.map +1 -0
  313. package/dist/mcp-server/tools/definitions/submit-report.tool.js +136 -0
  314. package/dist/mcp-server/tools/definitions/submit-report.tool.js.map +1 -0
  315. package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.d.ts +82 -0
  316. package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.d.ts.map +1 -0
  317. package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.js +51 -0
  318. package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.js.map +1 -0
  319. package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.d.ts +158 -0
  320. package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.d.ts.map +1 -0
  321. package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.js +63 -0
  322. package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.js.map +1 -0
  323. package/dist/mcp-server/tools/definitions/update-ad-groups.tool.d.ts +241 -0
  324. package/dist/mcp-server/tools/definitions/update-ad-groups.tool.d.ts.map +1 -0
  325. package/dist/mcp-server/tools/definitions/update-ad-groups.tool.js +120 -0
  326. package/dist/mcp-server/tools/definitions/update-ad-groups.tool.js.map +1 -0
  327. package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.d.ts +82 -0
  328. package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.d.ts.map +1 -0
  329. package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.js +53 -0
  330. package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.js.map +1 -0
  331. package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.d.ts +158 -0
  332. package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.d.ts.map +1 -0
  333. package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.js +63 -0
  334. package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.js.map +1 -0
  335. package/dist/mcp-server/tools/definitions/update-campaigns.tool.d.ts +241 -0
  336. package/dist/mcp-server/tools/definitions/update-campaigns.tool.d.ts.map +1 -0
  337. package/dist/mcp-server/tools/definitions/update-campaigns.tool.js +120 -0
  338. package/dist/mcp-server/tools/definitions/update-campaigns.tool.js.map +1 -0
  339. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts +164 -0
  340. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts.map +1 -0
  341. package/dist/mcp-server/tools/definitions/update-entity.tool.js +101 -0
  342. package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
  343. package/dist/mcp-server/tools/definitions/update-report-schedule.tool.d.ts +116 -0
  344. package/dist/mcp-server/tools/definitions/update-report-schedule.tool.d.ts.map +1 -0
  345. package/dist/mcp-server/tools/definitions/update-report-schedule.tool.js +134 -0
  346. package/dist/mcp-server/tools/definitions/update-report-schedule.tool.js.map +1 -0
  347. package/dist/mcp-server/tools/definitions/update-report-template.tool.d.ts +358 -0
  348. package/dist/mcp-server/tools/definitions/update-report-template.tool.d.ts.map +1 -0
  349. package/dist/mcp-server/tools/definitions/update-report-template.tool.js +156 -0
  350. package/dist/mcp-server/tools/definitions/update-report-template.tool.js.map +1 -0
  351. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +226 -0
  352. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts.map +1 -0
  353. package/dist/mcp-server/tools/definitions/validate-entity.tool.js +205 -0
  354. package/dist/mcp-server/tools/definitions/validate-entity.tool.js.map +1 -0
  355. package/dist/mcp-server/tools/index.d.ts +2 -0
  356. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  357. package/dist/mcp-server/tools/index.js +2 -0
  358. package/dist/mcp-server/tools/index.js.map +1 -0
  359. package/dist/mcp-server/tools/utils/entity-mapping.d.ts +18 -0
  360. package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
  361. package/dist/mcp-server/tools/utils/entity-mapping.js +66 -0
  362. package/dist/mcp-server/tools/utils/entity-mapping.js.map +1 -0
  363. package/dist/mcp-server/tools/utils/graphql-errors.d.ts +13 -0
  364. package/dist/mcp-server/tools/utils/graphql-errors.d.ts.map +1 -0
  365. package/dist/mcp-server/tools/utils/graphql-errors.js +48 -0
  366. package/dist/mcp-server/tools/utils/graphql-errors.js.map +1 -0
  367. package/dist/mcp-server/tools/utils/parent-id-validation.d.ts +11 -0
  368. package/dist/mcp-server/tools/utils/parent-id-validation.d.ts.map +1 -0
  369. package/dist/mcp-server/tools/utils/parent-id-validation.js +60 -0
  370. package/dist/mcp-server/tools/utils/parent-id-validation.js.map +1 -0
  371. package/dist/mcp-server/tools/utils/resolve-session.d.ts +4 -0
  372. package/dist/mcp-server/tools/utils/resolve-session.d.ts.map +1 -0
  373. package/dist/mcp-server/tools/utils/resolve-session.js +6 -0
  374. package/dist/mcp-server/tools/utils/resolve-session.js.map +1 -0
  375. package/dist/mcp-server/tools/utils/workflow-schemas.d.ts +646 -0
  376. package/dist/mcp-server/tools/utils/workflow-schemas.d.ts.map +1 -0
  377. package/dist/mcp-server/tools/utils/workflow-schemas.js +173 -0
  378. package/dist/mcp-server/tools/utils/workflow-schemas.js.map +1 -0
  379. package/dist/mcp-server/transports/streamable-http-transport.d.ts +49 -0
  380. package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
  381. package/dist/mcp-server/transports/streamable-http-transport.js +74 -0
  382. package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
  383. package/dist/services/session-services.d.ts +22 -0
  384. package/dist/services/session-services.d.ts.map +1 -0
  385. package/dist/services/session-services.js +24 -0
  386. package/dist/services/session-services.js.map +1 -0
  387. package/dist/services/ttd/ttd-http-client.d.ts +13 -0
  388. package/dist/services/ttd/ttd-http-client.d.ts.map +1 -0
  389. package/dist/services/ttd/ttd-http-client.js +70 -0
  390. package/dist/services/ttd/ttd-http-client.js.map +1 -0
  391. package/dist/services/ttd/ttd-reporting-service.d.ts +79 -0
  392. package/dist/services/ttd/ttd-reporting-service.d.ts.map +1 -0
  393. package/dist/services/ttd/ttd-reporting-service.js +180 -0
  394. package/dist/services/ttd/ttd-reporting-service.js.map +1 -0
  395. package/dist/services/ttd/ttd-service.d.ts +107 -0
  396. package/dist/services/ttd/ttd-service.d.ts.map +1 -0
  397. package/dist/services/ttd/ttd-service.js +307 -0
  398. package/dist/services/ttd/ttd-service.js.map +1 -0
  399. package/dist/services/ttd/types.d.ts +153 -0
  400. package/dist/services/ttd/types.d.ts.map +1 -0
  401. package/dist/services/ttd/types.js +30 -0
  402. package/dist/services/ttd/types.js.map +1 -0
  403. package/dist/types-global/mcp.d.ts +2 -0
  404. package/dist/types-global/mcp.d.ts.map +1 -0
  405. package/dist/types-global/mcp.js +2 -0
  406. package/dist/types-global/mcp.js.map +1 -0
  407. package/dist/utils/errors/index.d.ts +2 -0
  408. package/dist/utils/errors/index.d.ts.map +1 -0
  409. package/dist/utils/errors/index.js +2 -0
  410. package/dist/utils/errors/index.js.map +1 -0
  411. package/dist/utils/platform.d.ts +3 -0
  412. package/dist/utils/platform.d.ts.map +1 -0
  413. package/dist/utils/platform.js +5 -0
  414. package/dist/utils/platform.js.map +1 -0
  415. package/dist/utils/security/rate-limiter.d.ts +3 -0
  416. package/dist/utils/security/rate-limiter.d.ts.map +1 -0
  417. package/dist/utils/security/rate-limiter.js +5 -0
  418. package/dist/utils/security/rate-limiter.js.map +1 -0
  419. package/dist/utils/telemetry/index.d.ts +2 -0
  420. package/dist/utils/telemetry/index.d.ts.map +1 -0
  421. package/dist/utils/telemetry/index.js +2 -0
  422. package/dist/utils/telemetry/index.js.map +1 -0
  423. package/dist/utils/telemetry/tracing.d.ts +3 -0
  424. package/dist/utils/telemetry/tracing.d.ts.map +1 -0
  425. package/dist/utils/telemetry/tracing.js +4 -0
  426. package/dist/utils/telemetry/tracing.js.map +1 -0
  427. package/package.json +56 -0
@@ -0,0 +1,316 @@
1
+ import { z } from "zod";
2
+ import { resolveSessionServices } from "../utils/resolve-session.js";
3
+ import { McpError, JsonRpcErrorCode } from "@cesteral/shared";
4
+ import { throwIfGraphqlErrors } from "../utils/graphql-errors.js";
5
+ const TOOL_NAME = "ttd_manage_seed";
6
+ const TOOL_TITLE = "TTD Manage Seed";
7
+ const TOOL_DESCRIPTION = `Manage audience seed segments in The Trade Desk via GraphQL.
8
+
9
+ Supports creating, updating, and retrieving seed definitions, setting a default seed for an advertiser, and attaching/detaching a seed from a campaign.
10
+
11
+ ### Operations
12
+ - **create** — Create a new audience seed for an advertiser (requires \`advertiserId\` + \`data\`)
13
+ - **update** — Update an existing seed's properties (requires \`seedId\` + \`data\`)
14
+ - **get** — Retrieve seed details including quality and active ID count (requires \`seedId\`)
15
+ - **set_default_advertiser** — Set a seed as the default for an advertiser (requires \`advertiserId\` + \`seedId\`)
16
+ - **attach_to_campaign** — Attach or detach a seed from a campaign (requires \`campaignId\` + \`seedId\`; set \`seedId\` to null in \`data\` to detach)
17
+
18
+ ### Notes
19
+ - Seed quality and activeSeedIdCount are available on the \`get\` operation
20
+ - Use \`ttd_graphql_query\` for advanced seed queries not covered by this tool`;
21
+ const SEED_CREATE_MUTATION = `mutation SeedCreate($input: SeedCreateInput!) {
22
+ seedCreate(input: $input) {
23
+ data {
24
+ id
25
+ name
26
+ status
27
+ quality
28
+ }
29
+ userErrors {
30
+ field
31
+ message
32
+ }
33
+ }
34
+ }`;
35
+ const SEED_UPDATE_MUTATION = `mutation SeedUpdate($input: SeedUpdateInput!) {
36
+ seedUpdate(input: $input) {
37
+ data {
38
+ id
39
+ name
40
+ status
41
+ }
42
+ userErrors {
43
+ field
44
+ message
45
+ }
46
+ }
47
+ }`;
48
+ const ADVERTISER_SET_DEFAULT_SEED_MUTATION = `mutation AdvertiserSetDefaultSeed($input: AdvertiserSetDefaultSeedInput!) {
49
+ advertiserSetDefaultSeed(input: $input) {
50
+ data {
51
+ id
52
+ }
53
+ userErrors {
54
+ field
55
+ message
56
+ }
57
+ }
58
+ }`;
59
+ const CAMPAIGN_UPDATE_SEED_MUTATION = `mutation CampaignUpdateSeed($input: CampaignUpdateSeedInput!) {
60
+ campaignUpdateSeed(input: $input) {
61
+ data {
62
+ id
63
+ }
64
+ userErrors {
65
+ field
66
+ message
67
+ }
68
+ }
69
+ }`;
70
+ const GET_SEED_QUERY = `query GetSeed($id: ID!) {
71
+ seed(id: $id) {
72
+ id
73
+ name
74
+ status
75
+ quality
76
+ activeSeedIdCount
77
+ }
78
+ }`;
79
+ export const ManageSeedInputSchema = z
80
+ .object({
81
+ operation: z
82
+ .enum(["create", "update", "get", "set_default_advertiser", "attach_to_campaign"])
83
+ .describe("Seed management operation to perform"),
84
+ seedId: z
85
+ .string()
86
+ .optional()
87
+ .describe("Required for update, get, set_default_advertiser, attach_to_campaign"),
88
+ advertiserId: z.string().optional().describe("Required for create and set_default_advertiser"),
89
+ campaignId: z.string().optional().describe("Required for attach_to_campaign"),
90
+ data: z
91
+ .record(z.any())
92
+ .optional()
93
+ .describe("Seed payload for create/update (name, description, etc.)"),
94
+ })
95
+ .superRefine((val, ctx) => {
96
+ if ((val.operation === "update" ||
97
+ val.operation === "get" ||
98
+ val.operation === "set_default_advertiser" ||
99
+ val.operation === "attach_to_campaign") &&
100
+ !val.seedId) {
101
+ ctx.addIssue({
102
+ code: z.ZodIssueCode.custom,
103
+ message: "seedId is required for this operation",
104
+ path: ["seedId"],
105
+ });
106
+ }
107
+ if (val.operation === "create" && !val.advertiserId) {
108
+ ctx.addIssue({
109
+ code: z.ZodIssueCode.custom,
110
+ message: "advertiserId is required for create",
111
+ path: ["advertiserId"],
112
+ });
113
+ }
114
+ if (val.operation === "create" && !val.data) {
115
+ ctx.addIssue({
116
+ code: z.ZodIssueCode.custom,
117
+ message: "data is required for create",
118
+ path: ["data"],
119
+ });
120
+ }
121
+ if (val.operation === "set_default_advertiser" && !val.advertiserId) {
122
+ ctx.addIssue({
123
+ code: z.ZodIssueCode.custom,
124
+ message: "advertiserId is required for set_default_advertiser",
125
+ path: ["advertiserId"],
126
+ });
127
+ }
128
+ if (val.operation === "attach_to_campaign" && !val.campaignId) {
129
+ ctx.addIssue({
130
+ code: z.ZodIssueCode.custom,
131
+ message: "campaignId is required for attach_to_campaign",
132
+ path: ["campaignId"],
133
+ });
134
+ }
135
+ });
136
+ export const ManageSeedOutputSchema = z.object({
137
+ operation: z.string().describe("The operation that was performed"),
138
+ seedId: z.string().optional().describe("ID of the seed affected"),
139
+ result: z.record(z.any()).optional().describe("Data returned by the API"),
140
+ timestamp: z.string().datetime(),
141
+ });
142
+ function throwIfUserErrors(userErrors, defaultMessage) {
143
+ if (userErrors.length === 0)
144
+ return;
145
+ const messages = userErrors.map((e) => e.message ?? JSON.stringify(e)).join("; ");
146
+ throw new McpError(JsonRpcErrorCode.InvalidParams, `${defaultMessage}: ${messages}`, {
147
+ userErrors,
148
+ });
149
+ }
150
+ export async function manageSeedLogic(input, context, sdkContext) {
151
+ const { ttdService } = resolveSessionServices(sdkContext);
152
+ const timestamp = new Date().toISOString();
153
+ switch (input.operation) {
154
+ case "create": {
155
+ const result = (await ttdService.graphqlQuery(SEED_CREATE_MUTATION, { input: { advertiserId: input.advertiserId, ...input.data } }, context));
156
+ throwIfGraphqlErrors(result, "Failed to create seed");
157
+ const payload = result.data?.seedCreate;
158
+ throwIfUserErrors(payload?.userErrors ?? [], "Seed creation failed");
159
+ const seedData = payload?.data;
160
+ return {
161
+ operation: "create",
162
+ seedId: seedData?.id,
163
+ result: seedData,
164
+ timestamp,
165
+ };
166
+ }
167
+ case "update": {
168
+ const result = (await ttdService.graphqlQuery(SEED_UPDATE_MUTATION, { input: { id: input.seedId, ...input.data } }, context));
169
+ throwIfGraphqlErrors(result, "Failed to update seed");
170
+ const payload = result.data?.seedUpdate;
171
+ throwIfUserErrors(payload?.userErrors ?? [], "Seed update failed");
172
+ const seedData = payload?.data;
173
+ return {
174
+ operation: "update",
175
+ seedId: (seedData?.id ?? input.seedId),
176
+ result: seedData,
177
+ timestamp,
178
+ };
179
+ }
180
+ case "get": {
181
+ const result = (await ttdService.graphqlQuery(GET_SEED_QUERY, { id: input.seedId }, context));
182
+ throwIfGraphqlErrors(result, "Failed to get seed");
183
+ const seedData = result.data?.seed;
184
+ return {
185
+ operation: "get",
186
+ seedId: (seedData?.id ?? input.seedId),
187
+ result: seedData,
188
+ timestamp,
189
+ };
190
+ }
191
+ case "set_default_advertiser": {
192
+ const result = (await ttdService.graphqlQuery(ADVERTISER_SET_DEFAULT_SEED_MUTATION, { input: { advertiserId: input.advertiserId, seedId: input.seedId } }, context));
193
+ throwIfGraphqlErrors(result, "Failed to set default seed");
194
+ const payload = result.data?.advertiserSetDefaultSeed;
195
+ throwIfUserErrors(payload?.userErrors ?? [], "Set default seed failed");
196
+ const advertiserData = payload?.data;
197
+ return {
198
+ operation: "set_default_advertiser",
199
+ seedId: input.seedId,
200
+ result: advertiserData,
201
+ timestamp,
202
+ };
203
+ }
204
+ case "attach_to_campaign": {
205
+ const result = (await ttdService.graphqlQuery(CAMPAIGN_UPDATE_SEED_MUTATION, { input: { campaignId: input.campaignId, seedId: input.seedId } }, context));
206
+ throwIfGraphqlErrors(result, "Failed to attach seed to campaign");
207
+ const payload = result.data?.campaignUpdateSeed;
208
+ throwIfUserErrors(payload?.userErrors ?? [], "Campaign seed attachment failed");
209
+ const campaignData = payload?.data;
210
+ return {
211
+ operation: "attach_to_campaign",
212
+ seedId: input.seedId,
213
+ result: campaignData,
214
+ timestamp,
215
+ };
216
+ }
217
+ }
218
+ }
219
+ export function manageSeedResponseFormatter(result) {
220
+ const lines = [];
221
+ switch (result.operation) {
222
+ case "create":
223
+ lines.push(`Seed created successfully.`);
224
+ if (result.seedId)
225
+ lines.push(`Seed ID: ${result.seedId}`);
226
+ break;
227
+ case "update":
228
+ lines.push(`Seed updated successfully.`);
229
+ if (result.seedId)
230
+ lines.push(`Seed ID: ${result.seedId}`);
231
+ break;
232
+ case "get": {
233
+ lines.push(`Seed details retrieved.`);
234
+ if (result.seedId)
235
+ lines.push(`Seed ID: ${result.seedId}`);
236
+ const r = result.result ?? {};
237
+ if (r.name)
238
+ lines.push(`Name: ${r.name}`);
239
+ if (r.status)
240
+ lines.push(`Status: ${r.status}`);
241
+ if (r.quality)
242
+ lines.push(`Quality: ${r.quality}`);
243
+ if (r.activeSeedIdCount !== undefined)
244
+ lines.push(`Active Seed ID Count: ${r.activeSeedIdCount}`);
245
+ break;
246
+ }
247
+ case "set_default_advertiser":
248
+ lines.push(`Default seed set for advertiser.`);
249
+ if (result.seedId)
250
+ lines.push(`Seed ID: ${result.seedId}`);
251
+ break;
252
+ case "attach_to_campaign":
253
+ lines.push(`Seed attached to campaign.`);
254
+ if (result.seedId)
255
+ lines.push(`Seed ID: ${result.seedId}`);
256
+ if (result.result?.id)
257
+ lines.push(`Campaign ID: ${result.result.id}`);
258
+ break;
259
+ default:
260
+ lines.push(`Operation "${result.operation}" completed.`);
261
+ }
262
+ if (result.result) {
263
+ lines.push(`\nRaw result:\n${JSON.stringify(result.result, null, 2)}`);
264
+ }
265
+ lines.push(`\nTimestamp: ${result.timestamp}`);
266
+ return [{ type: "text", text: lines.join("\n") }];
267
+ }
268
+ export const manageSeedTool = {
269
+ name: TOOL_NAME,
270
+ title: TOOL_TITLE,
271
+ description: TOOL_DESCRIPTION,
272
+ inputSchema: ManageSeedInputSchema,
273
+ outputSchema: ManageSeedOutputSchema,
274
+ annotations: {
275
+ readOnlyHint: false,
276
+ destructiveHint: false,
277
+ idempotentHint: false,
278
+ openWorldHint: true,
279
+ },
280
+ inputExamples: [
281
+ {
282
+ label: "Create a new audience seed",
283
+ input: {
284
+ operation: "create",
285
+ advertiserId: "adv123abc",
286
+ data: { name: "High-Value Users", description: "Retargeting seed for high-value visitors" },
287
+ },
288
+ },
289
+ {
290
+ label: "Get seed details",
291
+ input: {
292
+ operation: "get",
293
+ seedId: "seed456def",
294
+ },
295
+ },
296
+ {
297
+ label: "Set default seed for an advertiser",
298
+ input: {
299
+ operation: "set_default_advertiser",
300
+ advertiserId: "adv123abc",
301
+ seedId: "seed456def",
302
+ },
303
+ },
304
+ {
305
+ label: "Attach seed to a campaign",
306
+ input: {
307
+ operation: "attach_to_campaign",
308
+ campaignId: "camp789ghi",
309
+ seedId: "seed456def",
310
+ },
311
+ },
312
+ ],
313
+ logic: manageSeedLogic,
314
+ responseFormatter: manageSeedResponseFormatter,
315
+ };
316
+ //# sourceMappingURL=seed.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/seed.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { z } from "zod";
2
+ import type { McpTextContent, RequestContext } from "@cesteral/shared";
3
+ import type { SdkContext } from "@cesteral/shared";
4
+ export declare const SubmitReportInputSchema: z.ZodObject<{
5
+ reportName: z.ZodString;
6
+ dateRange: z.ZodEnum<["Yesterday", "Last7Days", "Last14Days", "Last30Days", "LastXDays", "MonthToDate", "LastMonth", "QuarterToDate", "LastQuarter", "YearToDate", "Custom"]>;
7
+ reportTemplateId: z.ZodNumber;
8
+ fileFormat: z.ZodDefault<z.ZodOptional<z.ZodEnum<["CSV", "TSV", "ExcelPivot"]>>>;
9
+ scheduleStartDate: z.ZodOptional<z.ZodString>;
10
+ advertiserIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
+ dimensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ metrics: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ additionalConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ reportName: string;
16
+ dateRange: "Yesterday" | "Last7Days" | "Last14Days" | "Last30Days" | "LastXDays" | "MonthToDate" | "LastMonth" | "QuarterToDate" | "LastQuarter" | "YearToDate" | "Custom";
17
+ reportTemplateId: number;
18
+ fileFormat: "CSV" | "TSV" | "ExcelPivot";
19
+ scheduleStartDate?: string | undefined;
20
+ advertiserIds?: string[] | undefined;
21
+ dimensions?: string[] | undefined;
22
+ metrics?: string[] | undefined;
23
+ additionalConfig?: Record<string, any> | undefined;
24
+ }, {
25
+ reportName: string;
26
+ dateRange: "Yesterday" | "Last7Days" | "Last14Days" | "Last30Days" | "LastXDays" | "MonthToDate" | "LastMonth" | "QuarterToDate" | "LastQuarter" | "YearToDate" | "Custom";
27
+ reportTemplateId: number;
28
+ fileFormat?: "CSV" | "TSV" | "ExcelPivot" | undefined;
29
+ scheduleStartDate?: string | undefined;
30
+ advertiserIds?: string[] | undefined;
31
+ dimensions?: string[] | undefined;
32
+ metrics?: string[] | undefined;
33
+ additionalConfig?: Record<string, any> | undefined;
34
+ }>;
35
+ export declare const SubmitReportOutputSchema: z.ZodObject<{
36
+ reportScheduleId: z.ZodString;
37
+ timestamp: z.ZodString;
38
+ }, "strip", z.ZodTypeAny, {
39
+ reportScheduleId: string;
40
+ timestamp: string;
41
+ }, {
42
+ reportScheduleId: string;
43
+ timestamp: string;
44
+ }>;
45
+ type SubmitReportInput = z.infer<typeof SubmitReportInputSchema>;
46
+ type SubmitReportOutput = z.infer<typeof SubmitReportOutputSchema>;
47
+ export declare function submitReportLogic(input: SubmitReportInput, context: RequestContext, sdkContext?: SdkContext): Promise<SubmitReportOutput>;
48
+ export declare function submitReportResponseFormatter(result: SubmitReportOutput): McpTextContent[];
49
+ export declare const submitReportTool: {
50
+ name: string;
51
+ title: string;
52
+ description: string;
53
+ inputSchema: z.ZodObject<{
54
+ reportName: z.ZodString;
55
+ dateRange: z.ZodEnum<["Yesterday", "Last7Days", "Last14Days", "Last30Days", "LastXDays", "MonthToDate", "LastMonth", "QuarterToDate", "LastQuarter", "YearToDate", "Custom"]>;
56
+ reportTemplateId: z.ZodNumber;
57
+ fileFormat: z.ZodDefault<z.ZodOptional<z.ZodEnum<["CSV", "TSV", "ExcelPivot"]>>>;
58
+ scheduleStartDate: z.ZodOptional<z.ZodString>;
59
+ advertiserIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
60
+ dimensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
61
+ metrics: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
62
+ additionalConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ reportName: string;
65
+ dateRange: "Yesterday" | "Last7Days" | "Last14Days" | "Last30Days" | "LastXDays" | "MonthToDate" | "LastMonth" | "QuarterToDate" | "LastQuarter" | "YearToDate" | "Custom";
66
+ reportTemplateId: number;
67
+ fileFormat: "CSV" | "TSV" | "ExcelPivot";
68
+ scheduleStartDate?: string | undefined;
69
+ advertiserIds?: string[] | undefined;
70
+ dimensions?: string[] | undefined;
71
+ metrics?: string[] | undefined;
72
+ additionalConfig?: Record<string, any> | undefined;
73
+ }, {
74
+ reportName: string;
75
+ dateRange: "Yesterday" | "Last7Days" | "Last14Days" | "Last30Days" | "LastXDays" | "MonthToDate" | "LastMonth" | "QuarterToDate" | "LastQuarter" | "YearToDate" | "Custom";
76
+ reportTemplateId: number;
77
+ fileFormat?: "CSV" | "TSV" | "ExcelPivot" | undefined;
78
+ scheduleStartDate?: string | undefined;
79
+ advertiserIds?: string[] | undefined;
80
+ dimensions?: string[] | undefined;
81
+ metrics?: string[] | undefined;
82
+ additionalConfig?: Record<string, any> | undefined;
83
+ }>;
84
+ outputSchema: z.ZodObject<{
85
+ reportScheduleId: z.ZodString;
86
+ timestamp: z.ZodString;
87
+ }, "strip", z.ZodTypeAny, {
88
+ reportScheduleId: string;
89
+ timestamp: string;
90
+ }, {
91
+ reportScheduleId: string;
92
+ timestamp: string;
93
+ }>;
94
+ annotations: {
95
+ readOnlyHint: boolean;
96
+ openWorldHint: boolean;
97
+ destructiveHint: boolean;
98
+ idempotentHint: boolean;
99
+ };
100
+ inputExamples: {
101
+ label: string;
102
+ input: {
103
+ reportName: string;
104
+ dateRange: string;
105
+ reportTemplateId: number;
106
+ fileFormat: string;
107
+ advertiserIds: string[];
108
+ };
109
+ }[];
110
+ logic: typeof submitReportLogic;
111
+ responseFormatter: typeof submitReportResponseFormatter;
112
+ };
113
+ export {};
114
+ //# sourceMappingURL=submit-report.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submit-report.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/submit-report.tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAenD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDiB,CAAC;AAEtD,eAAO,MAAM,wBAAwB;;;;;;;;;EAKE,CAAC;AAExC,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACjE,KAAK,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEnE,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,cAAc,EACvB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,kBAAkB,CAAC,CA4B7B;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,EAAE,CAO1F;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC5B,CAAC"}
@@ -0,0 +1,136 @@
1
+ import { z } from "zod";
2
+ import { resolveSessionServices } from "../utils/resolve-session.js";
3
+ const TOOL_NAME = "ttd_submit_report";
4
+ const TOOL_TITLE = "Submit TTD Report";
5
+ const TOOL_DESCRIPTION = `Submit a report to The Trade Desk without waiting for completion.
6
+
7
+ Returns a \`reportScheduleId\` immediately. Use \`ttd_check_report_status\` to poll for completion, then \`ttd_download_report\` to fetch results.
8
+
9
+ **Non-blocking workflow:**
10
+ 1. \`ttd_submit_report\` → get \`reportScheduleId\`
11
+ 2. \`ttd_check_report_status\` (repeat every 5-10s) → wait for "Complete"
12
+ 3. \`ttd_download_report\` with the \`downloadUrl\` → get a bounded summary or paged row slice
13
+
14
+ Use \`ttd_get_report\` instead for a blocking convenience shortcut.`;
15
+ export const SubmitReportInputSchema = z
16
+ .object({
17
+ reportName: z.string().describe("Name for the report"),
18
+ dateRange: z
19
+ .enum([
20
+ "Yesterday",
21
+ "Last7Days",
22
+ "Last14Days",
23
+ "Last30Days",
24
+ "LastXDays",
25
+ "MonthToDate",
26
+ "LastMonth",
27
+ "QuarterToDate",
28
+ "LastQuarter",
29
+ "YearToDate",
30
+ "Custom",
31
+ ])
32
+ .describe("Date range for the report (per TTD MyReports reportschedule/facets)"),
33
+ reportTemplateId: z
34
+ .number()
35
+ .describe("TTD report template ID — REQUIRED by TTD. Find IDs via ttd_list_report_templates or the TTD UI."),
36
+ fileFormat: z
37
+ .enum(["CSV", "TSV", "ExcelPivot"])
38
+ .optional()
39
+ .default("CSV")
40
+ .describe("Report file format. Must match the template's format: CSV/TSV templates accept CSV or TSV; Excel-shaped templates require `ExcelPivot`. CSV download parsing only works with CSV/TSV outputs."),
41
+ scheduleStartDate: z
42
+ .string()
43
+ .optional()
44
+ .describe("ISO date or datetime when the schedule should first run. Defaults to today UTC at 00:00. Required by TTD for one-time schedules."),
45
+ advertiserIds: z.array(z.string()).optional().describe("Filter by advertiser IDs"),
46
+ dimensions: z
47
+ .array(z.string())
48
+ .optional()
49
+ .describe("(legacy/ignored when ReportTemplateId is set) Report dimensions — TTD now requires a template."),
50
+ metrics: z
51
+ .array(z.string())
52
+ .optional()
53
+ .describe("(legacy/ignored when ReportTemplateId is set) Report metrics — TTD now requires a template."),
54
+ additionalConfig: z
55
+ .record(z.any())
56
+ .optional()
57
+ .describe("Additional report configuration fields (merged last)"),
58
+ })
59
+ .describe("Parameters for submitting a TTD report");
60
+ export const SubmitReportOutputSchema = z
61
+ .object({
62
+ reportScheduleId: z.string().describe("Report schedule ID for status polling"),
63
+ timestamp: z.string().datetime(),
64
+ })
65
+ .describe("Report submission result");
66
+ export async function submitReportLogic(input, context, sdkContext) {
67
+ const { ttdReportingService } = resolveSessionServices(sdkContext);
68
+ const startDate = input.scheduleStartDate ?? new Date().toISOString().slice(0, 10) + "T00:00:00";
69
+ const reportConfig = {
70
+ ReportScheduleName: input.reportName,
71
+ ReportTemplateId: input.reportTemplateId,
72
+ ReportFileFormat: input.fileFormat,
73
+ ReportDateRange: input.dateRange,
74
+ ReportFrequency: "Once",
75
+ ScheduleStartDate: startDate,
76
+ TimeZone: "UTC",
77
+ ReportDateFormat: "Sortable",
78
+ ReportNumericFormat: "US",
79
+ IncludeHeaders: true,
80
+ ...(input.dimensions && { ReportDimensions: input.dimensions }),
81
+ ...(input.metrics && { ReportMetrics: input.metrics }),
82
+ ...(input.advertiserIds && { AdvertiserFilters: input.advertiserIds }),
83
+ ...input.additionalConfig,
84
+ };
85
+ const result = await ttdReportingService.createReportSchedule(reportConfig, context);
86
+ return {
87
+ reportScheduleId: result.reportScheduleId,
88
+ timestamp: new Date().toISOString(),
89
+ };
90
+ }
91
+ export function submitReportResponseFormatter(result) {
92
+ return [
93
+ {
94
+ type: "text",
95
+ text: `Report submitted: ${result.reportScheduleId}\n\nUse \`ttd_check_report_status\` with this reportScheduleId to poll for completion.\n\nTimestamp: ${result.timestamp}`,
96
+ },
97
+ ];
98
+ }
99
+ export const submitReportTool = {
100
+ name: TOOL_NAME,
101
+ title: TOOL_TITLE,
102
+ description: TOOL_DESCRIPTION,
103
+ inputSchema: SubmitReportInputSchema,
104
+ outputSchema: SubmitReportOutputSchema,
105
+ annotations: {
106
+ readOnlyHint: false,
107
+ openWorldHint: false,
108
+ destructiveHint: false,
109
+ idempotentHint: false,
110
+ },
111
+ inputExamples: [
112
+ {
113
+ label: "Submit Yesterday report (Excel template)",
114
+ input: {
115
+ reportName: "Daily Performance",
116
+ dateRange: "Yesterday",
117
+ reportTemplateId: 16353,
118
+ fileFormat: "ExcelPivot",
119
+ advertiserIds: ["adv123abc"],
120
+ },
121
+ },
122
+ {
123
+ label: "Submit Last 7 Days report (CSV template)",
124
+ input: {
125
+ reportName: "Weekly Performance",
126
+ dateRange: "Last7Days",
127
+ reportTemplateId: 12345,
128
+ fileFormat: "CSV",
129
+ advertiserIds: ["adv123abc"],
130
+ },
131
+ },
132
+ ],
133
+ logic: submitReportLogic,
134
+ responseFormatter: submitReportResponseFormatter,
135
+ };
136
+ //# sourceMappingURL=submit-report.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submit-report.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/submit-report.tool.ts"],"names":[],"mappings":"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"}