@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,145 @@
1
+ import { getEntityConfig, getSupportedEntityTypes, } from "../../tools/utils/entity-mapping.js";
2
+ let cachedContent;
3
+ const parentFieldLabels = {
4
+ advertiserId: "AdvertiserId",
5
+ campaignId: "CampaignId",
6
+ adGroupId: "AdGroupId",
7
+ partnerId: "PartnerId",
8
+ };
9
+ function formatParentIds(parentIds) {
10
+ if (parentIds.length === 0) {
11
+ return "_(none - partner-scoped)_";
12
+ }
13
+ return parentIds.map((id) => `\`${parentFieldLabels[id]}\``).join(", ");
14
+ }
15
+ function buildEntityRows() {
16
+ return getSupportedEntityTypes()
17
+ .map((entityType) => {
18
+ const config = getEntityConfig(entityType);
19
+ const supportsBulk = config.supportsBulk ? "✓" : "";
20
+ const supportsArchive = config.supportsArchive ? "✓" : "";
21
+ return `| **${entityType}** | ${formatParentIds(config.parentIds)} | \`${config.idField}\` | \`${config.apiPath}\` | \`${config.queryPath}\` | ${supportsBulk} | ${supportsArchive} |`;
22
+ })
23
+ .join("\n");
24
+ }
25
+ function formatEntityHierarchyMarkdown() {
26
+ return `# TTD Entity Hierarchy
27
+
28
+ ## Relationship Diagram
29
+
30
+ \`\`\`
31
+ Partner (your TTD seat)
32
+ └── Advertiser
33
+ ├── Campaign
34
+ │ └── Ad Group (contains CreativeIds + targeting/bidding)
35
+ ├── Creative (reusable across ad groups)
36
+ └── Conversion Tracker (tracking tags)
37
+ \`\`\`
38
+
39
+ ## REST Entity Types (5 total)
40
+
41
+ | Entity Type | Required Parent IDs | ID Field | API Path | Query Path | Supports Bulk | Supports Archive |
42
+ |-------------|--------------------:|----------|----------|------------|:---:|:---:|
43
+ ${buildEntityRows()}
44
+
45
+ ## GraphQL-Only Entities
46
+
47
+ The following entities have **no REST query endpoints** and must be managed via \`ttd_graphql_query\`:
48
+
49
+ - **Ads** — TTD has no standalone Ad entity. Ads are the combination of an Ad Group + Creative associations (\`CreativeIds\` on the ad group).
50
+ - **Publisher Lists (Site Lists)** — Managed via GraphQL \`bidListCreate\` mutation with \`PUBLISHER_LIST\` type.
51
+ - **Deals** — Managed via GraphQL \`targetableCommitments\` / \`targetableEndeavors\` on partner or advertiser objects.
52
+ - **Bid Lists** — Managed via GraphQL \`bidList\` query, \`bidListCreate\`/\`bidListUpdate\`/\`bidListDelete\` mutations.
53
+
54
+ ## Key Relationships
55
+
56
+ ### Core Hierarchy: Advertiser → Campaign → Ad Group
57
+ - A campaign belongs to exactly one advertiser (inherits currency).
58
+ - An ad group belongs to exactly one campaign (inherits flight dates).
59
+ - Ad groups contain \`CreativeIds\` to associate creatives (what other platforms call "ads").
60
+
61
+ ### Ancillary Entities
62
+ - **Creatives** are reusable — referenced by ad groups via \`CreativeIds\` in \`RTBAttributes\`.
63
+ - **Conversion Trackers** feed into campaign/ad group ROI optimization.
64
+ - **Bid Lists** (GraphQL) are associated with ad groups via \`AssociatedBidLists\`.
65
+ - **Deals** (GraphQL) are referenced by ad groups via \`ContractTargeting\`.
66
+
67
+ ## Creation Order
68
+
69
+ Full campaign structure (top-down):
70
+
71
+ 1. **Advertiser** — usually pre-exists; verify with \`ttd_get_entity\`
72
+ 2. **Creative(s)** — create before ad groups that reference them
73
+ 3. **Conversion Tracker(s)** — create if using CPA/ROAS goals
74
+ 4. **Bid List(s)** — create via \`ttd_graphql_query\` if using dimensional bid adjustments
75
+ 5. **Deal(s)** — manage via \`ttd_graphql_query\` if using PMP/PG inventory
76
+ 6. **Campaign** — requires \`AdvertiserId\`
77
+ 7. **Ad Group(s)** — requires \`CampaignId\` + configure targeting/bidding + \`CreativeIds\`
78
+
79
+ ## Deletion / Archive Order
80
+
81
+ Delete bottom-up to avoid orphan references:
82
+
83
+ 1. **Ad Groups** (use \`ttd_archive_entities\` for batch soft-delete)
84
+ 2. **Campaigns** (use \`ttd_archive_entities\` for batch soft-delete)
85
+ 3. Ancillary entities (creatives, trackers; bid lists/deals via GraphQL)
86
+ 4. _(Advertisers are rarely deleted)_
87
+
88
+ ## Query Patterns
89
+
90
+ List queries use POST to scoped query endpoints. Each endpoint is scoped to a parent entity type:
91
+
92
+ | Query | Endpoint | Required Filter | Example |
93
+ |-------|----------|----------------|---------|
94
+ | Advertisers for partner | \`/advertiser/query/partner\` | \`PartnerId\` | \`{ "PartnerId": "partner123" }\` |
95
+ | Campaigns for advertiser | \`/campaign/query/advertiser\` | \`AdvertiserId\` | \`{ "AdvertiserId": "abc123" }\` |
96
+ | Ad Groups for campaign | \`/adgroup/query/campaign\` | \`CampaignId\` | \`{ "CampaignId": "camp456" }\` |
97
+ | Creatives for advertiser | \`/creative/query/advertiser\` | \`AdvertiserId\` | \`{ "AdvertiserId": "abc123" }\` |
98
+ | Trackers for advertiser | \`/trackingtag/query/advertiser\` | \`AdvertiserId\` | \`{ "AdvertiserId": "abc123" }\` |
99
+
100
+ ## Available Tools Summary
101
+
102
+ | Tool | Purpose | Batch? |
103
+ |------|---------|--------|
104
+ | \`ttd_list_entities\` | List/query entities | |
105
+ | \`ttd_get_entity\` | Get single entity | |
106
+ | \`ttd_create_entity\` | Create single entity | |
107
+ | \`ttd_update_entity\` | Update single entity (PUT) | |
108
+ | \`ttd_delete_entity\` | Delete single entity | |
109
+ | \`ttd_bulk_create_entities\` | Batch create (campaigns/ad groups) | ✓ |
110
+ | \`ttd_bulk_update_entities\` | Batch update (campaigns/ad groups) | ✓ |
111
+ | \`ttd_bulk_update_status\` | Batch pause/resume/archive | ✓ |
112
+ | \`ttd_archive_entities\` | Batch archive (soft-delete) | ✓ |
113
+ | \`ttd_adjust_bids\` | Batch bid adjustments | ✓ |
114
+ | \`ttd_validate_entity\` | Test entity payload (NOT dry-run — creates/updates on success) | |
115
+ | \`ttd_graphql_query\` | GraphQL query/mutation passthrough | |
116
+ | \`ttd_graphql_query_bulk\` | Submit bulk GraphQL query job | ✓ |
117
+ | \`ttd_graphql_mutation_bulk\` | Submit bulk GraphQL mutation job (non-cancelable) | ✓ |
118
+ | \`ttd_graphql_bulk_job\` | Check bulk job status / get result URL | |
119
+ | \`ttd_graphql_cancel_bulk_job\` | Cancel bulk query job (not mutations) | |
120
+ | \`ttd_get_report\` | Generate async report | |
121
+ | \`ttd_download_report\` | Download report CSV and return bounded views | |
122
+
123
+ ## GraphQL Bulk Constraints
124
+
125
+ | Constraint | Limit |
126
+ |-----------|-------|
127
+ | Max mutation inputs per job | 1,000 |
128
+ | Max lexical tokens per query/mutation string | 15,000 (~60,000 chars) |
129
+ | Mutation jobs cancelable? | **No** — non-cancelable once submitted |
130
+ | Result URL expiry | 1 hour after job completion |
131
+ | Max active jobs per partner | 10 |
132
+ | Max queued jobs per partner | 20 |
133
+ `;
134
+ }
135
+ export const entityHierarchyResource = {
136
+ uri: "entity-hierarchy://all",
137
+ name: "TTD Entity Hierarchy",
138
+ description: "Parent-child relationships between TTD entities, required parent IDs, and creation/deletion ordering",
139
+ mimeType: "text/markdown",
140
+ getContent: () => {
141
+ cachedContent ??= formatEntityHierarchyMarkdown();
142
+ return cachedContent;
143
+ },
144
+ };
145
+ //# sourceMappingURL=entity-hierarchy.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-hierarchy.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-hierarchy.resource.ts"],"names":[],"mappings":"AASA,OAAO,EACL,eAAe,EACf,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAE7C,IAAI,aAAiC,CAAC;AAEtC,MAAM,iBAAiB,GAAgC;IACrD,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,SAAS,eAAe,CAAC,SAAwB;IAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,uBAAuB,EAAE;SAC7B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAClB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,OAAO,UAAU,QAAQ,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,SAAS,QAAQ,YAAY,MAAM,eAAe,IAAI,CAAC;IACzL,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,6BAA6B;IACpC,OAAO;;;;;;;;;;;;;;;;;EAiBP,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FlB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,GAAG,EAAE,wBAAwB;IAC7B,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,sGAAsG;IACxG,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,GAAG,EAAE;QACf,aAAa,KAAK,6BAA6B,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Resource } from "../types.js";
2
+ export declare const entitySchemaResources: Resource[];
3
+ export declare const entitySchemaAllResource: Resource;
4
+ //# sourceMappingURL=entity-schemas.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-schemas.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-schemas.resource.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4T5C,eAAO,MAAM,qBAAqB,EAAE,QAAQ,EAMzC,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,QASrC,CAAC"}
@@ -0,0 +1,318 @@
1
+ const cachedSchemas = new Map();
2
+ function advertiserSchemaMarkdown() {
3
+ return `# TTD Advertiser Schema
4
+
5
+ ## Fields
6
+
7
+ | Field | Type | Required | Description |
8
+ |-------|------|----------|-------------|
9
+ | \`AdvertiserId\` | string | Read-only | Unique advertiser ID (assigned by TTD) |
10
+ | \`AdvertiserName\` | string | **Yes** | Display name |
11
+ | \`PartnerId\` | string | **Yes** | Partner ID this advertiser belongs to |
12
+ | \`Description\` | string | No | Advertiser description |
13
+ | \`CurrencyCode\` | string | **Yes** | ISO 4217 currency code (e.g., \`USD\`, \`EUR\`) |
14
+ | \`DefaultRightMediaOfferTypeId\` | string | No | Default offer type |
15
+ | \`AttributionClickLookbackWindowInSeconds\` | number | No | Click attribution window |
16
+ | \`AttributionImpressionLookbackWindowInSeconds\` | number | No | Impression attribution window |
17
+ | \`DomainAddress\` | string | No | Advertiser's website |
18
+ | \`LogoURL\` | string | No | URL to advertiser logo |
19
+ | \`IndustryCategoryId\` | number | No | Industry category |
20
+ | \`Availability\` | string | No | \`Available\` or \`Archived\` |
21
+
22
+ ## Notes
23
+ - \`AdvertiserId\` is auto-assigned on creation; do not include in create payloads.
24
+ - \`CurrencyCode\` cannot be changed after creation.
25
+ - Partner-level users can create advertisers; advertiser-level users cannot.
26
+ `;
27
+ }
28
+ function campaignSchemaMarkdown() {
29
+ return `# TTD Campaign Schema
30
+
31
+ ## Fields
32
+
33
+ | Field | Type | Required | Description |
34
+ |-------|------|----------|-------------|
35
+ | \`CampaignId\` | string | Read-only | Unique campaign ID (assigned by TTD) |
36
+ | \`AdvertiserId\` | string | **Yes** | Parent advertiser |
37
+ | \`CampaignName\` | string | **Yes** | Display name |
38
+ | \`Budget\` | object | **Yes** | Budget configuration (see below) |
39
+ | \`StartDate\` | string | **Yes** | ISO 8601 date (\`YYYY-MM-DDTHH:mm:ss\`) |
40
+ | \`EndDate\` | string | No | ISO 8601 date (omit for evergreen) |
41
+ | \`CampaignConversionReportingColumns\` | string[] | No | Conversion columns for reporting |
42
+ | \`PacingMode\` | string | No | \`Off\`, \`PaceAhead\` |
43
+ | \`DailyBudgetInAdvertiserCurrency\` | number | No | Daily budget cap |
44
+ | \`Availability\` | string | No | \`Available\`, \`Paused\`, \`Archived\` |
45
+ | \`FrequencyConfig\` | object | No | Frequency capping settings |
46
+ | \`TimeZone\` | string | No | IANA time zone (e.g., \`America/New_York\`) |
47
+ | \`PartnerCostPercentageFee\` | number | No | Partner cost percentage |
48
+ | \`Description\` | string | No | Campaign description |
49
+
50
+ ## Budget Object
51
+
52
+ | Field | Type | Required | Description |
53
+ |-------|------|----------|-------------|
54
+ | \`Amount\` | number | **Yes** | Total budget amount |
55
+ | \`CurrencyCode\` | string | No | Inherited from advertiser if omitted |
56
+
57
+ ## FrequencyConfig Object
58
+
59
+ | Field | Type | Description |
60
+ |-------|------|-------------|
61
+ | \`MaxImpressions\` | number | Max impressions per user |
62
+ | \`TimeUnitCount\` | number | Number of time units |
63
+ | \`TimeUnit\` | string | \`Minutes\`, \`Hours\`, \`Days\`, \`Weeks\`, \`Months\` |
64
+
65
+ ## Notes
66
+ - \`CampaignId\` is auto-assigned; do not include in create payloads.
67
+ - Budget \`Amount\` is lifetime budget (not daily).
68
+ - \`StartDate\` must be in the future for new campaigns.
69
+ - Set \`Availability\` to \`Paused\` to stop delivery without deleting.
70
+ `;
71
+ }
72
+ function adGroupSchemaMarkdown() {
73
+ return `# TTD Ad Group Schema
74
+
75
+ ## Core Fields
76
+
77
+ | Field | Type | Required | Description |
78
+ |-------|------|----------|-------------|
79
+ | \`AdGroupId\` | string | Read-only | Unique ad group ID (assigned by TTD) |
80
+ | \`CampaignId\` | string | **Yes** | Parent campaign |
81
+ | \`AdvertiserId\` | string | **Yes** | Parent advertiser |
82
+ | \`AdGroupName\` | string | **Yes** | Display name |
83
+ | \`RTBAttributes\` | object | **Yes** | Real-time bidding configuration (see below) |
84
+ | \`Description\` | string | No | Ad group description |
85
+ | \`IsEnabled\` | boolean | No | Whether ad group is active (default: \`true\`) |
86
+ | \`IndustryCategoryId\` | number | No | Industry category |
87
+ | \`Availability\` | string | No | \`Available\`, \`Paused\`, \`Archived\` |
88
+ | \`AssociatedBidLists\` | object[] | No | Bid lists for fine-grained bidding |
89
+ | \`Channel\` | string | No | \`Display\`, \`Video\`, \`Audio\`, \`CTV\`, \`DOOH\`, \`Native\` |
90
+ | \`FunnelLocation\` | string | No | \`Awareness\`, \`Consideration\`, \`Conversion\` |
91
+ | \`MarketType\` | string | No | \`OpenMarket\`, \`PrivateMarketOnly\`, \`ProgrammaticGuaranteed\` |
92
+ | \`ProgrammaticGuaranteedPrivateContractId\` | string | No | PG contract ID (when MarketType is PG) |
93
+
94
+ ## RTBAttributes Object
95
+
96
+ | Field | Type | Required | Description |
97
+ |-------|------|----------|-------------|
98
+ | \`BudgetSettings\` | object | **Yes** | Budget configuration |
99
+ | \`BaseBidCPM\` | object | **Yes** | Base bid amount |
100
+ | \`MaxBidCPM\` | object | No | Maximum bid cap |
101
+ | \`ROIGoal\` | object | No | ROI/CPA optimization goal |
102
+ | \`AudienceTargeting\` | object | No | First/third-party audience targeting |
103
+ | \`SiteTargeting\` | object | No | Site/app targeting |
104
+ | \`GeoTargeting\` | object | No | Geographic targeting |
105
+ | \`CreativeCategoryExclusions\` | string[] | No | Excluded creative categories |
106
+ | \`FrequencyConfig\` | object[] | No | Frequency capping (see below) |
107
+ | \`ContractTargeting\` | object | No | PMP/PG contract targeting settings |
108
+
109
+ ## BudgetSettings Object
110
+
111
+ | Field | Type | Description |
112
+ |-------|------|-------------|
113
+ | \`Budget\` | object | \`{ Amount, CurrencyCode }\` |
114
+ | \`DailyBudget\` | object | \`{ Amount, CurrencyCode }\` |
115
+ | \`PacingMode\` | string | \`Off\`, \`PaceAhead\` |
116
+
117
+ ## BaseBidCPM / MaxBidCPM Object
118
+
119
+ | Field | Type | Description |
120
+ |-------|------|-------------|
121
+ | \`Amount\` | number | Bid amount in currency |
122
+ | \`CurrencyCode\` | string | ISO 4217 code |
123
+
124
+ ## AudienceTargeting Object
125
+
126
+ | Field | Type | Description |
127
+ |-------|------|-------------|
128
+ | \`AudienceId\` | string | First-party or third-party audience ID |
129
+ | \`AudienceAcceleratorExclusionsEnabled\` | boolean | Exclude users from audience accelerator |
130
+ | \`AudienceBoosterEnabled\` | boolean | Enable audience boosting (look-alike expansion) |
131
+ | \`AudienceExcluderEnabled\` | boolean | Enable audience exclusion |
132
+ | \`AudiencePredictorEnabled\` | boolean | Enable predictive audience matching |
133
+ | \`CrossDeviceVendorListForAudience\` | number[] | Cross-device graph vendor IDs |
134
+ | \`RecencyExclusionWindowInMinutes\` | number | Exclude recently-seen users |
135
+ | \`TargetTrackableUsersEnabled\` | boolean | Only target users with trackable IDs |
136
+
137
+ ## ROIGoal Object (12 Goal Types)
138
+
139
+ | Field | Type | Description |
140
+ |-------|------|-------------|
141
+ | \`MaximizeReach\` | boolean | Optimize for maximum unique reach |
142
+ | \`MaximizeLtvIncrementalReach\` | boolean | Optimize for LTV incremental reach |
143
+ | \`CPCInAdvertiserCurrency\` | number | Target cost per click |
144
+ | \`CTRInPercent\` | number | Target click-through rate |
145
+ | \`CPAInAdvertiserCurrency\` | number | Target cost per acquisition |
146
+ | \`ReturnOnAdSpendPercent\` | number | Target ROAS percentage |
147
+ | \`VCRInPercent\` | number | Target video completion rate |
148
+ | \`ViewabilityInPercent\` | number | Target viewability rate |
149
+ | \`VCPMInAdvertiserCurrency\` | number | Target viewable CPM |
150
+ | \`CPCVInAdvertiserCurrency\` | number | Target cost per completed view |
151
+ | \`NielsenOTPInPercent\` | number | Target Nielsen on-target percentage |
152
+ | \`MiaozhenOTPInPercent\` | number | Target Miaozhen on-target percentage |
153
+
154
+ ## FrequencyConfig (Ad Group Level)
155
+
156
+ | Field | Type | Description |
157
+ |-------|------|-------------|
158
+ | \`CounterName\` | string | Named counter (for cross-campaign coordination) |
159
+ | \`FrequencyCap\` | number | Max impressions per user in window |
160
+ | \`FrequencyGoal\` | number | Target impressions per user |
161
+ | \`ResetIntervalInMinutes\` | number | Frequency window reset interval |
162
+
163
+ ## Flights (Budget Allocation per Campaign Flight)
164
+
165
+ | Field | Type | Description |
166
+ |-------|------|-------------|
167
+ | \`CampaignFlightId\` | number | Parent campaign flight ID |
168
+ | \`AllocationType\` | string | \`Maximum\` or \`Even\` |
169
+ | \`BudgetInAdvertiserCurrency\` | number | Flight budget in currency |
170
+ | \`BudgetInImpressions\` | number | Flight budget in impressions |
171
+ | \`DailyTargetInAdvertiserCurrency\` | number | Daily spend target |
172
+ | \`DailyTargetInImpressions\` | number | Daily impression target |
173
+
174
+ ## Koa/Kokai AI Optimization Settings
175
+
176
+ | Field | Type | Description |
177
+ |-------|------|-------------|
178
+ | \`AreFutureKoaFeaturesEnabled\` | boolean | Opt-in to new Kokai AI features |
179
+ | \`PredictiveClearingEnabled\` | boolean | Enable predictive bid clearing |
180
+
181
+ ## ContractTargeting Object
182
+
183
+ | Field | Type | Description |
184
+ |-------|------|-------------|
185
+ | \`AllowOpenMarketBiddingWhenTargetingContracts\` | boolean | Also bid on open market when targeting PMP contracts |
186
+
187
+ ## AssociatedBidLists
188
+
189
+ | Field | Type | Description |
190
+ |-------|------|-------------|
191
+ | \`BidListId\` | string | Bid list ID to associate |
192
+ | \`IsEnabled\` | boolean | Whether this bid list is active |
193
+ | \`IsDefaultForDimension\` | boolean | Whether this is the default for its dimension |
194
+
195
+ ## Notes
196
+ - \`AdGroupId\` is auto-assigned; do not include in create payloads.
197
+ - \`RTBAttributes\` is required and must include at minimum \`BudgetSettings\` and \`BaseBidCPM\`.
198
+ - Ad groups inherit campaign flight dates; ad group budget cannot exceed campaign budget.
199
+ - Targeting (geo, audience, device, site) is applied at the ad group level in TTD (not at ad level).
200
+ - Use \`ttd_adjust_bids\` tool for safe read-modify-write bid changes.
201
+ - Use \`Channel\` to specify ad format: Display, Video, Audio, CTV, DOOH.
202
+ - Use \`FunnelLocation\` to align with campaign objectives: Awareness, Consideration, Conversion.
203
+ `;
204
+ }
205
+ function creativeSchemaMarkdown() {
206
+ return `# TTD Creative Schema
207
+
208
+ ## Fields
209
+
210
+ | Field | Type | Required | Description |
211
+ |-------|------|----------|-------------|
212
+ | \`CreativeId\` | string | Read-only | Unique creative ID (assigned by TTD) |
213
+ | \`AdvertiserId\` | string | **Yes** | Parent advertiser |
214
+ | \`CreativeName\` | string | **Yes** | Display name |
215
+ | \`CreativeType\` | string | **Yes** | \`Banner\`, \`Video\`, \`Native\`, \`Audio\`, \`HTML5\` |
216
+ | \`Width\` | number | Varies | Width in pixels (required for Banner/HTML5) |
217
+ | \`Height\` | number | Varies | Height in pixels (required for Banner/HTML5) |
218
+ | \`Tag\` | string | Varies | Third-party ad tag (for third-party served creatives) |
219
+ | \`HostedCreativeAssetUrl\` | string | Varies | URL for TTD-hosted creative asset |
220
+ | \`LandingPageUrl\` | string | No | Default click-through URL |
221
+ | \`ThirdPartyTrackingUrls\` | string[] | No | Third-party tracking pixels |
222
+ | \`IsHTTPS\` | boolean | No | Whether creative is HTTPS-compatible |
223
+ | \`Availability\` | string | No | \`Available\` or \`Archived\` |
224
+ | \`Description\` | string | No | Creative description |
225
+ | \`ExpandedSize\` | object | No | Expanded dimensions for expandable creatives |
226
+ | \`VideoAttributes\` | object | No | VAST URL, duration, skip settings (for video) |
227
+ | \`NativeAttributes\` | object | No | Title, body, icon, image (for native) |
228
+
229
+ ## VideoAttributes Object
230
+
231
+ | Field | Type | Description |
232
+ |-------|------|-------------|
233
+ | \`VastUrl\` | string | VAST tag URL |
234
+ | \`DurationInSeconds\` | number | Video duration |
235
+ | \`IsSkippable\` | boolean | Whether user can skip |
236
+ | \`SkipOffsetInSeconds\` | number | Seconds before skip button appears |
237
+
238
+ ## Notes
239
+ - Creatives must be created before they can be associated with ads.
240
+ - One creative can be reused across multiple ads and ad groups.
241
+ - Use \`CreativeType\` matching the ad group's \`Channel\` setting.
242
+ `;
243
+ }
244
+ function conversionTrackerSchemaMarkdown() {
245
+ return `# TTD Conversion Tracker Schema
246
+
247
+ ## Fields
248
+
249
+ | Field | Type | Required | Description |
250
+ |-------|------|----------|-------------|
251
+ | \`TrackingTagId\` | string | Read-only | Unique tracker ID (assigned by TTD) |
252
+ | \`AdvertiserId\` | string | **Yes** | Parent advertiser |
253
+ | \`TrackingTagName\` | string | **Yes** | Display name |
254
+ | \`TrackingTagType\` | string | **Yes** | \`Standard\`, \`Custom\`, \`UniversalPixel\` |
255
+ | \`TrackingTagCategory\` | string | No | \`PageView\`, \`Purchase\`, \`SignUp\`, \`AddToCart\`, \`Lead\`, \`Other\` |
256
+ | \`ConversionType\` | string | No | \`PostClick\`, \`PostView\`, \`Both\` |
257
+ | \`ClickLookbackWindowInSeconds\` | number | No | Click attribution window |
258
+ | \`ViewLookbackWindowInSeconds\` | number | No | View-through attribution window |
259
+ | \`CountingMethod\` | string | No | \`OnePerSession\`, \`OnePerUser\`, \`All\` |
260
+ | \`TrackingTagUrl\` | string | Read-only | The pixel URL to deploy |
261
+ | \`Availability\` | string | No | \`Available\` or \`Archived\` |
262
+ | \`Description\` | string | No | Tracker description |
263
+
264
+ ## Notes
265
+ - Deploy the \`TrackingTagUrl\` on your conversion pages after creation.
266
+ - Conversion data feeds into campaign/ad group optimization when using CPA or ROAS ROI goals.
267
+ - \`UniversalPixel\` type supports multiple conversion events on a single tag.
268
+ `;
269
+ }
270
+ const SCHEMA_GENERATORS = {
271
+ advertiser: advertiserSchemaMarkdown,
272
+ campaign: campaignSchemaMarkdown,
273
+ adgroup: adGroupSchemaMarkdown,
274
+ creative: creativeSchemaMarkdown,
275
+ conversiontracker: conversionTrackerSchemaMarkdown,
276
+ };
277
+ function getSchemaContent(entityType) {
278
+ const key = entityType.toLowerCase();
279
+ if (!cachedSchemas.has(key)) {
280
+ const generator = SCHEMA_GENERATORS[key];
281
+ if (generator) {
282
+ cachedSchemas.set(key, generator());
283
+ }
284
+ else {
285
+ return `# Unknown entity type: ${entityType}\n\nSupported types: ${ENTITY_TYPES.join(", ")}`;
286
+ }
287
+ }
288
+ return cachedSchemas.get(key);
289
+ }
290
+ let cachedAllSchemas;
291
+ function getAllSchemasMarkdown() {
292
+ return ENTITY_TYPES.map((t) => getSchemaContent(t)).join("\n---\n\n");
293
+ }
294
+ const ENTITY_TYPES = [
295
+ "advertiser",
296
+ "campaign",
297
+ "adGroup",
298
+ "creative",
299
+ "conversionTracker",
300
+ ];
301
+ export const entitySchemaResources = ENTITY_TYPES.map((entityType) => ({
302
+ uri: `entity-schema://${entityType}`,
303
+ name: `TTD ${entityType} Schema`,
304
+ description: `Field reference for TTD ${entityType} entities including required fields, types, and nested objects`,
305
+ mimeType: "text/markdown",
306
+ getContent: () => getSchemaContent(entityType),
307
+ }));
308
+ export const entitySchemaAllResource = {
309
+ uri: "entity-schema://all",
310
+ name: "TTD All Entity Schemas",
311
+ description: "Combined field reference for all TTD entity types",
312
+ mimeType: "text/markdown",
313
+ getContent: () => {
314
+ cachedAllSchemas ??= getAllSchemasMarkdown();
315
+ return cachedAllSchemas;
316
+ },
317
+ };
318
+ //# sourceMappingURL=entity-schemas.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-schemas.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-schemas.resource.ts"],"names":[],"mappings":"AAWA,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AAIhD,SAAS,wBAAwB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuBR,CAAC;AACF,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCR,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkIR,CAAC;AACF,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCR,CAAC;AACF,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuBR,CAAC;AACF,CAAC;AAID,MAAM,iBAAiB,GAAiC;IACtD,UAAU,EAAE,wBAAwB;IACpC,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,sBAAsB;IAChC,iBAAiB,EAAE,+BAA+B;CACnD,CAAC;AAEF,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,0BAA0B,UAAU,wBAAwB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/F,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;AACjC,CAAC;AAED,IAAI,gBAAoC,CAAC;AAEzC,SAAS,qBAAqB;IAC5B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,YAAY;IACZ,UAAU;IACV,SAAS;IACT,UAAU;IACV,mBAAmB;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAe,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACjF,GAAG,EAAE,mBAAmB,UAAU,EAAE;IACpC,IAAI,EAAE,OAAO,UAAU,SAAS;IAChC,WAAW,EAAE,2BAA2B,UAAU,gEAAgE;IAClH,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC;CAC/C,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,GAAG,EAAE,qBAAqB;IAC1B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,mDAAmD;IAChE,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,GAAG,EAAE;QACf,gBAAgB,KAAK,qBAAqB,EAAE,CAAC;QAC7C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TemplatedResourceDefinition } from "@cesteral/shared";
2
+ export declare const fieldRulesResource: TemplatedResourceDefinition;
3
+ //# sourceMappingURL=field-rules.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-rules.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/field-rules.resource.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAQpE,eAAO,MAAM,kBAAkB,EAAE,2BA4BhC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { getEntityTypeEnum, getSupportedEntityTypes, } from "../../tools/utils/entity-mapping.js";
2
+ import { getFieldRulesForEntity } from "../utils/field-rules.js";
3
+ export const fieldRulesResource = {
4
+ uriTemplate: "ttd-field-rules://{entityType}",
5
+ name: "TTD Field Rules",
6
+ description: "Required-field rules, enum suggestions, and read-only field list for a TTD entity type. " +
7
+ `Valid {entityType}: ${getEntityTypeEnum().join(", ")}.`,
8
+ mimeType: "application/json",
9
+ resolveContent: (_uri, variables) => {
10
+ const raw = variables.entityType;
11
+ const entityType = (Array.isArray(raw) ? raw[0] : raw);
12
+ if (!entityType) {
13
+ throw new Error("ttd-field-rules: missing {entityType} in URI");
14
+ }
15
+ if (!getSupportedEntityTypes().includes(entityType)) {
16
+ throw new Error(`ttd-field-rules: unknown entityType "${entityType}". ` +
17
+ `Supported: ${getSupportedEntityTypes().join(", ")}.`);
18
+ }
19
+ return JSON.stringify(getFieldRulesForEntity(entityType), null, 2);
20
+ },
21
+ list: async () => getSupportedEntityTypes().map((t) => ({
22
+ uri: `ttd-field-rules://${t}`,
23
+ name: `TTD field rules — ${t}`,
24
+ description: `Required + enum + read-only fields for TTD ${t}`,
25
+ mimeType: "application/json",
26
+ })),
27
+ };
28
+ //# sourceMappingURL=field-rules.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-rules.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/field-rules.resource.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,CAAC,MAAM,kBAAkB,GAAgC;IAC7D,WAAW,EAAE,gCAAgC;IAC7C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,0FAA0F;QAC1F,uBAAuB,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IAC1D,QAAQ,EAAE,kBAAkB;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC;QACjC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAA8B,CAAC;QACpF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,wCAAwC,UAAU,KAAK;gBACrD,cAAc,uBAAuB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACxD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,EAAE,KAAK,IAAI,EAAE,CACf,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,EAAE,qBAAqB,CAAC,EAAE;QAC7B,IAAI,EAAE,qBAAqB,CAAC,EAAE;QAC9B,WAAW,EAAE,8CAA8C,CAAC,EAAE;QAC9D,QAAQ,EAAE,kBAAkB;KAC7B,CAAC,CAAC;CACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Resource } from "../types.js";
2
+ export declare const graphqlReferenceResource: Resource;
3
+ //# sourceMappingURL=graphql-reference.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-reference.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/graphql-reference.resource.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmb5C,eAAO,MAAM,wBAAwB,EAAE,QAUtC,CAAC"}