@cesteral/snapchat-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 (263) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +336 -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/snapchat-auth-adapter.d.ts +44 -0
  8. package/dist/auth/snapchat-auth-adapter.d.ts.map +1 -0
  9. package/dist/auth/snapchat-auth-adapter.js +127 -0
  10. package/dist/auth/snapchat-auth-adapter.js.map +1 -0
  11. package/dist/auth/snapchat-auth-strategy.d.ts +13 -0
  12. package/dist/auth/snapchat-auth-strategy.d.ts.map +1 -0
  13. package/dist/auth/snapchat-auth-strategy.js +54 -0
  14. package/dist/auth/snapchat-auth-strategy.js.map +1 -0
  15. package/dist/config/index.d.ts +124 -0
  16. package/dist/config/index.d.ts.map +1 -0
  17. package/dist/config/index.js +57 -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 +46 -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 +127 -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 +121 -0
  30. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
  31. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts +4 -0
  32. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts.map +1 -0
  33. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.js +121 -0
  34. package/dist/mcp-server/prompts/definitions/creative-upload-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 +198 -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 +189 -0
  50. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js.map +1 -0
  51. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.d.ts +4 -0
  52. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.d.ts.map +1 -0
  53. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.js +126 -0
  54. package/dist/mcp-server/prompts/definitions/reporting-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 +198 -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 +91 -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 +111 -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 +89 -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 +177 -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 +194 -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 +117 -0
  82. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js.map +1 -0
  83. package/dist/mcp-server/resources/definitions/index.d.ts +7 -0
  84. package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
  85. package/dist/mcp-server/resources/definitions/index.js +54 -0
  86. package/dist/mcp-server/resources/definitions/index.js.map +1 -0
  87. package/dist/mcp-server/resources/definitions/reporting-reference.resource.d.ts +3 -0
  88. package/dist/mcp-server/resources/definitions/reporting-reference.resource.d.ts.map +1 -0
  89. package/dist/mcp-server/resources/definitions/reporting-reference.resource.js +148 -0
  90. package/dist/mcp-server/resources/definitions/reporting-reference.resource.js.map +1 -0
  91. package/dist/mcp-server/resources/index.d.ts +3 -0
  92. package/dist/mcp-server/resources/index.d.ts.map +1 -0
  93. package/dist/mcp-server/resources/index.js +2 -0
  94. package/dist/mcp-server/resources/index.js.map +1 -0
  95. package/dist/mcp-server/resources/types.d.ts +8 -0
  96. package/dist/mcp-server/resources/types.d.ts.map +1 -0
  97. package/dist/mcp-server/resources/types.js +2 -0
  98. package/dist/mcp-server/resources/types.js.map +1 -0
  99. package/dist/mcp-server/server.d.ts +5 -0
  100. package/dist/mcp-server/server.d.ts.map +1 -0
  101. package/dist/mcp-server/server.js +134 -0
  102. package/dist/mcp-server/server.js.map +1 -0
  103. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts +209 -0
  104. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts.map +1 -0
  105. package/dist/mcp-server/tools/definitions/adjust-bids.tool.js +141 -0
  106. package/dist/mcp-server/tools/definitions/adjust-bids.tool.js.map +1 -0
  107. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts +163 -0
  108. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts.map +1 -0
  109. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js +119 -0
  110. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js.map +1 -0
  111. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts +241 -0
  112. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts.map +1 -0
  113. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js +149 -0
  114. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js.map +1 -0
  115. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts +203 -0
  116. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts.map +1 -0
  117. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js +154 -0
  118. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js.map +1 -0
  119. package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts +119 -0
  120. package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts.map +1 -0
  121. package/dist/mcp-server/tools/definitions/check-report-status.tool.js +89 -0
  122. package/dist/mcp-server/tools/definitions/check-report-status.tool.js.map +1 -0
  123. package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts +131 -0
  124. package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts.map +1 -0
  125. package/dist/mcp-server/tools/definitions/create-entity.tool.js +116 -0
  126. package/dist/mcp-server/tools/definitions/create-entity.tool.js.map +1 -0
  127. package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts +100 -0
  128. package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts.map +1 -0
  129. package/dist/mcp-server/tools/definitions/delete-entity.tool.js +110 -0
  130. package/dist/mcp-server/tools/definitions/delete-entity.tool.js.map +1 -0
  131. package/dist/mcp-server/tools/definitions/download-report.tool.d.ts +297 -0
  132. package/dist/mcp-server/tools/definitions/download-report.tool.d.ts.map +1 -0
  133. package/dist/mcp-server/tools/definitions/download-report.tool.js +103 -0
  134. package/dist/mcp-server/tools/definitions/download-report.tool.js.map +1 -0
  135. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.d.ts +105 -0
  136. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.d.ts.map +1 -0
  137. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.js +93 -0
  138. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.js.map +1 -0
  139. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts +68 -0
  140. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts.map +1 -0
  141. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js +61 -0
  142. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js.map +1 -0
  143. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.d.ts +104 -0
  144. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.d.ts.map +1 -0
  145. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.js +107 -0
  146. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.js.map +1 -0
  147. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +76 -0
  148. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts.map +1 -0
  149. package/dist/mcp-server/tools/definitions/get-entity.tool.js +71 -0
  150. package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
  151. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.d.ts +295 -0
  152. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.d.ts.map +1 -0
  153. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.js +172 -0
  154. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.js.map +1 -0
  155. package/dist/mcp-server/tools/definitions/get-report.tool.d.ts +279 -0
  156. package/dist/mcp-server/tools/definitions/get-report.tool.d.ts.map +1 -0
  157. package/dist/mcp-server/tools/definitions/get-report.tool.js +166 -0
  158. package/dist/mcp-server/tools/definitions/get-report.tool.js.map +1 -0
  159. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts +89 -0
  160. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts.map +1 -0
  161. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.js +99 -0
  162. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.js.map +1 -0
  163. package/dist/mcp-server/tools/definitions/index.d.ts +25 -0
  164. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
  165. package/dist/mcp-server/tools/definitions/index.js +75 -0
  166. package/dist/mcp-server/tools/definitions/index.js.map +1 -0
  167. package/dist/mcp-server/tools/definitions/list-advertisers.tool.d.ts +54 -0
  168. package/dist/mcp-server/tools/definitions/list-advertisers.tool.d.ts.map +1 -0
  169. package/dist/mcp-server/tools/definitions/list-advertisers.tool.js +61 -0
  170. package/dist/mcp-server/tools/definitions/list-advertisers.tool.js.map +1 -0
  171. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +161 -0
  172. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts.map +1 -0
  173. package/dist/mcp-server/tools/definitions/list-entities.tool.js +94 -0
  174. package/dist/mcp-server/tools/definitions/list-entities.tool.js.map +1 -0
  175. package/dist/mcp-server/tools/definitions/search-targeting.tool.d.ts +103 -0
  176. package/dist/mcp-server/tools/definitions/search-targeting.tool.d.ts.map +1 -0
  177. package/dist/mcp-server/tools/definitions/search-targeting.tool.js +108 -0
  178. package/dist/mcp-server/tools/definitions/search-targeting.tool.js.map +1 -0
  179. package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts +134 -0
  180. package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts.map +1 -0
  181. package/dist/mcp-server/tools/definitions/submit-report.tool.js +110 -0
  182. package/dist/mcp-server/tools/definitions/submit-report.tool.js.map +1 -0
  183. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts +155 -0
  184. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts.map +1 -0
  185. package/dist/mcp-server/tools/definitions/update-entity.tool.js +115 -0
  186. package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
  187. package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts +82 -0
  188. package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts.map +1 -0
  189. package/dist/mcp-server/tools/definitions/upload-image.tool.js +111 -0
  190. package/dist/mcp-server/tools/definitions/upload-image.tool.js.map +1 -0
  191. package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts +82 -0
  192. package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts.map +1 -0
  193. package/dist/mcp-server/tools/definitions/upload-video.tool.js +109 -0
  194. package/dist/mcp-server/tools/definitions/upload-video.tool.js.map +1 -0
  195. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +169 -0
  196. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts.map +1 -0
  197. package/dist/mcp-server/tools/definitions/validate-entity.tool.js +204 -0
  198. package/dist/mcp-server/tools/definitions/validate-entity.tool.js.map +1 -0
  199. package/dist/mcp-server/tools/index.d.ts +2 -0
  200. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  201. package/dist/mcp-server/tools/index.js +2 -0
  202. package/dist/mcp-server/tools/index.js.map +1 -0
  203. package/dist/mcp-server/tools/utils/entity-mapping.d.ts +18 -0
  204. package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
  205. package/dist/mcp-server/tools/utils/entity-mapping.js +96 -0
  206. package/dist/mcp-server/tools/utils/entity-mapping.js.map +1 -0
  207. package/dist/mcp-server/tools/utils/media-types.d.ts +19 -0
  208. package/dist/mcp-server/tools/utils/media-types.d.ts.map +1 -0
  209. package/dist/mcp-server/tools/utils/media-types.js +2 -0
  210. package/dist/mcp-server/tools/utils/media-types.js.map +1 -0
  211. package/dist/mcp-server/tools/utils/resolve-session.d.ts +4 -0
  212. package/dist/mcp-server/tools/utils/resolve-session.d.ts.map +1 -0
  213. package/dist/mcp-server/tools/utils/resolve-session.js +6 -0
  214. package/dist/mcp-server/tools/utils/resolve-session.js.map +1 -0
  215. package/dist/mcp-server/transports/streamable-http-transport.d.ts +61 -0
  216. package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
  217. package/dist/mcp-server/transports/streamable-http-transport.js +105 -0
  218. package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
  219. package/dist/services/session-services.d.ts +20 -0
  220. package/dist/services/session-services.d.ts.map +1 -0
  221. package/dist/services/session-services.js +23 -0
  222. package/dist/services/session-services.js.map +1 -0
  223. package/dist/services/snapchat/snapchat-http-client.d.ts +16 -0
  224. package/dist/services/snapchat/snapchat-http-client.d.ts.map +1 -0
  225. package/dist/services/snapchat/snapchat-http-client.js +153 -0
  226. package/dist/services/snapchat/snapchat-http-client.js.map +1 -0
  227. package/dist/services/snapchat/snapchat-reporting-service.d.ts +64 -0
  228. package/dist/services/snapchat/snapchat-reporting-service.d.ts.map +1 -0
  229. package/dist/services/snapchat/snapchat-reporting-service.js +172 -0
  230. package/dist/services/snapchat/snapchat-reporting-service.js.map +1 -0
  231. package/dist/services/snapchat/snapchat-service.d.ts +82 -0
  232. package/dist/services/snapchat/snapchat-service.d.ts.map +1 -0
  233. package/dist/services/snapchat/snapchat-service.js +321 -0
  234. package/dist/services/snapchat/snapchat-service.js.map +1 -0
  235. package/dist/services/snapchat/types.d.ts +136 -0
  236. package/dist/services/snapchat/types.d.ts.map +1 -0
  237. package/dist/services/snapchat/types.js +59 -0
  238. package/dist/services/snapchat/types.js.map +1 -0
  239. package/dist/types-global/mcp.d.ts +2 -0
  240. package/dist/types-global/mcp.d.ts.map +1 -0
  241. package/dist/types-global/mcp.js +2 -0
  242. package/dist/types-global/mcp.js.map +1 -0
  243. package/dist/utils/errors/index.d.ts +2 -0
  244. package/dist/utils/errors/index.d.ts.map +1 -0
  245. package/dist/utils/errors/index.js +2 -0
  246. package/dist/utils/errors/index.js.map +1 -0
  247. package/dist/utils/platform.d.ts +3 -0
  248. package/dist/utils/platform.d.ts.map +1 -0
  249. package/dist/utils/platform.js +5 -0
  250. package/dist/utils/platform.js.map +1 -0
  251. package/dist/utils/security/rate-limiter.d.ts +3 -0
  252. package/dist/utils/security/rate-limiter.d.ts.map +1 -0
  253. package/dist/utils/security/rate-limiter.js +5 -0
  254. package/dist/utils/security/rate-limiter.js.map +1 -0
  255. package/dist/utils/telemetry/index.d.ts +2 -0
  256. package/dist/utils/telemetry/index.d.ts.map +1 -0
  257. package/dist/utils/telemetry/index.js +2 -0
  258. package/dist/utils/telemetry/index.js.map +1 -0
  259. package/dist/utils/telemetry/tracing.d.ts +3 -0
  260. package/dist/utils/telemetry/tracing.d.ts.map +1 -0
  261. package/dist/utils/telemetry/tracing.js +4 -0
  262. package/dist/utils/telemetry/tracing.js.map +1 -0
  263. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-server/prompts/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,mCAAmC,EACnC,uCAAuC,GACxC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,GACpC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,wCAAwC,EACxC,4CAA4C,GAC7C,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EACL,oCAAoC,EACpC,wCAAwC,GACzC,MAAM,kDAAkD,CAAC;AAO1D,MAAM,CAAC,MAAM,cAAc,GAAkC,IAAI,GAAG,CAAC;IACnE;QACE,2BAA2B,CAAC,IAAI;QAChC;YACE,MAAM,EAAE,2BAA2B;YACnC,eAAe,EAAE,+BAA+B;SACjD;KACF;IACD;QACE,4BAA4B,CAAC,IAAI;QACjC;YACE,MAAM,EAAE,4BAA4B;YACpC,eAAe,EAAE,gCAAgC;SAClD;KACF;IACD;QACE,mCAAmC,CAAC,IAAI;QACxC;YACE,MAAM,EAAE,mCAAmC;YAC3C,eAAe,EAAE,uCAAuC;SACzD;KACF;IACD;QACE,gCAAgC,CAAC,IAAI;QACrC;YACE,MAAM,EAAE,gCAAgC;YACxC,eAAe,EAAE,oCAAoC;SACtD;KACF;IACD;QACE,+BAA+B,CAAC,IAAI;QACpC;YACE,MAAM,EAAE,+BAA+B;YACvC,eAAe,EAAE,mCAAmC;SACrD;KACF;IACD;QACE,kCAAkC,CAAC,IAAI;QACvC;YACE,MAAM,EAAE,kCAAkC;YAC1C,eAAe,EAAE,sCAAsC;SACxD;KACF;IACD;QACE,wCAAwC,CAAC,IAAI;QAC7C;YACE,MAAM,EAAE,wCAAwC;YAChD,eAAe,EAAE,4CAA4C;SAC9D;KACF;IACD;QACE,8BAA8B,CAAC,IAAI;QACnC;YACE,MAAM,EAAE,8BAA8B;YACtC,eAAe,EAAE,kCAAkC;SACpD;KACF;IACD;QACE,gCAAgC,CAAC,IAAI;QACrC;YACE,MAAM,EAAE,gCAAgC;YACxC,eAAe,EAAE,oCAAoC;SACtD;KACF;IACD;QACE,oCAAoC,CAAC,IAAI;QACzC;YACE,MAAM,EAAE,oCAAoC;YAC5C,eAAe,EAAE,wCAAwC;SAC1D;KACF;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Resource } from "../types.js";
2
+ export declare const entityExampleResources: Resource[];
3
+ export declare const entityExampleAllResource: Resource;
4
+ //# sourceMappingURL=entity-examples.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-examples.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-examples.resource.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2K5C,eAAO,MAAM,sBAAsB,EAAE,QAAQ,EAQ1C,CAAC;AAEJ,eAAO,MAAM,wBAAwB,EAAE,QAMtC,CAAC"}
@@ -0,0 +1,177 @@
1
+ import { getSupportedEntityTypes, } from "../../tools/utils/entity-mapping.js";
2
+ const ENTITY_EXAMPLE_CONTENT = {
3
+ campaign: `# Snapchat Campaign Examples
4
+
5
+ ## Create an Awareness Campaign (daily budget)
6
+ \`\`\`json
7
+ {
8
+ "entityType": "campaign",
9
+ "adAccountId": "acct_123456",
10
+ "data": {
11
+ "name": "Spring 2024 Awareness Campaign",
12
+ "objective": "AWARENESS",
13
+ "status": "ACTIVE",
14
+ "ad_account_id": "acct_123456",
15
+ "daily_budget_micro": 50000000,
16
+ "start_time": "2024-03-01T00:00:00Z",
17
+ "end_time": "2024-03-31T23:59:59Z"
18
+ }
19
+ }
20
+ \`\`\`
21
+
22
+ ## Create an App Install Campaign (lifetime budget)
23
+ \`\`\`json
24
+ {
25
+ "entityType": "campaign",
26
+ "adAccountId": "acct_123456",
27
+ "data": {
28
+ "name": "App Install Q1 2024",
29
+ "objective": "APP_INSTALLS",
30
+ "status": "PAUSED",
31
+ "ad_account_id": "acct_123456",
32
+ "lifetime_spend_cap_micro": 500000000
33
+ }
34
+ }
35
+ \`\`\`
36
+
37
+ ## Update Campaign Budget
38
+ \`\`\`json
39
+ {
40
+ "entityType": "campaign",
41
+ "adAccountId": "acct_123456",
42
+ "entityId": "campaign_abc",
43
+ "data": {
44
+ "daily_budget_micro": 100000000
45
+ }
46
+ }
47
+ \`\`\`
48
+
49
+ ⚠️ **Budgets are in micro-currency: 1 USD = 1,000,000. $50/day → daily_budget_micro: 50000000**
50
+ `,
51
+ adGroup: `# Snapchat Ad Squad (Ad Group) Examples
52
+
53
+ ⚠️ **Ad groups in Snapchat are called "Ad Squads" — entity type "adGroup" maps to API path /adsquads**
54
+ ⚠️ **List path uses campaignId (/v1/campaigns/{id}/adsquads) but create path uses adAccountId**
55
+
56
+ ## Create an Ad Squad with Targeting
57
+ \`\`\`json
58
+ {
59
+ "entityType": "adGroup",
60
+ "adAccountId": "acct_123456",
61
+ "data": {
62
+ "name": "18-35 Female Audience",
63
+ "campaign_id": "campaign_abc",
64
+ "status": "ACTIVE",
65
+ "daily_budget_micro": 10000000,
66
+ "bid_micro": 1000000,
67
+ "optimization_goal": "SWIPE",
68
+ "placement": "SNAP_ADS"
69
+ }
70
+ }
71
+ \`\`\`
72
+
73
+ ## Create a Video Views Ad Squad
74
+ \`\`\`json
75
+ {
76
+ "entityType": "adGroup",
77
+ "adAccountId": "acct_123456",
78
+ "data": {
79
+ "name": "Video Views - All Ages",
80
+ "campaign_id": "campaign_abc",
81
+ "status": "ACTIVE",
82
+ "daily_budget_micro": 20000000,
83
+ "bid_micro": 500000,
84
+ "optimization_goal": "VIDEO_VIEWS",
85
+ "placement": "BOTH"
86
+ }
87
+ }
88
+ \`\`\`
89
+ `,
90
+ ad: `# Snapchat Ad Examples
91
+
92
+ ## Create a Snap Ad
93
+ \`\`\`json
94
+ {
95
+ "entityType": "ad",
96
+ "adAccountId": "acct_123456",
97
+ "data": {
98
+ "name": "Spring Sale Ad",
99
+ "ad_squad_id": "adsquad_xyz",
100
+ "creative_id": "creative_123",
101
+ "status": "ACTIVE",
102
+ "type": "SNAP_AD"
103
+ }
104
+ }
105
+ \`\`\`
106
+
107
+ ## Create a Story Ad
108
+ \`\`\`json
109
+ {
110
+ "entityType": "ad",
111
+ "adAccountId": "acct_123456",
112
+ "data": {
113
+ "name": "Brand Story Ad",
114
+ "ad_squad_id": "adsquad_xyz",
115
+ "creative_id": "creative_456",
116
+ "status": "ACTIVE",
117
+ "type": "STORY"
118
+ }
119
+ }
120
+ \`\`\`
121
+ `,
122
+ creative: `# Snapchat Creative Examples
123
+
124
+ ## Create a Snap Ad Creative
125
+ \`\`\`json
126
+ {
127
+ "entityType": "creative",
128
+ "adAccountId": "acct_123456",
129
+ "data": {
130
+ "name": "Spring Sale Creative",
131
+ "type": "SNAP_AD",
132
+ "ad_account_id": "acct_123456",
133
+ "brand_name": "Your Brand",
134
+ "headline": "Shop the Spring Sale",
135
+ "call_to_action": "SHOP_NOW"
136
+ }
137
+ }
138
+ \`\`\`
139
+
140
+ ## Create an App Install Creative
141
+ \`\`\`json
142
+ {
143
+ "entityType": "creative",
144
+ "adAccountId": "acct_123456",
145
+ "data": {
146
+ "name": "App Install Creative",
147
+ "type": "APP_INSTALL",
148
+ "ad_account_id": "acct_123456",
149
+ "brand_name": "Your App",
150
+ "headline": "Download our app today",
151
+ "call_to_action": "INSTALL_NOW"
152
+ }
153
+ }
154
+ \`\`\`
155
+ `,
156
+ };
157
+ function buildAllExamplesMarkdown() {
158
+ return getSupportedEntityTypes()
159
+ .map((t) => ENTITY_EXAMPLE_CONTENT[t])
160
+ .join("\n\n---\n\n");
161
+ }
162
+ export const entityExampleResources = getSupportedEntityTypes().map((entityType) => ({
163
+ uri: `entity-examples://snapchat/${entityType}`,
164
+ name: `Snapchat ${entityType} Examples`,
165
+ description: `Example payloads for creating and updating Snapchat ${entityType} entities`,
166
+ mimeType: "text/markdown",
167
+ getContent: () => ENTITY_EXAMPLE_CONTENT[entityType] ??
168
+ `# Snapchat ${entityType} Examples\n\nNo examples available.\n`,
169
+ }));
170
+ export const entityExampleAllResource = {
171
+ uri: "entity-examples://snapchat/all",
172
+ name: "Snapchat All Entity Examples",
173
+ description: "Combined example payloads for all Snapchat Ads entity types",
174
+ mimeType: "text/markdown",
175
+ getContent: buildAllExamplesMarkdown,
176
+ };
177
+ //# sourceMappingURL=entity-examples.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-examples.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-examples.resource.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,sBAAsB,GAAuC;IACjE,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CX;IAEC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCV;IAEC,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BL;IAEC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCX;CACA,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO,uBAAuB,EAAE;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;SACrC,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAe,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/F,GAAG,EAAE,8BAA8B,UAAU,EAAE;IAC/C,IAAI,EAAE,YAAY,UAAU,WAAW;IACvC,WAAW,EAAE,uDAAuD,UAAU,WAAW;IACzF,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,GAAG,EAAE,CACf,sBAAsB,CAAC,UAAU,CAAC;QAClC,cAAc,UAAU,uCAAuC;CAClE,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAa;IAChD,GAAG,EAAE,gCAAgC;IACrC,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE,6DAA6D;IAC1E,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,wBAAwB;CACrC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Resource } from "../types.js";
2
+ export declare const entityHierarchyResource: Resource;
3
+ //# sourceMappingURL=entity-hierarchy.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-hierarchy.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-hierarchy.resource.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2L5C,eAAO,MAAM,uBAAuB,EAAE,QAUrC,CAAC"}
@@ -0,0 +1,194 @@
1
+ let cachedContent;
2
+ function formatEntityHierarchyMarkdown() {
3
+ return `# Snapchat Ads Entity Hierarchy
4
+
5
+ ## Relationship Diagram
6
+
7
+ \`\`\`
8
+ Ad Account (ad_account_id: XXXXXXXXXX)
9
+ ├── Campaign (campaign_id)
10
+ │ └── Ad Squad (adsquad_id) ← "adGroup" in this server
11
+ │ └── Ad (ad_id) ← references Creative
12
+ └── Creative (creative_id, reusable across ads)
13
+ \`\`\`
14
+
15
+ ## Entity Types (4 total)
16
+
17
+ | Entity Type | List Endpoint | Create Endpoint | ID Field |
18
+ |-------------|---------------|-----------------|----------|
19
+ | **campaign** | \`GET /v1/adaccounts/{adAccountId}/campaigns\` | \`POST /v1/adaccounts/{adAccountId}/campaigns\` | id |
20
+ | **adGroup** (Ad Squad) | \`GET /v1/campaigns/{campaignId}/adsquads\` | \`POST /v1/campaigns/{campaignId}/adsquads\` | id |
21
+ | **ad** | \`GET /v1/adsquads/{adSquadId}/ads\` | \`POST /v1/adsquads/{adSquadId}/ads\` | id |
22
+ | **creative** | \`GET /v1/adaccounts/{adAccountId}/creatives\` | \`POST /v1/adaccounts/{adAccountId}/creatives\` | id |
23
+
24
+ ## Key Relationships
25
+
26
+ ### Core Hierarchy: Ad Account → Campaign → Ad Squad → Ad
27
+ - A campaign has one or more ad squads (adGroups).
28
+ - An ad squad has one or more ads.
29
+ - An ad references a creative asset.
30
+
31
+ ### Reusable Entities
32
+ - **Creatives** can be referenced by multiple ads within the same ad account.
33
+
34
+ ## Creation Order
35
+
36
+ Full campaign structure (top-down):
37
+
38
+ 1. **Ad Account** — pre-exists; discover with \`snapchat_list_ad_accounts\`
39
+ 2. **Creative(s)** — optional; upload media via \`snapchat_upload_image\` / \`snapchat_upload_video\`, then create creative
40
+ 3. **Campaign** — requires \`name\`, \`status\`, \`objective\`, \`daily_budget_micro\`
41
+ 4. **Ad Squad(s)** — requires \`campaign_id\`, \`name\`, \`status\`, \`placement\`, \`bid_micro\`, \`daily_budget_micro\`
42
+ 5. **Ad(s)** — requires \`ad_squad_id\`, \`name\`, \`status\`, \`creative_id\`, \`type\`
43
+
44
+ ## Snapchat Ads API v1 Patterns
45
+
46
+ ### List campaigns
47
+ \`\`\`
48
+ GET /v1/adaccounts/{adAccountId}/campaigns
49
+ Authorization: Bearer <token>
50
+ \`\`\`
51
+
52
+ ### Create campaign
53
+ \`\`\`
54
+ POST /v1/adaccounts/{adAccountId}/campaigns
55
+ { "campaigns": [{ "name": "...", "status": "PAUSED", "objective": "WEBSITE_CONVERSIONS", "daily_budget_micro": 10000000 }] }
56
+ \`\`\`
57
+
58
+ ### Update campaign
59
+ \`\`\`
60
+ PUT /v1/campaigns/{campaignId}
61
+ { "campaigns": [{ "id": "...", "name": "...", "status": "ACTIVE" }] }
62
+ \`\`\`
63
+
64
+ ### Delete campaign
65
+ \`\`\`
66
+ DELETE /v1/campaigns/{campaignId}
67
+ \`\`\`
68
+
69
+ ### List ad squads
70
+ \`\`\`
71
+ GET /v1/campaigns/{campaignId}/adsquads
72
+ \`\`\`
73
+
74
+ ### Create ad squad
75
+ \`\`\`
76
+ POST /v1/campaigns/{campaignId}/adsquads
77
+ { "adsquads": [{ "name": "...", "status": "PAUSED", "placement": "SNAP_ADS", "bid_micro": 1000000, "daily_budget_micro": 5000000 }] }
78
+ \`\`\`
79
+
80
+ ### Update ad squad
81
+ \`\`\`
82
+ PUT /v1/adsquads/{adSquadId}
83
+ { "adsquads": [{ "id": "...", "bid_micro": 2000000 }] }
84
+ \`\`\`
85
+
86
+ ### List ads
87
+ \`\`\`
88
+ GET /v1/adsquads/{adSquadId}/ads
89
+ \`\`\`
90
+
91
+ ### Create ad
92
+ \`\`\`
93
+ POST /v1/adsquads/{adSquadId}/ads
94
+ { "ads": [{ "name": "...", "status": "PAUSED", "type": "SNAP_AD", "creative_id": "..." }] }
95
+ \`\`\`
96
+
97
+ ### Update ad
98
+ \`\`\`
99
+ PUT /v1/ads/{adId}
100
+ { "ads": [{ "id": "...", "status": "ACTIVE" }] }
101
+ \`\`\`
102
+
103
+ ### List creatives
104
+ \`\`\`
105
+ GET /v1/adaccounts/{adAccountId}/creatives
106
+ \`\`\`
107
+
108
+ ### Create creative
109
+ \`\`\`
110
+ POST /v1/adaccounts/{adAccountId}/creatives
111
+ { "creatives": [{ "name": "...", "type": "SNAP_AD", "ad_account_id": "...", "brand_name": "...", "headline": "...", "top_snap_media_id": "..." }] }
112
+ \`\`\`
113
+
114
+ ## Response Envelope
115
+
116
+ All Snapchat API responses follow this structure:
117
+ \`\`\`json
118
+ {
119
+ "request_status": "SUCCESS",
120
+ "request_id": "...",
121
+ "campaigns": [
122
+ {
123
+ "sub_request_status": "SUCCESS",
124
+ "campaign": { "id": "...", "name": "...", ... }
125
+ }
126
+ ]
127
+ }
128
+ \`\`\`
129
+ - \`request_status: "SUCCESS"\` = top-level success
130
+ - \`request_status: "FAILED"\` = error (check \`display_message\`)
131
+ - Each entity item has its own \`sub_request_status\`
132
+
133
+ ## Pagination
134
+
135
+ Snapchat uses cursor-based pagination:
136
+ - Response includes a \`cursor\` field for the next page
137
+ - Pass \`cursor\` as a query param to get the next page of results
138
+
139
+ ## Budget
140
+
141
+ - Budget values are in **micro-currency** (1,000,000 = $1.00 USD, or equivalent in account currency)
142
+ - \`daily_budget_micro\`: daily spend cap
143
+ - \`lifetime_spend_cap_micro\`: lifetime total cap
144
+ - Example: $10/day = 10,000,000 micro
145
+
146
+ ## Campaign Objectives
147
+
148
+ | Objective | Use Case |
149
+ |-----------|----------|
150
+ | WEBSITE_CONVERSIONS | Optimize for website conversion events |
151
+ | APP_INSTALLS | Drive app downloads |
152
+ | APP_ENGAGEMENT | Re-engage app users |
153
+ | BRAND_AWARENESS | Reach and brand recall |
154
+ | VIDEO_VIEWS | Maximize video plays |
155
+ | LEAD_GENERATION | In-app lead forms |
156
+ | CATALOG_SALES | Dynamic product ads |
157
+ | WEB_VIEW | Drive website visits |
158
+
159
+ ## Available Tools Summary
160
+
161
+ | Tool | Purpose | Batch? |
162
+ |------|---------|--------|
163
+ | \`snapchat_list_entities\` | List entities with filters | |
164
+ | \`snapchat_get_entity\` | Get single entity | |
165
+ | \`snapchat_create_entity\` | Create single entity | |
166
+ | \`snapchat_update_entity\` | Update single entity | |
167
+ | \`snapchat_delete_entity\` | Delete entities | ✓ |
168
+ | \`snapchat_list_ad_accounts\` | List accessible ad accounts | |
169
+ | \`snapchat_get_report\` | Async report with polling | |
170
+ | \`snapchat_get_report_breakdowns\` | Report with breakdown fields | |
171
+ | \`snapchat_bulk_update_status\` | Batch status update | ✓ |
172
+ | \`snapchat_bulk_create_entities\` | Batch entity creation | ✓ |
173
+ | \`snapchat_bulk_update_entities\` | Batch entity updates | ✓ |
174
+ | \`snapchat_adjust_bids\` | Batch bid adjustment | ✓ |
175
+ | \`snapchat_search_targeting\` | Search targeting options | |
176
+ | \`snapchat_get_targeting_options\` | Browse targeting categories | |
177
+ | \`snapchat_get_audience_estimate\` | Audience size estimation | |
178
+ | \`snapchat_get_ad_preview\` | Ad preview data | |
179
+ | \`snapchat_validate_entity\` | Client-side payload validation | |
180
+ | \`snapchat_upload_image\` | Upload image to media library | |
181
+ | \`snapchat_upload_video\` | Upload video to media library (polls) | |
182
+ `;
183
+ }
184
+ export const entityHierarchyResource = {
185
+ uri: "entity-hierarchy://snapchat/all",
186
+ name: "Snapchat Entity Hierarchy",
187
+ description: "Parent-child relationships between Snapchat Ads entities, API patterns, and creation ordering",
188
+ mimeType: "text/markdown",
189
+ getContent: () => {
190
+ cachedContent ??= formatEntityHierarchyMarkdown();
191
+ return cachedContent;
192
+ },
193
+ };
194
+ //# 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":"AAQA,IAAI,aAAiC,CAAC;AAEtC,SAAS,6BAA6B;IACpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmLR,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,GAAG,EAAE,iCAAiC;IACtC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACT,+FAA+F;IACjG,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":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmI5C,eAAO,MAAM,qBAAqB,EAAE,QAAQ,EAMzC,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,QAMrC,CAAC"}
@@ -0,0 +1,117 @@
1
+ import { getSupportedEntityTypes, } from "../../tools/utils/entity-mapping.js";
2
+ const ENTITY_SCHEMA_CONTENT = {
3
+ campaign: JSON.stringify({
4
+ type: "object",
5
+ required: ["name", "objective", "ad_account_id"],
6
+ properties: {
7
+ name: { type: "string", description: "Campaign name" },
8
+ objective: {
9
+ type: "string",
10
+ enum: [
11
+ "AWARENESS",
12
+ "APP_INSTALLS",
13
+ "DRIVE_REPLAY",
14
+ "LEAD_GENERATION",
15
+ "WEBSITE_CONVERSIONS",
16
+ "PRODUCT_CATALOG_SALES",
17
+ "VIDEO_VIEWS",
18
+ ],
19
+ },
20
+ status: { type: "string", enum: ["ACTIVE", "PAUSED"] },
21
+ ad_account_id: { type: "string", description: "Ad account ID" },
22
+ daily_budget_micro: {
23
+ type: "integer",
24
+ description: "Daily budget in micro-currency (1 USD = 1,000,000)",
25
+ },
26
+ lifetime_spend_cap_micro: {
27
+ type: "integer",
28
+ description: "Lifetime spend cap in micro-currency",
29
+ },
30
+ start_time: {
31
+ type: "string",
32
+ format: "date-time",
33
+ description: "Campaign start time (ISO 8601)",
34
+ },
35
+ end_time: {
36
+ type: "string",
37
+ format: "date-time",
38
+ description: "Campaign end time (ISO 8601)",
39
+ },
40
+ },
41
+ }, null, 2),
42
+ adGroup: JSON.stringify({
43
+ type: "object",
44
+ required: ["name", "campaign_id"],
45
+ properties: {
46
+ name: { type: "string" },
47
+ campaign_id: { type: "string" },
48
+ status: { type: "string", enum: ["ACTIVE", "PAUSED"] },
49
+ daily_budget_micro: { type: "integer" },
50
+ bid_micro: {
51
+ type: "integer",
52
+ description: "Bid amount in micro-currency",
53
+ },
54
+ optimization_goal: {
55
+ type: "string",
56
+ enum: ["SWIPE", "PIXEL_PAGE_VIEW", "APP_INSTALL", "VIDEO_VIEWS", "STORY_OPENS"],
57
+ },
58
+ placement: {
59
+ type: "string",
60
+ enum: ["SNAP_ADS", "AUDIENCE_NETWORK", "BOTH"],
61
+ },
62
+ },
63
+ }, null, 2),
64
+ ad: JSON.stringify({
65
+ type: "object",
66
+ required: ["name", "ad_squad_id", "creative_id"],
67
+ properties: {
68
+ name: { type: "string" },
69
+ ad_squad_id: { type: "string" },
70
+ creative_id: { type: "string" },
71
+ status: { type: "string", enum: ["ACTIVE", "PAUSED"] },
72
+ type: { type: "string", enum: ["SNAP_AD", "STORY", "COLLECTION"] },
73
+ },
74
+ }, null, 2),
75
+ creative: JSON.stringify({
76
+ type: "object",
77
+ required: ["name", "type", "ad_account_id"],
78
+ properties: {
79
+ name: { type: "string" },
80
+ type: {
81
+ type: "string",
82
+ enum: ["SNAP_AD", "STORY", "COLLECTION", "APP_INSTALL", "WEB_VIEW"],
83
+ },
84
+ ad_account_id: { type: "string" },
85
+ brand_name: { type: "string" },
86
+ headline: { type: "string" },
87
+ call_to_action: {
88
+ type: "string",
89
+ enum: ["INSTALL_NOW", "SHOP_NOW", "LEARN_MORE", "SIGN_UP", "WATCH_NOW"],
90
+ },
91
+ },
92
+ }, null, 2),
93
+ };
94
+ function buildEntitySchemaMarkdown(entityType) {
95
+ return (ENTITY_SCHEMA_CONTENT[entityType] ??
96
+ `# Snapchat ${entityType}\n\nNo schema information available.\n`);
97
+ }
98
+ function buildAllSchemasMarkdown() {
99
+ return getSupportedEntityTypes()
100
+ .map((t) => ENTITY_SCHEMA_CONTENT[t])
101
+ .join("\n\n---\n\n");
102
+ }
103
+ export const entitySchemaResources = getSupportedEntityTypes().map((entityType) => ({
104
+ uri: `entity-schema://snapchat/${entityType}`,
105
+ name: `Snapchat ${entityType} Schema`,
106
+ description: `Field reference for Snapchat ${entityType} entity including required fields, optional fields, and read-only fields`,
107
+ mimeType: "text/markdown",
108
+ getContent: () => buildEntitySchemaMarkdown(entityType),
109
+ }));
110
+ export const entitySchemaAllResource = {
111
+ uri: "entity-schema://snapchat/all",
112
+ name: "Snapchat All Entity Schemas",
113
+ description: "Combined field reference for all Snapchat Ads entity types",
114
+ mimeType: "text/markdown",
115
+ getContent: buildAllSchemasMarkdown,
116
+ };
117
+ //# 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":"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"}
@@ -0,0 +1,7 @@
1
+ export { entityHierarchyResource } from "./entity-hierarchy.resource.js";
2
+ export { entitySchemaResources, entitySchemaAllResource } from "./entity-schemas.resource.js";
3
+ export { entityExampleResources, entityExampleAllResource } from "./entity-examples.resource.js";
4
+ export { reportingReferenceResource } from "./reporting-reference.resource.js";
5
+ import type { Resource } from "../types.js";
6
+ export declare const allResources: Resource[];
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAQ/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuC5C,eAAO,MAAM,YAAY,EAAE,QAAQ,EASlC,CAAC"}
@@ -0,0 +1,54 @@
1
+ export { entityHierarchyResource } from "./entity-hierarchy.resource.js";
2
+ export { entitySchemaResources, entitySchemaAllResource } from "./entity-schemas.resource.js";
3
+ export { entityExampleResources, entityExampleAllResource } from "./entity-examples.resource.js";
4
+ export { reportingReferenceResource } from "./reporting-reference.resource.js";
5
+ import { entityHierarchyResource } from "./entity-hierarchy.resource.js";
6
+ import { entitySchemaResources, entitySchemaAllResource } from "./entity-schemas.resource.js";
7
+ import { entityExampleResources, entityExampleAllResource } from "./entity-examples.resource.js";
8
+ import { reportingReferenceResource } from "./reporting-reference.resource.js";
9
+ import { allTools } from "../../tools/definitions/index.js";
10
+ import { createToolExamplesResource, createServerCapabilitiesResource } from "@cesteral/shared";
11
+ const toolExamplesResource = createToolExamplesResource(allTools, "snapchat-mcp");
12
+ const serverCapabilitiesResource = createServerCapabilitiesResource({
13
+ serverName: "snapchat-mcp",
14
+ toolGroups: {
15
+ crud: [
16
+ "snapchat_list_entities",
17
+ "snapchat_get_entity",
18
+ "snapchat_create_entity",
19
+ "snapchat_update_entity",
20
+ "snapchat_delete_entity",
21
+ ],
22
+ account: ["snapchat_list_ad_accounts"],
23
+ reporting: [
24
+ "snapchat_get_report",
25
+ "snapchat_get_report_breakdowns",
26
+ "snapchat_submit_report",
27
+ "snapchat_check_report_status",
28
+ "snapchat_download_report",
29
+ ],
30
+ bulk: [
31
+ "snapchat_bulk_update_status",
32
+ "snapchat_bulk_create_entities",
33
+ "snapchat_bulk_update_entities",
34
+ "snapchat_adjust_bids",
35
+ ],
36
+ targeting: ["snapchat_search_targeting", "snapchat_get_targeting_options"],
37
+ specialized: ["snapchat_get_audience_estimate", "snapchat_get_ad_preview"],
38
+ validation: ["snapchat_validate_entity"],
39
+ discovery: ["snapchat_search_tools"],
40
+ },
41
+ commonWorkflows: ["campaign_setup", "async_reporting", "audience_targeting"],
42
+ startHere: "snapchat_list_ad_accounts",
43
+ });
44
+ export const allResources = [
45
+ entityHierarchyResource,
46
+ entitySchemaAllResource,
47
+ ...entitySchemaResources,
48
+ entityExampleAllResource,
49
+ ...entityExampleResources,
50
+ reportingReferenceResource,
51
+ ...(toolExamplesResource ? [toolExamplesResource] : []),
52
+ serverCapabilitiesResource,
53
+ ];
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAGhG,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAClF,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;IAClE,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,wBAAwB;YACxB,qBAAqB;YACrB,wBAAwB;YACxB,wBAAwB;YACxB,wBAAwB;SACzB;QACD,OAAO,EAAE,CAAC,2BAA2B,CAAC;QACtC,SAAS,EAAE;YACT,qBAAqB;YACrB,gCAAgC;YAChC,wBAAwB;YACxB,8BAA8B;YAC9B,0BAA0B;SAC3B;QACD,IAAI,EAAE;YACJ,6BAA6B;YAC7B,+BAA+B;YAC/B,+BAA+B;YAC/B,sBAAsB;SACvB;QACD,SAAS,EAAE,CAAC,2BAA2B,EAAE,gCAAgC,CAAC;QAC1E,WAAW,EAAE,CAAC,gCAAgC,EAAE,yBAAyB,CAAC;QAC1E,UAAU,EAAE,CAAC,0BAA0B,CAAC;QACxC,SAAS,EAAE,CAAC,uBAAuB,CAAC;KACrC;IACD,eAAe,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC;IAC5E,SAAS,EAAE,2BAA2B;CACvC,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,YAAY,GAAe;IACtC,uBAAuB;IACvB,uBAAuB;IACvB,GAAG,qBAAqB;IACxB,wBAAwB;IACxB,GAAG,sBAAsB;IACzB,0BAA0B;IAC1B,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAA2C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,0BAAiD;CAClD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Resource } from "../types.js";
2
+ export declare const reportingReferenceResource: Resource;
3
+ //# sourceMappingURL=reporting-reference.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting-reference.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/reporting-reference.resource.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA6I5C,eAAO,MAAM,0BAA0B,EAAE,QAUxC,CAAC"}