@cesteral/linkedin-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 (259) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +304 -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/linkedin-auth-adapter.d.ts +38 -0
  8. package/dist/auth/linkedin-auth-adapter.d.ts.map +1 -0
  9. package/dist/auth/linkedin-auth-adapter.js +110 -0
  10. package/dist/auth/linkedin-auth-adapter.js.map +1 -0
  11. package/dist/auth/linkedin-auth-strategy.d.ts +14 -0
  12. package/dist/auth/linkedin-auth-strategy.d.ts.map +1 -0
  13. package/dist/auth/linkedin-auth-strategy.js +50 -0
  14. package/dist/auth/linkedin-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 +37 -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 +40 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/mcp-server/prompts/definitions/analytics-reporting-workflow.prompt.d.ts +4 -0
  24. package/dist/mcp-server/prompts/definitions/analytics-reporting-workflow.prompt.d.ts.map +1 -0
  25. package/dist/mcp-server/prompts/definitions/analytics-reporting-workflow.prompt.js +108 -0
  26. package/dist/mcp-server/prompts/definitions/analytics-reporting-workflow.prompt.js.map +1 -0
  27. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts +4 -0
  28. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts.map +1 -0
  29. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js +177 -0
  30. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js.map +1 -0
  31. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts +4 -0
  32. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts.map +1 -0
  33. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js +171 -0
  34. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
  35. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts +4 -0
  36. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts.map +1 -0
  37. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.js +109 -0
  38. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.js.map +1 -0
  39. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts +4 -0
  40. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts.map +1 -0
  41. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js +299 -0
  42. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js.map +1 -0
  43. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts +4 -0
  44. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts.map +1 -0
  45. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js +170 -0
  46. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js.map +1 -0
  47. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts +4 -0
  48. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts.map +1 -0
  49. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js +213 -0
  50. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js.map +1 -0
  51. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts +4 -0
  52. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts.map +1 -0
  53. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js +151 -0
  54. package/dist/mcp-server/prompts/definitions/entity-update-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 +217 -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 +98 -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 +91 -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/analytics-reference.resource.d.ts +3 -0
  72. package/dist/mcp-server/resources/definitions/analytics-reference.resource.d.ts.map +1 -0
  73. package/dist/mcp-server/resources/definitions/analytics-reference.resource.js +162 -0
  74. package/dist/mcp-server/resources/definitions/analytics-reference.resource.js.map +1 -0
  75. package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts +4 -0
  76. package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts.map +1 -0
  77. package/dist/mcp-server/resources/definitions/entity-examples.resource.js +164 -0
  78. package/dist/mcp-server/resources/definitions/entity-examples.resource.js.map +1 -0
  79. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts +3 -0
  80. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts.map +1 -0
  81. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js +144 -0
  82. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js.map +1 -0
  83. package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts +4 -0
  84. package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts.map +1 -0
  85. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js +127 -0
  86. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js.map +1 -0
  87. package/dist/mcp-server/resources/definitions/index.d.ts +8 -0
  88. package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
  89. package/dist/mcp-server/resources/definitions/index.js +54 -0
  90. package/dist/mcp-server/resources/definitions/index.js.map +1 -0
  91. package/dist/mcp-server/resources/definitions/targeting-reference.resource.d.ts +3 -0
  92. package/dist/mcp-server/resources/definitions/targeting-reference.resource.d.ts.map +1 -0
  93. package/dist/mcp-server/resources/definitions/targeting-reference.resource.js +122 -0
  94. package/dist/mcp-server/resources/definitions/targeting-reference.resource.js.map +1 -0
  95. package/dist/mcp-server/resources/index.d.ts +3 -0
  96. package/dist/mcp-server/resources/index.d.ts.map +1 -0
  97. package/dist/mcp-server/resources/index.js +2 -0
  98. package/dist/mcp-server/resources/index.js.map +1 -0
  99. package/dist/mcp-server/resources/types.d.ts +8 -0
  100. package/dist/mcp-server/resources/types.d.ts.map +1 -0
  101. package/dist/mcp-server/resources/types.js +2 -0
  102. package/dist/mcp-server/resources/types.js.map +1 -0
  103. package/dist/mcp-server/server.d.ts +5 -0
  104. package/dist/mcp-server/server.d.ts.map +1 -0
  105. package/dist/mcp-server/server.js +128 -0
  106. package/dist/mcp-server/server.js.map +1 -0
  107. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts +213 -0
  108. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts.map +1 -0
  109. package/dist/mcp-server/tools/definitions/adjust-bids.tool.js +174 -0
  110. package/dist/mcp-server/tools/definitions/adjust-bids.tool.js.map +1 -0
  111. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts +128 -0
  112. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts.map +1 -0
  113. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js +95 -0
  114. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js.map +1 -0
  115. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts +183 -0
  116. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts.map +1 -0
  117. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js +122 -0
  118. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js.map +1 -0
  119. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts +140 -0
  120. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts.map +1 -0
  121. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js +109 -0
  122. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js.map +1 -0
  123. package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts +117 -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 +98 -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 +93 -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 +100 -0
  130. package/dist/mcp-server/tools/definitions/delete-entity.tool.js.map +1 -0
  131. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.d.ts +95 -0
  132. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.d.ts.map +1 -0
  133. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.js +89 -0
  134. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.js.map +1 -0
  135. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts +75 -0
  136. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts.map +1 -0
  137. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js +68 -0
  138. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js.map +1 -0
  139. package/dist/mcp-server/tools/definitions/get-ad-previews.tool.d.ts +75 -0
  140. package/dist/mcp-server/tools/definitions/get-ad-previews.tool.d.ts.map +1 -0
  141. package/dist/mcp-server/tools/definitions/get-ad-previews.tool.js +71 -0
  142. package/dist/mcp-server/tools/definitions/get-ad-previews.tool.js.map +1 -0
  143. package/dist/mcp-server/tools/definitions/get-analytics-breakdowns.tool.d.ts +223 -0
  144. package/dist/mcp-server/tools/definitions/get-analytics-breakdowns.tool.d.ts.map +1 -0
  145. package/dist/mcp-server/tools/definitions/get-analytics-breakdowns.tool.js +152 -0
  146. package/dist/mcp-server/tools/definitions/get-analytics-breakdowns.tool.js.map +1 -0
  147. package/dist/mcp-server/tools/definitions/get-analytics.tool.d.ts +325 -0
  148. package/dist/mcp-server/tools/definitions/get-analytics.tool.d.ts.map +1 -0
  149. package/dist/mcp-server/tools/definitions/get-analytics.tool.js +154 -0
  150. package/dist/mcp-server/tools/definitions/get-analytics.tool.js.map +1 -0
  151. package/dist/mcp-server/tools/definitions/get-delivery-forecast.tool.d.ts +95 -0
  152. package/dist/mcp-server/tools/definitions/get-delivery-forecast.tool.d.ts.map +1 -0
  153. package/dist/mcp-server/tools/definitions/get-delivery-forecast.tool.js +90 -0
  154. package/dist/mcp-server/tools/definitions/get-delivery-forecast.tool.js.map +1 -0
  155. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +75 -0
  156. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts.map +1 -0
  157. package/dist/mcp-server/tools/definitions/get-entity.tool.js +75 -0
  158. package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
  159. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts +81 -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 +76 -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 +23 -0
  164. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
  165. package/dist/mcp-server/tools/definitions/index.js +69 -0
  166. package/dist/mcp-server/tools/definitions/index.js.map +1 -0
  167. package/dist/mcp-server/tools/definitions/list-ad-accounts.tool.d.ts +141 -0
  168. package/dist/mcp-server/tools/definitions/list-ad-accounts.tool.d.ts.map +1 -0
  169. package/dist/mcp-server/tools/definitions/list-ad-accounts.tool.js +84 -0
  170. package/dist/mcp-server/tools/definitions/list-ad-accounts.tool.js.map +1 -0
  171. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +165 -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 +112 -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 +102 -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 +98 -0
  178. package/dist/mcp-server/tools/definitions/search-targeting.tool.js.map +1 -0
  179. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts +104 -0
  180. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts.map +1 -0
  181. package/dist/mcp-server/tools/definitions/update-entity.tool.js +88 -0
  182. package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
  183. package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts +75 -0
  184. package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts.map +1 -0
  185. package/dist/mcp-server/tools/definitions/upload-image.tool.js +99 -0
  186. package/dist/mcp-server/tools/definitions/upload-image.tool.js.map +1 -0
  187. package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts +69 -0
  188. package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts.map +1 -0
  189. package/dist/mcp-server/tools/definitions/upload-video.tool.js +98 -0
  190. package/dist/mcp-server/tools/definitions/upload-video.tool.js.map +1 -0
  191. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +168 -0
  192. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts.map +1 -0
  193. package/dist/mcp-server/tools/definitions/validate-entity.tool.js +200 -0
  194. package/dist/mcp-server/tools/definitions/validate-entity.tool.js.map +1 -0
  195. package/dist/mcp-server/tools/index.d.ts +2 -0
  196. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  197. package/dist/mcp-server/tools/index.js +2 -0
  198. package/dist/mcp-server/tools/index.js.map +1 -0
  199. package/dist/mcp-server/tools/utils/entity-mapping.d.ts +13 -0
  200. package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
  201. package/dist/mcp-server/tools/utils/entity-mapping.js +68 -0
  202. package/dist/mcp-server/tools/utils/entity-mapping.js.map +1 -0
  203. package/dist/mcp-server/tools/utils/media-types.d.ts +12 -0
  204. package/dist/mcp-server/tools/utils/media-types.d.ts.map +1 -0
  205. package/dist/mcp-server/tools/utils/media-types.js +2 -0
  206. package/dist/mcp-server/tools/utils/media-types.js.map +1 -0
  207. package/dist/mcp-server/tools/utils/resolve-session.d.ts +4 -0
  208. package/dist/mcp-server/tools/utils/resolve-session.d.ts.map +1 -0
  209. package/dist/mcp-server/tools/utils/resolve-session.js +6 -0
  210. package/dist/mcp-server/tools/utils/resolve-session.js.map +1 -0
  211. package/dist/mcp-server/transports/streamable-http-transport.d.ts +49 -0
  212. package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
  213. package/dist/mcp-server/transports/streamable-http-transport.js +91 -0
  214. package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
  215. package/dist/services/linkedin/linkedin-http-client.d.ts +20 -0
  216. package/dist/services/linkedin/linkedin-http-client.d.ts.map +1 -0
  217. package/dist/services/linkedin/linkedin-http-client.js +147 -0
  218. package/dist/services/linkedin/linkedin-http-client.js.map +1 -0
  219. package/dist/services/linkedin/linkedin-reporting-service.d.ts +26 -0
  220. package/dist/services/linkedin/linkedin-reporting-service.d.ts.map +1 -0
  221. package/dist/services/linkedin/linkedin-reporting-service.js +69 -0
  222. package/dist/services/linkedin/linkedin-reporting-service.js.map +1 -0
  223. package/dist/services/linkedin/linkedin-service.d.ts +84 -0
  224. package/dist/services/linkedin/linkedin-service.d.ts.map +1 -0
  225. package/dist/services/linkedin/linkedin-service.js +195 -0
  226. package/dist/services/linkedin/linkedin-service.js.map +1 -0
  227. package/dist/services/linkedin/types.d.ts +166 -0
  228. package/dist/services/linkedin/types.d.ts.map +1 -0
  229. package/dist/services/linkedin/types.js +31 -0
  230. package/dist/services/linkedin/types.js.map +1 -0
  231. package/dist/services/session-services.d.ts +18 -0
  232. package/dist/services/session-services.d.ts.map +1 -0
  233. package/dist/services/session-services.js +16 -0
  234. package/dist/services/session-services.js.map +1 -0
  235. package/dist/types-global/mcp.d.ts +2 -0
  236. package/dist/types-global/mcp.d.ts.map +1 -0
  237. package/dist/types-global/mcp.js +2 -0
  238. package/dist/types-global/mcp.js.map +1 -0
  239. package/dist/utils/errors/index.d.ts +2 -0
  240. package/dist/utils/errors/index.d.ts.map +1 -0
  241. package/dist/utils/errors/index.js +2 -0
  242. package/dist/utils/errors/index.js.map +1 -0
  243. package/dist/utils/platform.d.ts +3 -0
  244. package/dist/utils/platform.d.ts.map +1 -0
  245. package/dist/utils/platform.js +5 -0
  246. package/dist/utils/platform.js.map +1 -0
  247. package/dist/utils/security/rate-limiter.d.ts +3 -0
  248. package/dist/utils/security/rate-limiter.d.ts.map +1 -0
  249. package/dist/utils/security/rate-limiter.js +5 -0
  250. package/dist/utils/security/rate-limiter.js.map +1 -0
  251. package/dist/utils/telemetry/index.d.ts +2 -0
  252. package/dist/utils/telemetry/index.d.ts.map +1 -0
  253. package/dist/utils/telemetry/index.js +2 -0
  254. package/dist/utils/telemetry/index.js.map +1 -0
  255. package/dist/utils/telemetry/tracing.d.ts +3 -0
  256. package/dist/utils/telemetry/tracing.d.ts.map +1 -0
  257. package/dist/utils/telemetry/tracing.js +4 -0
  258. package/dist/utils/telemetry/tracing.js.map +1 -0
  259. package/package.json +55 -0
@@ -0,0 +1,170 @@
1
+ export const crossPlatformPerformancePrompt = {
2
+ name: "cross_platform_performance_comparison",
3
+ description: "Guide for comparing campaign performance across DV360 (via dbm-mcp), The Trade Desk (ttd-mcp), Google Ads (gads-mcp), and Meta Ads (meta-mcp). Normalizes metrics, identifies top performers, and recommends budget reallocation.",
4
+ arguments: [
5
+ {
6
+ name: "dateRange",
7
+ description: "Date range for comparison (e.g., LAST_7_DAYS, LAST_30_DAYS, or custom YYYY-MM-DD format)",
8
+ required: false,
9
+ },
10
+ ],
11
+ };
12
+ export function getCrossPlatformPerformanceMessage(args) {
13
+ const dateRange = args?.dateRange || "LAST_7_DAYS";
14
+ return `# Cross-Platform Performance Comparison
15
+
16
+ Date Range: \`${dateRange}\`
17
+
18
+ This workflow coordinates across multiple MCP servers to gather, normalize, and compare campaign performance. You must be connected to all relevant servers.
19
+
20
+ ---
21
+
22
+ ## Step 1: Gather Metrics from Each Platform
23
+
24
+ ### DV360 (via dbm-mcp)
25
+
26
+ \`\`\`json
27
+ {
28
+ "tool": "dbm_get_performance_metrics",
29
+ "params": {
30
+ "campaignId": "{dv360CampaignId}",
31
+ "advertiserId": "{dv360AdvertiserId}",
32
+ "dateRange": "${dateRange}"
33
+ }
34
+ }
35
+ \`\`\`
36
+
37
+ Key metrics returned: impressions, clicks, spend, CPM, CTR, CPA, ROAS.
38
+
39
+ ### The Trade Desk (via ttd-mcp)
40
+
41
+ \`\`\`json
42
+ {
43
+ "tool": "ttd_get_report",
44
+ "params": {
45
+ "reportName": "Cross-Platform Comparison",
46
+ "dateRange": "${dateRange}",
47
+ "dimensions": ["CampaignId", "CampaignName"],
48
+ "metrics": ["Impressions", "Clicks", "TotalCostAdvertiserCurrency", "Conversions", "Revenue"],
49
+ "advertiserIds": ["{ttdAdvertiserId}"]
50
+ }
51
+ }
52
+ \`\`\`
53
+
54
+ ### Google Ads (via gads-mcp)
55
+
56
+ \`\`\`json
57
+ {
58
+ "tool": "gads_get_insights",
59
+ "params": {
60
+ "customerId": "{gadsCustomerId}",
61
+ "entityType": "campaign",
62
+ "dateRange": "${dateRange}"
63
+ }
64
+ }
65
+ \`\`\`
66
+
67
+ ### Meta Ads (via meta-mcp)
68
+
69
+ \`\`\`json
70
+ {
71
+ "tool": "meta_get_insights",
72
+ "params": {
73
+ "entityId": "{metaCampaignId}",
74
+ "fields": ["impressions", "clicks", "spend", "cpm", "ctr", "cpc", "conversions", "cost_per_action_type"],
75
+ "datePreset": "last_7d"
76
+ }
77
+ }
78
+ \`\`\`
79
+
80
+ ---
81
+
82
+ ## Step 2: Normalize Metrics
83
+
84
+ Each platform reports metrics differently. Normalize to a common format:
85
+
86
+ | Metric | DV360 (dbm-mcp) | TTD (ttd-mcp) | Google Ads (gads-mcp) | Meta (meta-mcp) |
87
+ |--------|-----------------|---------------|----------------------|-----------------|
88
+ | **Spend** | USD (from report) | Advertiser currency | Micros (÷ 1,000,000) | Cents (÷ 100) |
89
+ | **CPM** | Calculated | Calculated | Micros (÷ 1,000,000) | Cents (÷ 100) |
90
+ | **CPC** | Calculated | Calculated | Micros (÷ 1,000,000) | Cents (÷ 100) |
91
+ | **CTR** | Ratio (0-1) | Ratio (0-1) | Ratio (0-1) | Percentage string |
92
+ | **Conversions** | Bid Manager metric | \`Conversions\` field | \`conversions\` metric | \`conversions\` field |
93
+
94
+ ### Normalization formulas:
95
+
96
+ - **Google Ads micros → USD**: Divide by 1,000,000
97
+ - **Meta cents → USD**: Divide by 100
98
+ - **Meta CTR string → number**: Parse "1.23%" to 0.0123
99
+ - **CPM**: (Spend / Impressions) × 1,000
100
+ - **CTR**: Clicks / Impressions
101
+ - **CPA**: Spend / Conversions
102
+ - **ROAS**: Revenue / Spend
103
+
104
+ ---
105
+
106
+ ## Step 3: Compare in Normalized Table
107
+
108
+ Present results in a unified format:
109
+
110
+ | Platform | Campaign | Impressions | Clicks | CTR | Spend (USD) | CPM (USD) | CPA (USD) | ROAS |
111
+ |----------|----------|-------------|--------|-----|-------------|-----------|-----------|------|
112
+ | DV360 | {name} | {n} | {n} | {%} | \${n} | \${n} | \${n} | {n}x |
113
+ | TTD | {name} | {n} | {n} | {%} | \${n} | \${n} | \${n} | {n}x |
114
+ | Google Ads | {name} | {n} | {n} | {%} | \${n} | \${n} | \${n} | {n}x |
115
+ | Meta | {name} | {n} | {n} | {%} | \${n} | \${n} | \${n} | {n}x |
116
+
117
+ ---
118
+
119
+ ## Step 4: Identify Winners and Losers
120
+
121
+ Rank platforms by key efficiency metrics:
122
+
123
+ ### By CPA (lower is better)
124
+ 1. Best CPA platform → candidate for budget increase
125
+ 2. Worst CPA platform → candidate for budget decrease or pause
126
+
127
+ ### By ROAS (higher is better)
128
+ 1. Best ROAS platform → highest return on investment
129
+ 2. Worst ROAS platform → losing money if < 1.0
130
+
131
+ ### By CPM (context-dependent)
132
+ - Low CPM + low CTR → cheap but ineffective (awareness only)
133
+ - High CPM + high CTR → expensive but effective (consider if CPA is good)
134
+
135
+ ---
136
+
137
+ ## Step 5: Recommend Budget Reallocation
138
+
139
+ Based on the comparison, suggest budget moves:
140
+
141
+ ### Conservative Approach (low risk)
142
+ - Shift 10-15% of budget from worst performer to best performer
143
+ - Monitor for 1 week before making further changes
144
+
145
+ ### Aggressive Approach (high confidence)
146
+ - Shift 25-30% of budget from worst performer to best performer
147
+ - Pause campaigns on platforms with ROAS < 0.5
148
+
149
+ ### Execution
150
+
151
+ For each platform where budget changes are needed:
152
+
153
+ - **DV360**: Use \`dv360_update_entity\` (via dv360-mcp) to adjust IO/Line Item budgets
154
+ - **TTD**: Use \`ttd_update_entity\` (via ttd-mcp) to adjust campaign/ad group budgets
155
+ - **Google Ads**: Use \`gads_update_entity\` (via gads-mcp) to adjust campaign budgets
156
+ - **Meta**: Use \`meta_update_entity\` (via meta-mcp) to adjust campaign/ad set budgets
157
+
158
+ ---
159
+
160
+ ## Gotchas
161
+
162
+ - **Date ranges differ by platform**: DV360 uses Bid Manager presets (LAST_7_DAYS), TTD uses date strings, Google Ads uses date ranges in GAQL, Meta uses datePreset or timeRange. Align dates carefully.
163
+ - **Currency differences**: Ensure all platforms report in the same currency before comparing. TTD reports in advertiser currency, others in USD by default.
164
+ - **Attribution models differ**: Each platform attributes conversions differently. Cross-platform CPA comparisons are directional, not exact.
165
+ - **Data freshness varies**: Meta has up to 48-hour lag. DV360 reports are async. TTD and Google Ads are near-real-time. Compare data from the same time window.
166
+ - **Impression counting differs**: Viewability standards vary by platform. CPM comparisons should account for this.
167
+ - **Not all campaigns are comparable**: Only compare campaigns targeting similar audiences, geos, and objectives. A brand awareness campaign on DV360 shouldn't be compared with a direct response campaign on Google Ads.
168
+ `;
169
+ }
170
+ //# sourceMappingURL=cross-platform-performance.prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-platform-performance.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/cross-platform-performance.prompt.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,8BAA8B,GAAW;IACpD,IAAI,EAAE,uCAAuC;IAC7C,WAAW,EACT,mOAAmO;IACrO,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,0FAA0F;YAC5F,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,kCAAkC,CAAC,IAA6B;IAC9E,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,aAAa,CAAC;IAEnD,OAAO;;gBAEO,SAAS;;;;;;;;;;;;;;;;oBAgBL,SAAS;;;;;;;;;;;;;;oBAcT,SAAS;;;;;;;;;;;;;;;;oBAgBT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0G5B,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const linkedInEntityDuplicationWorkflowPrompt: Prompt;
3
+ export declare function getLinkedInEntityDuplicationWorkflowMessage(args?: Record<string, string>): string;
4
+ //# sourceMappingURL=entity-duplication-workflow.prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-duplication-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAQjE,eAAO,MAAM,uCAAuC,EAAE,MAgBrD,CAAC;AAEF,wBAAgB,2CAA2C,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAoMjG"}
@@ -0,0 +1,213 @@
1
+ export const linkedInEntityDuplicationWorkflowPrompt = {
2
+ name: "linkedin_entity_duplication_workflow",
3
+ description: "Step-by-step guide for duplicating LinkedIn Ads campaign groups, campaigns, and creatives using linkedin_duplicate_entity — covers A/B testing, scaling, and common patterns.",
4
+ arguments: [
5
+ {
6
+ name: "entityType",
7
+ description: "Entity type to duplicate: campaignGroup, campaign, or creative",
8
+ required: true,
9
+ },
10
+ {
11
+ name: "entityUrn",
12
+ description: "URN of the entity to duplicate",
13
+ required: true,
14
+ },
15
+ ],
16
+ };
17
+ export function getLinkedInEntityDuplicationWorkflowMessage(args) {
18
+ const entityType = args?.entityType || "{entityType}";
19
+ const entityUrn = args?.entityUrn || "{entityUrn}";
20
+ return `# LinkedIn Entity Duplication Workflow
21
+
22
+ Entity Type: \`${entityType}\`
23
+ Entity URN: \`${entityUrn}\`
24
+
25
+ ---
26
+
27
+ ## Overview
28
+
29
+ \`linkedin_duplicate_entity\` creates a copy of a campaign group, campaign, or creative. The copy includes child entities and all settings.
30
+
31
+ | What Gets Copied | Details |
32
+ |------------------|---------|
33
+ | **Campaign Group** | All campaigns and their creatives |
34
+ | **Campaign** | All creatives, targeting, and budget settings |
35
+ | **Creative** | Creative reference and tracking settings |
36
+
37
+ ---
38
+
39
+ ## Step 1: Review the Source Entity
40
+
41
+ Before duplicating, inspect the entity you're copying:
42
+
43
+ \`\`\`json
44
+ {
45
+ "tool": "linkedin_get_entity",
46
+ "params": {
47
+ "entityType": "${entityType}",
48
+ "entityUrn": "${entityUrn}"
49
+ }
50
+ }
51
+ \`\`\`
52
+
53
+ Confirm this is the right entity and note its current state.
54
+
55
+ ---
56
+
57
+ ## Step 2: Duplicate the Entity
58
+
59
+ \`\`\`json
60
+ {
61
+ "tool": "linkedin_duplicate_entity",
62
+ "params": {
63
+ "entityType": "${entityType}",
64
+ "entityUrn": "${entityUrn}",
65
+ "options": {
66
+ "copyCreatives": true
67
+ }
68
+ }
69
+ }
70
+ \`\`\`
71
+
72
+ The response includes the new entity URN.
73
+
74
+ ⚠️ **GOTCHA**: Duplicated entities are created in **DRAFT** status by default. Review before activating.
75
+
76
+ ---
77
+
78
+ ## Step 3: Customize the Copy
79
+
80
+ Use the returned URN to modify the copy:
81
+
82
+ ### Update Name
83
+
84
+ \`\`\`json
85
+ {
86
+ "tool": "linkedin_update_entity",
87
+ "params": {
88
+ "entityType": "${entityType}",
89
+ "entityUrn": "{newEntityUrn}",
90
+ "data": {
91
+ "name": "Campaign B - Senior Tech Leaders"
92
+ }
93
+ }
94
+ }
95
+ \`\`\`
96
+
97
+ ### Update Targeting (Campaign)
98
+
99
+ \`\`\`json
100
+ {
101
+ "tool": "linkedin_update_entity",
102
+ "params": {
103
+ "entityType": "campaign",
104
+ "entityUrn": "{newCampaignUrn}",
105
+ "data": {
106
+ "targetingCriteria": {
107
+ "include": {
108
+ "and": [
109
+ {
110
+ "or": {
111
+ "urn:li:adTargetingFacet:geos": ["urn:li:geo:101282230"]
112
+ }
113
+ }
114
+ ]
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ \`\`\`
121
+
122
+ ### Update Budget
123
+
124
+ \`\`\`json
125
+ {
126
+ "tool": "linkedin_update_entity",
127
+ "params": {
128
+ "entityType": "campaign",
129
+ "entityUrn": "{newCampaignUrn}",
130
+ "data": {
131
+ "dailyBudget": { "amount": "200.00", "currencyCode": "USD" }
132
+ }
133
+ }
134
+ }
135
+ \`\`\`
136
+
137
+ ⚠️ **GOTCHA**: Budget is a CurrencyAmount object. The \`amount\` field is a string (e.g., \`"200.00"\`), not a number.
138
+
139
+ ⚠️ **GOTCHA**: Targeting updates **replace entirely**. Always send the complete targetingCriteria object.
140
+
141
+ ---
142
+
143
+ ## Step 4: Activate When Ready
144
+
145
+ After reviewing and customizing the copy:
146
+
147
+ \`\`\`json
148
+ {
149
+ "tool": "linkedin_bulk_update_status",
150
+ "params": {
151
+ "entityType": "${entityType}",
152
+ "entityUrns": ["{newEntityUrn}"],
153
+ "status": "ACTIVE"
154
+ }
155
+ }
156
+ \`\`\`
157
+
158
+ ---
159
+
160
+ ## Common Patterns
161
+
162
+ ### A/B Testing (Split Test)
163
+
164
+ 1. Duplicate the campaign
165
+ 2. Change one variable on the copy (targeting, creative, bid)
166
+ 3. Activate both and compare via \`linkedin_get_analytics\`
167
+
168
+ \`\`\`
169
+ Original: "Brand Campaign - Tech Leaders" (targeting: senior engineers)
170
+ Copy: "Brand Campaign - Marketing Leaders" (targeting: marketing managers)
171
+ \`\`\`
172
+
173
+ ### Scaling to New Geos
174
+
175
+ 1. Duplicate a proven campaign
176
+ 2. Update geo targeting on the copy
177
+ 3. Adjust budget for the new market
178
+ 4. Activate
179
+
180
+ ### Template Campaigns
181
+
182
+ 1. Create a "template" campaign with desired settings (DRAFT)
183
+ 2. Duplicate it for each new client/product
184
+ 3. Update names, budgets, targeting on each copy
185
+ 4. Activate when ready
186
+
187
+ ---
188
+
189
+ ## Verification
190
+
191
+ After duplication, verify the copy:
192
+
193
+ \`\`\`json
194
+ {
195
+ "tool": "linkedin_get_entity",
196
+ "params": {
197
+ "entityType": "${entityType}",
198
+ "entityUrn": "{newEntityUrn}"
199
+ }
200
+ }
201
+ \`\`\`
202
+
203
+ ## Success Criteria
204
+
205
+ - [ ] Source entity reviewed before duplication
206
+ - [ ] Copy created (check DRAFT status)
207
+ - [ ] Copy renamed to distinguish from original
208
+ - [ ] Desired changes applied (targeting, budget, creative)
209
+ - [ ] Copy verified via \`linkedin_get_entity\`
210
+ - [ ] Activated only after review
211
+ `;
212
+ }
213
+ //# sourceMappingURL=entity-duplication-workflow.prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-duplication-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,uCAAuC,GAAW;IAC7D,IAAI,EAAE,sCAAsC;IAC5C,WAAW,EACT,+KAA+K;IACjL,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,gEAAgE;YAC7E,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,2CAA2C,CAAC,IAA6B;IACvF,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,cAAc,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,aAAa,CAAC;IAEnD,OAAO;;iBAEQ,UAAU;gBACX,SAAS;;;;;;;;;;;;;;;;;;;;;;;;qBAwBJ,UAAU;oBACX,SAAS;;;;;;;;;;;;;;;qBAeR,UAAU;oBACX,SAAS;;;;;;;;;;;;;;;;;;;;;;;;qBAwBR,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+DV,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA8CV,UAAU;;;;;;;;;;;;;;CAc9B,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const linkedInEntityUpdateWorkflowPrompt: Prompt;
3
+ export declare function getLinkedInEntityUpdateWorkflowMessage(args?: Record<string, string>): string;
4
+ //# sourceMappingURL=entity-update-workflow.prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-update-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-update-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAQjE,eAAO,MAAM,kCAAkC,EAAE,MAgBhD,CAAC;AAEF,wBAAgB,sCAAsC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAsI5F"}
@@ -0,0 +1,151 @@
1
+ export const linkedInEntityUpdateWorkflowPrompt = {
2
+ name: "linkedin_entity_update_workflow",
3
+ description: "Step-by-step guide for safely updating LinkedIn Ads entities using PATCH semantics with URN-based IDs. Covers campaign groups, campaigns, creatives, and conversion rules.",
4
+ arguments: [
5
+ {
6
+ name: "entityType",
7
+ description: "Entity type to update: campaignGroup, campaign, creative, or conversionRule",
8
+ required: true,
9
+ },
10
+ {
11
+ name: "entityUrn",
12
+ description: "URN of the entity to update (e.g., urn:li:sponsoredCampaign:123)",
13
+ required: true,
14
+ },
15
+ ],
16
+ };
17
+ export function getLinkedInEntityUpdateWorkflowMessage(args) {
18
+ const entityType = args?.entityType || "{entityType}";
19
+ const entityUrn = args?.entityUrn || "{entityUrn}";
20
+ return `# LinkedIn Ads Entity Update Workflow
21
+
22
+ Entity Type: \`${entityType}\`
23
+ Entity URN: \`${entityUrn}\`
24
+
25
+ ---
26
+
27
+ ## Step 1: Fetch Current State
28
+
29
+ Before updating, always read the entity's current configuration:
30
+
31
+ \`\`\`json
32
+ {
33
+ "tool": "linkedin_get_entity",
34
+ "params": {
35
+ "entityType": "${entityType}",
36
+ "entityUrn": "${entityUrn}"
37
+ }
38
+ }
39
+ \`\`\`
40
+
41
+ Review the current values. Save the current state for rollback reference.
42
+
43
+ **Resource reference:** Fetch \`entity-schema://linkedin/${entityType}\` for the full field schema and \`entity-examples://linkedin/${entityType}\` for common update patterns.
44
+
45
+ ---
46
+
47
+ ## Step 2: Build Update Payload
48
+
49
+ LinkedIn uses PATCH semantics — only include the fields you want to change. Unspecified fields remain unchanged.
50
+
51
+ ### Campaign Group Updates
52
+
53
+ \`\`\`json
54
+ {
55
+ "tool": "linkedin_update_entity",
56
+ "params": {
57
+ "entityType": "campaignGroup",
58
+ "entityUrn": "${entityUrn}",
59
+ "data": {
60
+ "name": "Updated Campaign Group Name",
61
+ "status": "ACTIVE",
62
+ "totalBudget": { "amount": "15000.00", "currencyCode": "USD" }
63
+ }
64
+ }
65
+ }
66
+ \`\`\`
67
+
68
+ ### Campaign Updates
69
+
70
+ \`\`\`json
71
+ {
72
+ "tool": "linkedin_update_entity",
73
+ "params": {
74
+ "entityType": "campaign",
75
+ "entityUrn": "${entityUrn}",
76
+ "data": {
77
+ "dailyBudget": { "amount": "150.00", "currencyCode": "USD" },
78
+ "unitCost": { "amount": "15.00", "currencyCode": "USD" },
79
+ "status": "ACTIVE"
80
+ }
81
+ }
82
+ }
83
+ \`\`\`
84
+
85
+ ### Creative Updates
86
+
87
+ \`\`\`json
88
+ {
89
+ "tool": "linkedin_update_entity",
90
+ "params": {
91
+ "entityType": "creative",
92
+ "entityUrn": "${entityUrn}",
93
+ "data": {
94
+ "status": "ACTIVE"
95
+ }
96
+ }
97
+ }
98
+ \`\`\`
99
+
100
+ ---
101
+
102
+ ## Step 3: Execute and Verify
103
+
104
+ After the update call succeeds, verify the changes:
105
+
106
+ \`\`\`json
107
+ {
108
+ "tool": "linkedin_get_entity",
109
+ "params": {
110
+ "entityType": "${entityType}",
111
+ "entityUrn": "${entityUrn}"
112
+ }
113
+ }
114
+ \`\`\`
115
+
116
+ Compare the returned values with what you set in Step 2.
117
+
118
+ ---
119
+
120
+ ## Gotchas
121
+
122
+ - **URN format required**: All entity IDs must be full URNs (e.g., \`urn:li:sponsoredCampaign:123\`), not bare numeric IDs.
123
+ - **Budget format**: Use CurrencyAmount objects: \`{ "amount": "100.00", "currencyCode": "USD" }\`. The amount is a string, not a number.
124
+ - **Targeting replaces entirely**: When updating \`targetingCriteria\`, the entire object is replaced. Always include all criteria you want to keep.
125
+ - **Status values**: \`ACTIVE\`, \`PAUSED\`, \`ARCHIVED\`, \`DRAFT\`. Archiving is irreversible.
126
+ - **Creative review lag**: Status changes to creatives may trigger re-review (24-48h).
127
+ - **PATCH semantics**: Only send fields you want to change. Unspecified fields are preserved.
128
+
129
+ ---
130
+
131
+ ## Rollback
132
+
133
+ If an update causes issues, reverse it by sending the original values:
134
+
135
+ \`\`\`json
136
+ {
137
+ "tool": "linkedin_update_entity",
138
+ "params": {
139
+ "entityType": "${entityType}",
140
+ "entityUrn": "${entityUrn}",
141
+ "data": {
142
+ "field_that_was_changed": "{original_value}"
143
+ }
144
+ }
145
+ }
146
+ \`\`\`
147
+
148
+ Report the rollback hint (original values) whenever you make a change so the user can revert if needed.
149
+ `;
150
+ }
151
+ //# sourceMappingURL=entity-update-workflow.prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-update-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-update-workflow.prompt.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,kCAAkC,GAAW;IACxD,IAAI,EAAE,iCAAiC;IACvC,WAAW,EACT,4KAA4K;IAC9K,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,6EAA6E;YAC1F,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,kEAAkE;YAC/E,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,sCAAsC,CAAC,IAA6B;IAClF,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,cAAc,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,aAAa,CAAC;IAEnD,OAAO;;iBAEQ,UAAU;gBACX,SAAS;;;;;;;;;;;;qBAYJ,UAAU;oBACX,SAAS;;;;;;;2DAO8B,UAAU,iEAAiE,UAAU;;;;;;;;;;;;;;;oBAe5H,SAAS;;;;;;;;;;;;;;;;;oBAiBT,SAAS;;;;;;;;;;;;;;;;;oBAiBT,SAAS;;;;;;;;;;;;;;;;;;qBAkBR,UAAU;oBACX,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4BR,UAAU;oBACX,SAAS;;;;;;;;;CAS5B,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const linkedInTargetingDiscoveryWorkflowPrompt: Prompt;
3
+ export declare function getLinkedInTargetingDiscoveryWorkflowMessage(args?: Record<string, string>): string;
4
+ //# sourceMappingURL=targeting-discovery-workflow.prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targeting-discovery-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAQjE,eAAO,MAAM,wCAAwC,EAAE,MAiBtD,CAAC;AAEF,wBAAgB,4CAA4C,CAC1D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,MAAM,CAwMR"}