@cesteral/amazon-dsp-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 (255) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +59 -0
  3. package/dist/auth/amazon-dsp-auth-adapter.d.ts +42 -0
  4. package/dist/auth/amazon-dsp-auth-adapter.d.ts.map +1 -0
  5. package/dist/auth/amazon-dsp-auth-adapter.js +126 -0
  6. package/dist/auth/amazon-dsp-auth-adapter.js.map +1 -0
  7. package/dist/auth/amazon-dsp-auth-strategy.d.ts +14 -0
  8. package/dist/auth/amazon-dsp-auth-strategy.d.ts.map +1 -0
  9. package/dist/auth/amazon-dsp-auth-strategy.js +58 -0
  10. package/dist/auth/amazon-dsp-auth-strategy.js.map +1 -0
  11. package/dist/auth/index.d.ts +3 -0
  12. package/dist/auth/index.d.ts.map +1 -0
  13. package/dist/auth/index.js +3 -0
  14. package/dist/auth/index.js.map +1 -0
  15. package/dist/config/index.d.ts +116 -0
  16. package/dist/config/index.d.ts.map +1 -0
  17. package/dist/config/index.js +49 -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 +65 -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 +120 -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 +116 -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 +200 -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 +183 -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 +96 -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 +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 +121 -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 +58 -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 +51 -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 +53 -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 +50 -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 +137 -0
  102. package/dist/mcp-server/server.js.map +1 -0
  103. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts +215 -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 +147 -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 +152 -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 +111 -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 +193 -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 +127 -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 +153 -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 +136 -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 +112 -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 +87 -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 +111 -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 +96 -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 +152 -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 +142 -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 +107 -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 +85 -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 +75 -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 +63 -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 +85 -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 +91 -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 +289 -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 +181 -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 +271 -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 +174 -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 +75 -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 +75 -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 +21 -0
  164. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
  165. package/dist/mcp-server/tools/definitions/index.js +63 -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 +58 -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 +171 -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 +89 -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 +93 -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 +119 -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 +114 -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 +89 -0
  186. package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
  187. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +169 -0
  188. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts.map +1 -0
  189. package/dist/mcp-server/tools/definitions/validate-entity.tool.js +104 -0
  190. package/dist/mcp-server/tools/definitions/validate-entity.tool.js.map +1 -0
  191. package/dist/mcp-server/tools/index.d.ts +2 -0
  192. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  193. package/dist/mcp-server/tools/index.js +2 -0
  194. package/dist/mcp-server/tools/index.js.map +1 -0
  195. package/dist/mcp-server/tools/utils/entity-mapping.d.ts +24 -0
  196. package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
  197. package/dist/mcp-server/tools/utils/entity-mapping.js +42 -0
  198. package/dist/mcp-server/tools/utils/entity-mapping.js.map +1 -0
  199. package/dist/mcp-server/tools/utils/resolve-session.d.ts +4 -0
  200. package/dist/mcp-server/tools/utils/resolve-session.d.ts.map +1 -0
  201. package/dist/mcp-server/tools/utils/resolve-session.js +6 -0
  202. package/dist/mcp-server/tools/utils/resolve-session.js.map +1 -0
  203. package/dist/mcp-server/transports/streamable-http-transport.d.ts +57 -0
  204. package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
  205. package/dist/mcp-server/transports/streamable-http-transport.js +105 -0
  206. package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
  207. package/dist/services/amazon-dsp/amazon-dsp-api-contract.d.ts +43 -0
  208. package/dist/services/amazon-dsp/amazon-dsp-api-contract.d.ts.map +1 -0
  209. package/dist/services/amazon-dsp/amazon-dsp-api-contract.js +193 -0
  210. package/dist/services/amazon-dsp/amazon-dsp-api-contract.js.map +1 -0
  211. package/dist/services/amazon-dsp/amazon-dsp-http-client.d.ts +15 -0
  212. package/dist/services/amazon-dsp/amazon-dsp-http-client.d.ts.map +1 -0
  213. package/dist/services/amazon-dsp/amazon-dsp-http-client.js +138 -0
  214. package/dist/services/amazon-dsp/amazon-dsp-http-client.js.map +1 -0
  215. package/dist/services/amazon-dsp/amazon-dsp-reporting-service.d.ts +63 -0
  216. package/dist/services/amazon-dsp/amazon-dsp-reporting-service.d.ts.map +1 -0
  217. package/dist/services/amazon-dsp/amazon-dsp-reporting-service.js +134 -0
  218. package/dist/services/amazon-dsp/amazon-dsp-reporting-service.js.map +1 -0
  219. package/dist/services/amazon-dsp/amazon-dsp-service.d.ts +85 -0
  220. package/dist/services/amazon-dsp/amazon-dsp-service.d.ts.map +1 -0
  221. package/dist/services/amazon-dsp/amazon-dsp-service.js +182 -0
  222. package/dist/services/amazon-dsp/amazon-dsp-service.js.map +1 -0
  223. package/dist/services/amazon-dsp/types.d.ts +142 -0
  224. package/dist/services/amazon-dsp/types.d.ts.map +1 -0
  225. package/dist/services/amazon-dsp/types.js +24 -0
  226. package/dist/services/amazon-dsp/types.js.map +1 -0
  227. package/dist/services/session-services.d.ts +20 -0
  228. package/dist/services/session-services.d.ts.map +1 -0
  229. package/dist/services/session-services.js +23 -0
  230. package/dist/services/session-services.js.map +1 -0
  231. package/dist/types-global/mcp.d.ts +2 -0
  232. package/dist/types-global/mcp.d.ts.map +1 -0
  233. package/dist/types-global/mcp.js +2 -0
  234. package/dist/types-global/mcp.js.map +1 -0
  235. package/dist/utils/errors/index.d.ts +2 -0
  236. package/dist/utils/errors/index.d.ts.map +1 -0
  237. package/dist/utils/errors/index.js +2 -0
  238. package/dist/utils/errors/index.js.map +1 -0
  239. package/dist/utils/platform.d.ts +3 -0
  240. package/dist/utils/platform.d.ts.map +1 -0
  241. package/dist/utils/platform.js +5 -0
  242. package/dist/utils/platform.js.map +1 -0
  243. package/dist/utils/security/rate-limiter.d.ts +3 -0
  244. package/dist/utils/security/rate-limiter.d.ts.map +1 -0
  245. package/dist/utils/security/rate-limiter.js +5 -0
  246. package/dist/utils/security/rate-limiter.js.map +1 -0
  247. package/dist/utils/telemetry/index.d.ts +2 -0
  248. package/dist/utils/telemetry/index.d.ts.map +1 -0
  249. package/dist/utils/telemetry/index.js +2 -0
  250. package/dist/utils/telemetry/index.js.map +1 -0
  251. package/dist/utils/telemetry/tracing.d.ts +3 -0
  252. package/dist/utils/telemetry/tracing.d.ts.map +1 -0
  253. package/dist/utils/telemetry/tracing.js +4 -0
  254. package/dist/utils/telemetry/tracing.js.map +1 -0
  255. package/package.json +55 -0
@@ -0,0 +1,85 @@
1
+ import type { AmazonDspHttpClient } from "./amazon-dsp-http-client.js";
2
+ import type { RateLimiter } from "@cesteral/shared";
3
+ import { type RequestContext } from "@cesteral/shared";
4
+ import { type AmazonDspEntityType } from "../../mcp-server/tools/utils/entity-mapping.js";
5
+ import type { AmazonDspOrder, AmazonDspLineItem, AmazonDspCreative, AmazonDspTarget, AmazonDspCreativeAssociation, AmazonDspAdvertiser, AmazonDspBidding, AmazonDspLineItemBudget, AmazonDspTargetingClause, AmazonDspPageInfo, AmazonDspListResponse, AmazonDspApiError, AmazonDspOrderStatus, AmazonDspLineItemStatus, AmazonDspCreativeStatus, AmazonDspBudgetType, AmazonDspLineItemType, AmazonDspCreativeType, AmazonDspBidOptimization, CreateAmazonDspOrderRequest, CreateAmazonDspLineItemRequest, CreateAmazonDspTargetRequest, CreateAmazonDspCreativeAssociationRequest } from "./types.js";
6
+ export type { AmazonDspOrder, AmazonDspLineItem, AmazonDspCreative, AmazonDspTarget, AmazonDspCreativeAssociation, AmazonDspAdvertiser, AmazonDspBidding, AmazonDspLineItemBudget, AmazonDspTargetingClause, AmazonDspPageInfo, AmazonDspListResponse, AmazonDspApiError, AmazonDspOrderStatus, AmazonDspLineItemStatus, AmazonDspCreativeStatus, AmazonDspBudgetType, AmazonDspLineItemType, AmazonDspCreativeType, AmazonDspBidOptimization, CreateAmazonDspOrderRequest, CreateAmazonDspLineItemRequest, CreateAmazonDspTargetRequest, CreateAmazonDspCreativeAssociationRequest, };
7
+ interface AmazonDspEntityMap {
8
+ order: AmazonDspOrder;
9
+ campaign: AmazonDspOrder;
10
+ lineItem: AmazonDspLineItem;
11
+ adGroup: AmazonDspLineItem;
12
+ creative: AmazonDspCreative;
13
+ target: AmazonDspTarget;
14
+ creativeAssociation: AmazonDspCreativeAssociation;
15
+ }
16
+ type AmazonDspCreateEntityInputMap = {
17
+ order: CreateAmazonDspOrderRequest;
18
+ campaign: CreateAmazonDspOrderRequest;
19
+ lineItem: CreateAmazonDspLineItemRequest;
20
+ adGroup: CreateAmazonDspLineItemRequest;
21
+ creative: Record<string, unknown>;
22
+ target: CreateAmazonDspTargetRequest;
23
+ creativeAssociation: CreateAmazonDspCreativeAssociationRequest;
24
+ };
25
+ type AmazonDspUpdateEntityInputMap = {
26
+ [K in AmazonDspEntityType]: Partial<AmazonDspEntityMap[K]> & Record<string, unknown>;
27
+ };
28
+ export declare class AmazonDspService {
29
+ private readonly rateLimiter;
30
+ private readonly httpClient;
31
+ constructor(rateLimiter: RateLimiter, httpClient: AmazonDspHttpClient);
32
+ get client(): AmazonDspHttpClient;
33
+ listEntities<T extends AmazonDspEntityType>(entityType: T, filters?: Record<string, string>, startIndex?: number, pageSize?: number, context?: RequestContext): Promise<{
34
+ entities: AmazonDspEntityMap[T][];
35
+ pageInfo: AmazonDspPageInfo;
36
+ }>;
37
+ getEntity<T extends AmazonDspEntityType>(entityType: T, entityId: string, context?: RequestContext): Promise<AmazonDspEntityMap[T]>;
38
+ createEntity<T extends AmazonDspEntityType>(entityType: T, data: AmazonDspCreateEntityInputMap[T], context?: RequestContext): Promise<AmazonDspEntityMap[T]>;
39
+ updateEntity<T extends AmazonDspEntityType>(entityType: T, entityId: string, data: AmazonDspUpdateEntityInputMap[T], context?: RequestContext): Promise<AmazonDspEntityMap[T]>;
40
+ deleteEntity<T extends AmazonDspEntityType>(entityType: T, entityId: string, context?: RequestContext): Promise<AmazonDspEntityMap[T]>;
41
+ updateEntityStatus<T extends AmazonDspEntityType>(entityType: T, entityId: string, state: string, context?: RequestContext): Promise<AmazonDspEntityMap[T]>;
42
+ listAdvertisers(startIndex?: number, pageSize?: number, context?: RequestContext): Promise<{
43
+ entities: AmazonDspAdvertiser[];
44
+ pageInfo: AmazonDspPageInfo;
45
+ }>;
46
+ getAdPreviews(creativeId: string, context?: RequestContext): Promise<unknown>;
47
+ duplicateEntity<T extends AmazonDspEntityType>(entityType: T, entityId: string, options?: Record<string, unknown>, context?: RequestContext): Promise<AmazonDspEntityMap[T]>;
48
+ adjustBids(adjustments: Array<{
49
+ lineItemId: string;
50
+ bidAmount: number;
51
+ }>, context?: RequestContext): Promise<{
52
+ results: Array<{
53
+ lineItemId: string;
54
+ success: boolean;
55
+ previousBid?: number;
56
+ newBid?: number;
57
+ error?: string;
58
+ }>;
59
+ }>;
60
+ bulkCreateEntities<T extends AmazonDspEntityType>(entityType: T, items: AmazonDspCreateEntityInputMap[T][], context?: RequestContext): Promise<{
61
+ results: Array<{
62
+ success: boolean;
63
+ entity?: AmazonDspEntityMap[T];
64
+ error?: string;
65
+ }>;
66
+ }>;
67
+ bulkUpdateEntities<T extends AmazonDspEntityType>(entityType: T, items: Array<{
68
+ entityId: string;
69
+ data: AmazonDspUpdateEntityInputMap[T];
70
+ }>, context?: RequestContext): Promise<{
71
+ results: Array<{
72
+ entityId: string;
73
+ success: boolean;
74
+ error?: string;
75
+ }>;
76
+ }>;
77
+ bulkUpdateStatus(entityType: AmazonDspEntityType, entityIds: string[], status: string, context?: RequestContext): Promise<{
78
+ results: Array<{
79
+ entityId: string;
80
+ success: boolean;
81
+ error?: string;
82
+ }>;
83
+ }>;
84
+ }
85
+ //# sourceMappingURL=amazon-dsp-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amazon-dsp-service.d.ts","sourceRoot":"","sources":["../../../src/services/amazon-dsp/amazon-dsp-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ import { executeBulkConcurrent } from "@cesteral/shared";
2
+ import { getEntityConfig, getCanonicalEntityType, interpolatePath, } from "../../mcp-server/tools/utils/entity-mapping.js";
3
+ export class AmazonDspService {
4
+ rateLimiter;
5
+ httpClient;
6
+ constructor(rateLimiter, httpClient) {
7
+ this.rateLimiter = rateLimiter;
8
+ this.httpClient = httpClient;
9
+ }
10
+ get client() {
11
+ return this.httpClient;
12
+ }
13
+ async listEntities(entityType, filters, startIndex = 0, pageSize = 25, context) {
14
+ const canonicalType = getCanonicalEntityType(entityType);
15
+ const config = getEntityConfig(entityType);
16
+ const params = {
17
+ startIndex: String(startIndex),
18
+ count: String(pageSize),
19
+ };
20
+ if (filters) {
21
+ for (const [key, value] of Object.entries(filters)) {
22
+ if (value !== undefined && value !== null) {
23
+ params[key] = value;
24
+ }
25
+ }
26
+ }
27
+ await this.rateLimiter.consume("amazon_dsp:read");
28
+ const result = (await this.httpClient.get(config.listPath, params, context));
29
+ const entities = (result?.[config.responseKey] ?? []);
30
+ const totalResults = result?.totalResults ?? 0;
31
+ return {
32
+ entities,
33
+ pageInfo: {
34
+ startIndex,
35
+ count: pageSize,
36
+ totalResults,
37
+ },
38
+ };
39
+ }
40
+ async getEntity(entityType, entityId, context) {
41
+ const config = getEntityConfig(entityType);
42
+ const path = interpolatePath(config.getPath, { entityId });
43
+ await this.rateLimiter.consume("amazon_dsp:read");
44
+ return this.httpClient.get(path, undefined, context);
45
+ }
46
+ async createEntity(entityType, data, context) {
47
+ const config = getEntityConfig(entityType);
48
+ await this.rateLimiter.consume("amazon_dsp:write", 3);
49
+ return this.httpClient.post(config.createPath, data, context, undefined, config.createMediaType);
50
+ }
51
+ async updateEntity(entityType, entityId, data, context) {
52
+ const config = getEntityConfig(entityType);
53
+ const path = interpolatePath(config.updatePath, { entityId });
54
+ await this.rateLimiter.consume("amazon_dsp:write", 3);
55
+ return this.httpClient.put(path, data, context, config.updateMediaType);
56
+ }
57
+ async deleteEntity(entityType, entityId, context) {
58
+ const config = getEntityConfig(entityType);
59
+ const path = interpolatePath(config.updatePath, { entityId });
60
+ await this.rateLimiter.consume("amazon_dsp:write", 3);
61
+ return this.httpClient.put(path, { state: "ARCHIVED" }, context, config.updateMediaType);
62
+ }
63
+ async updateEntityStatus(entityType, entityId, state, context) {
64
+ const config = getEntityConfig(entityType);
65
+ const path = interpolatePath(config.updatePath, { entityId });
66
+ await this.rateLimiter.consume("amazon_dsp:write", 3);
67
+ return this.httpClient.put(path, { state }, context, config.updateMediaType);
68
+ }
69
+ async listAdvertisers(startIndex = 0, pageSize = 25, context) {
70
+ const params = {
71
+ startIndex: String(startIndex),
72
+ count: String(pageSize),
73
+ };
74
+ await this.rateLimiter.consume("amazon_dsp:read");
75
+ const result = (await this.httpClient.get("/dsp/advertisers", params, context));
76
+ const entities = result?.response ?? [];
77
+ const totalResults = result?.totalResults ?? 0;
78
+ return {
79
+ entities,
80
+ pageInfo: {
81
+ startIndex,
82
+ count: pageSize,
83
+ totalResults,
84
+ },
85
+ };
86
+ }
87
+ async getAdPreviews(creativeId, context) {
88
+ await this.rateLimiter.consume("amazon_dsp:read");
89
+ return this.httpClient.get(`/dsp/creatives/${creativeId}/preview`, undefined, context);
90
+ }
91
+ async duplicateEntity(entityType, entityId, options, context) {
92
+ const ENTITY_ID_FIELD = {
93
+ order: "orderId",
94
+ campaign: "orderId",
95
+ lineItem: "lineItemId",
96
+ adGroup: "lineItemId",
97
+ creative: "creativeId",
98
+ target: "targetId",
99
+ creativeAssociation: "creativeAssociationId",
100
+ };
101
+ const SYSTEM_FIELDS = [
102
+ ENTITY_ID_FIELD[entityType],
103
+ "creationDate",
104
+ "lastUpdatedDate",
105
+ "createdTime",
106
+ "modifiedTime",
107
+ ];
108
+ const source = (await this.getEntity(entityType, entityId, context));
109
+ const data = {};
110
+ for (const [key, value] of Object.entries(source)) {
111
+ if (!SYSTEM_FIELDS.includes(key)) {
112
+ data[key] = value;
113
+ }
114
+ }
115
+ const newEntity = {
116
+ ...data,
117
+ state: "PAUSED",
118
+ ...options,
119
+ };
120
+ return this.createEntity(entityType, newEntity, context);
121
+ }
122
+ async adjustBids(adjustments, context) {
123
+ const results = [];
124
+ for (const adjustment of adjustments) {
125
+ try {
126
+ const entity = await this.getEntity("lineItem", adjustment.lineItemId, context);
127
+ const previousBid = entity.bidding?.bidAmount;
128
+ await this.updateEntity("lineItem", adjustment.lineItemId, {
129
+ bidding: {
130
+ ...(entity.bidding ?? {}),
131
+ bidAmount: adjustment.bidAmount,
132
+ },
133
+ }, context);
134
+ results.push({
135
+ lineItemId: adjustment.lineItemId,
136
+ success: true,
137
+ previousBid,
138
+ newBid: adjustment.bidAmount,
139
+ });
140
+ }
141
+ catch (error) {
142
+ results.push({
143
+ lineItemId: adjustment.lineItemId,
144
+ success: false,
145
+ error: error instanceof Error ? error.message : String(error),
146
+ });
147
+ }
148
+ }
149
+ return { results };
150
+ }
151
+ async bulkCreateEntities(entityType, items, context) {
152
+ const results = await executeBulkConcurrent(items, async (data) => {
153
+ return this.createEntity(entityType, data, context);
154
+ });
155
+ return { results };
156
+ }
157
+ async bulkUpdateEntities(entityType, items, context) {
158
+ const bulkResults = await executeBulkConcurrent(items, async (item) => {
159
+ return this.updateEntity(entityType, item.entityId, item.data, context);
160
+ });
161
+ return {
162
+ results: bulkResults.map((r, i) => ({
163
+ entityId: items[i].entityId,
164
+ success: r.success,
165
+ error: r.error,
166
+ })),
167
+ };
168
+ }
169
+ async bulkUpdateStatus(entityType, entityIds, status, context) {
170
+ const bulkResults = await executeBulkConcurrent(entityIds, async (entityId) => {
171
+ return this.updateEntityStatus(entityType, entityId, status, context);
172
+ });
173
+ return {
174
+ results: bulkResults.map((r, i) => ({
175
+ entityId: entityIds[i],
176
+ success: r.success,
177
+ error: r.error,
178
+ })),
179
+ };
180
+ }
181
+ }
182
+ //# sourceMappingURL=amazon-dsp-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amazon-dsp-service.js","sourceRoot":"","sources":["../../../src/services/amazon-dsp/amazon-dsp-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,eAAe,GAEhB,MAAM,gDAAgD,CAAC;AA6FxD,MAAM,OAAO,gBAAgB;IAER;IACA;IAFnB,YACmB,WAAwB,EACxB,UAA+B;QAD/B,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAqB;IAC/C,CAAC;IAGJ,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAID,KAAK,CAAC,YAAY,CAChB,UAAa,EACb,OAAgC,EAChC,UAAU,GAAG,CAAC,EACd,QAAQ,GAAG,EAAE,EACb,OAAwB;QAExB,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,MAAM,GAA2B;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;SACxB,CAAC;QAGF,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACvC,MAAM,CAAC,QAAQ,EACf,MAAM,EACN,OAAO,CACR,CAA6B,CAAC;QAE/B,MAAM,QAAQ,GAAG,CAAE,MAAM,EAAE,CACzB,MAAM,CAAC,WAAW,CAC4B,IAAI,EAAE,CAA4B,CAAC;QACnF,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC;QAE/C,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE;gBACR,UAAU;gBACV,KAAK,EAAE,QAAQ;gBACf,YAAY;aACb;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,UAAa,EACb,QAAgB,EAChB,OAAwB;QAExB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAmC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAa,EACb,IAAsC,EACtC,OAAwB;QAExB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAItD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,MAAM,CAAC,UAAU,EACjB,IAA0C,EAC1C,OAAO,EACP,SAAS,EACT,MAAM,CAAC,eAAe,CACW,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAa,EACb,QAAgB,EAChB,IAAsC,EACtC,OAAwB;QAExB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,EACJ,IAA+B,EAC/B,OAAO,EACP,MAAM,CAAC,eAAe,CACW,CAAC;IACtC,CAAC;IAMD,KAAK,CAAC,YAAY,CAChB,UAAa,EACb,QAAgB,EAChB,OAAwB;QAExB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,EACJ,EAAE,KAAK,EAAE,UAAU,EAAE,EACrB,OAAO,EACP,MAAM,CAAC,eAAe,CACW,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAa,EACb,QAAgB,EAChB,KAAa,EACb,OAAwB;QAExB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,CAE1E,CAAC;IACJ,CAAC;IAID,KAAK,CAAC,eAAe,CACnB,UAAU,GAAG,CAAC,EACd,QAAQ,GAAG,EAAE,EACb,OAAwB;QAExB,MAAM,MAAM,GAA2B;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;SACxB,CAAC;QACF,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACvC,kBAAkB,EAClB,MAAM,EACN,OAAO,CACR,CAA6B,CAAC;QAE/B,MAAM,QAAQ,GAAI,MAAM,EAAE,QAAkC,IAAI,EAAE,CAAC;QACnE,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC;QAE/C,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE;gBACR,UAAU;gBACV,KAAK,EAAE,QAAQ;gBACf,YAAY;aACb;SACF,CAAC;IACJ,CAAC;IAID,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,OAAwB;QAC9D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,UAAU,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACzF,CAAC;IASD,KAAK,CAAC,eAAe,CACnB,UAAa,EACb,QAAgB,EAChB,OAAiC,EACjC,OAAwB;QAGxB,MAAM,eAAe,GAAwC;YAC3D,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,UAAU;YAClB,mBAAmB,EAAE,uBAAuB;SAC7C,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,eAAe,CAAC,UAAU,CAAC;YAC3B,cAAc;YACd,iBAAiB;YACjB,aAAa;YACb,cAAc;SACf,CAAC;QAGF,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAGlE,CAAC;QAGF,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QAGD,MAAM,SAAS,GAA4B;YACzC,GAAG,IAAI;YACP,KAAK,EAAE,QAAQ;YACf,GAAG,OAAO;SACX,CAAC;QAEF,OAAO,IAAI,CAAC,YAAY,CACtB,UAAU,EACV,SAAwD,EACxD,OAAO,CACR,CAAC;IACJ,CAAC;IAID,KAAK,CAAC,UAAU,CACd,WAA6D,EAC7D,OAAwB;QAUxB,MAAM,OAAO,GAMR,EAAE,CAAC;QAER,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAChF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;gBAG9C,MAAM,IAAI,CAAC,YAAY,CACrB,UAAU,EACV,UAAU,CAAC,UAAU,EACrB;oBACE,OAAO,EAAE;wBACP,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;wBACzB,SAAS,EAAE,UAAU,CAAC,SAAS;qBAChC;iBACF,EACD,OAAO,CACR,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC;oBACX,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,OAAO,EAAE,IAAI;oBACb,WAAW;oBACX,MAAM,EAAE,UAAU,CAAC,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC;oBACX,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAID,KAAK,CAAC,kBAAkB,CACtB,UAAa,EACb,KAAyC,EACzC,OAAwB;QAIxB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAChE,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAa,EACb,KAA0E,EAC1E,OAAwB;QAExB,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpE,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAA+B,EAC/B,SAAmB,EACnB,MAAc,EACd,OAAwB;QAExB,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC5E,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;CAGF"}
@@ -0,0 +1,142 @@
1
+ export type AmazonDspOrderStatus = "ENABLED" | "PAUSED" | "ARCHIVED";
2
+ export type AmazonDspLineItemStatus = "ENABLED" | "PAUSED" | "ARCHIVED";
3
+ export type AmazonDspCreativeStatus = "ACTIVE" | "INACTIVE" | "ARCHIVED";
4
+ export type AmazonDspBudgetType = "DAILY" | "LIFETIME";
5
+ export type AmazonDspLineItemType = "standardDisplay" | "video" | "mobile" | "interstitial";
6
+ export type AmazonDspCreativeType = "STANDARD_DISPLAY" | "VIDEO" | "RICH_MEDIA";
7
+ export type AmazonDspBidOptimization = "AUTO" | "MANUAL" | "NONE" | "CONVERSIONS" | "VCPM_VIEWABLE" | "REACH";
8
+ export interface AmazonDspLineItemBudget {
9
+ budgetType: AmazonDspBudgetType;
10
+ budget: number;
11
+ }
12
+ export interface AmazonDspBidding {
13
+ baseBid?: number;
14
+ maxBid?: number;
15
+ bidOptimization?: AmazonDspBidOptimization;
16
+ bidAmount?: number;
17
+ }
18
+ export interface AmazonDspTargetingClause {
19
+ type: string;
20
+ value?: string;
21
+ values?: string[];
22
+ }
23
+ export interface AmazonDspOrder {
24
+ orderId: string;
25
+ name: string;
26
+ state: AmazonDspOrderStatus;
27
+ advertiserId: string;
28
+ startDateTime?: string;
29
+ endDateTime?: string;
30
+ budget?: number;
31
+ budgetType?: AmazonDspBudgetType;
32
+ currencyCode?: string;
33
+ impressionsGoal?: number;
34
+ creationDate?: string;
35
+ lastUpdatedDate?: string;
36
+ }
37
+ export interface AmazonDspLineItem {
38
+ lineItemId: string;
39
+ name: string;
40
+ state: AmazonDspLineItemStatus;
41
+ orderId: string;
42
+ advertiserId: string;
43
+ lineItemType?: AmazonDspLineItemType;
44
+ startDateTime?: string;
45
+ endDateTime?: string;
46
+ budget?: AmazonDspLineItemBudget;
47
+ bidding?: AmazonDspBidding;
48
+ targetingClauses?: AmazonDspTargetingClause[];
49
+ creationDate?: string;
50
+ lastUpdatedDate?: string;
51
+ }
52
+ export interface AmazonDspCreative {
53
+ creativeId: string;
54
+ name: string;
55
+ state: AmazonDspCreativeStatus;
56
+ advertiserId: string;
57
+ creativeType: AmazonDspCreativeType;
58
+ clickThroughUrl?: string;
59
+ width?: number;
60
+ height?: number;
61
+ creationDate?: string;
62
+ lastUpdatedDate?: string;
63
+ }
64
+ export interface AmazonDspTarget {
65
+ targetId: string;
66
+ lineItemId: string;
67
+ advertiserId?: string;
68
+ state?: string;
69
+ expressionType?: string;
70
+ expression?: unknown;
71
+ creationDate?: string;
72
+ lastUpdatedDate?: string;
73
+ }
74
+ export interface AmazonDspCreativeAssociation {
75
+ creativeAssociationId: string;
76
+ creativeId: string;
77
+ lineItemId: string;
78
+ advertiserId?: string;
79
+ state?: string;
80
+ creationDate?: string;
81
+ lastUpdatedDate?: string;
82
+ }
83
+ export interface AmazonDspAdvertiser {
84
+ advertiserId: string;
85
+ name: string;
86
+ countryCode?: string;
87
+ currencyCode?: string;
88
+ timeZone?: string;
89
+ }
90
+ export interface AmazonDspPageInfo {
91
+ startIndex: number;
92
+ count: number;
93
+ totalResults: number;
94
+ }
95
+ export interface AmazonDspListResponse<T> {
96
+ response: T[];
97
+ totalResults?: number;
98
+ startIndex?: number;
99
+ count?: number;
100
+ }
101
+ export interface CreateAmazonDspOrderRequest {
102
+ name: string;
103
+ advertiserId: string;
104
+ startDateTime?: string;
105
+ endDateTime?: string;
106
+ budget?: number;
107
+ budgetType?: AmazonDspBudgetType;
108
+ currencyCode?: string;
109
+ impressionsGoal?: number;
110
+ }
111
+ export interface CreateAmazonDspLineItemRequest {
112
+ name: string;
113
+ orderId: string;
114
+ advertiserId: string;
115
+ lineItemType?: AmazonDspLineItemType;
116
+ startDateTime?: string;
117
+ endDateTime?: string;
118
+ budget?: AmazonDspLineItemBudget;
119
+ bidding?: AmazonDspBidding;
120
+ }
121
+ export interface CreateAmazonDspTargetRequest {
122
+ lineItemId: string;
123
+ advertiserId?: string;
124
+ [key: string]: unknown;
125
+ }
126
+ export interface CreateAmazonDspCreativeAssociationRequest {
127
+ creativeId: string;
128
+ lineItemId: string;
129
+ advertiserId?: string;
130
+ [key: string]: unknown;
131
+ }
132
+ export interface AmazonDspApiError {
133
+ code?: string;
134
+ message: string;
135
+ details?: string;
136
+ status?: number;
137
+ }
138
+ export declare function isAmazonDspOrder(value: unknown): value is AmazonDspOrder;
139
+ export declare function isAmazonDspLineItem(value: unknown): value is AmazonDspLineItem;
140
+ export declare function isAmazonDspCreative(value: unknown): value is AmazonDspCreative;
141
+ export declare function isAmazonDspApiError(value: unknown): value is AmazonDspApiError;
142
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/amazon-dsp/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export function isAmazonDspOrder(value) {
2
+ return (typeof value === "object" &&
3
+ value !== null &&
4
+ typeof value.orderId === "string" &&
5
+ typeof value.advertiserId === "string");
6
+ }
7
+ export function isAmazonDspLineItem(value) {
8
+ return (typeof value === "object" &&
9
+ value !== null &&
10
+ typeof value.lineItemId === "string" &&
11
+ typeof value.orderId === "string");
12
+ }
13
+ export function isAmazonDspCreative(value) {
14
+ return (typeof value === "object" &&
15
+ value !== null &&
16
+ typeof value.creativeId === "string" &&
17
+ typeof value.advertiserId === "string");
18
+ }
19
+ export function isAmazonDspApiError(value) {
20
+ return (typeof value === "object" &&
21
+ value !== null &&
22
+ typeof value.message === "string");
23
+ }
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/amazon-dsp/types.ts"],"names":[],"mappings":"AAoLA,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAwB,CAAC,OAAO,KAAK,QAAQ;QACrD,OAAQ,KAAwB,CAAC,YAAY,KAAK,QAAQ,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA2B,CAAC,UAAU,KAAK,QAAQ;QAC3D,OAAQ,KAA2B,CAAC,OAAO,KAAK,QAAQ,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA2B,CAAC,UAAU,KAAK,QAAQ;QAC3D,OAAQ,KAA2B,CAAC,YAAY,KAAK,QAAQ,CAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA2B,CAAC,OAAO,KAAK,QAAQ,CACzD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Logger } from "pino";
2
+ import type { AmazonDspAuthAdapter } from "../auth/amazon-dsp-auth-adapter.js";
3
+ import type { RateLimiter } from "@cesteral/shared";
4
+ import { ReportCsvStore, SessionServiceStore } from "@cesteral/shared";
5
+ export { SessionServiceStore } from "@cesteral/shared";
6
+ import { AmazonDspService } from "./amazon-dsp/amazon-dsp-service.js";
7
+ import { AmazonDspReportingService } from "./amazon-dsp/amazon-dsp-reporting-service.js";
8
+ export interface SessionServices {
9
+ amazonDspService: AmazonDspService;
10
+ amazonDspReportingService: AmazonDspReportingService;
11
+ }
12
+ export interface AmazonDspSessionConfig {
13
+ baseUrl: string;
14
+ reportPollIntervalMs: number;
15
+ reportMaxPollAttempts: number;
16
+ }
17
+ export declare function createSessionServices(authAdapter: AmazonDspAuthAdapter, config: AmazonDspSessionConfig, logger: Logger, rateLimiter: RateLimiter): SessionServices;
18
+ export declare const sessionServiceStore: SessionServiceStore<SessionServices>;
19
+ export declare const reportCsvStore: ReportCsvStore;
20
+ //# sourceMappingURL=session-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-services.d.ts","sourceRoot":"","sources":["../../src/services/session-services.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAEL,cAAc,EACd,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,yBAAyB,EAAE,yBAAyB,CAAC;CACtD;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,eAAe,CAoBjB;AAED,eAAO,MAAM,mBAAmB,sCAA6C,CAAC;AAQ9E,eAAO,MAAM,cAAc,gBAIzB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { deleteSpilledObjectsForSession, ReportCsvStore, SessionServiceStore, } from "@cesteral/shared";
2
+ export { SessionServiceStore } from "@cesteral/shared";
3
+ import { AmazonDspHttpClient } from "./amazon-dsp/amazon-dsp-http-client.js";
4
+ import { AmazonDspService } from "./amazon-dsp/amazon-dsp-service.js";
5
+ import { AmazonDspReportingService } from "./amazon-dsp/amazon-dsp-reporting-service.js";
6
+ export function createSessionServices(authAdapter, config, logger, rateLimiter) {
7
+ const httpClient = new AmazonDspHttpClient(authAdapter, authAdapter.profileId, config.baseUrl, logger);
8
+ const amazonDspService = new AmazonDspService(rateLimiter, httpClient);
9
+ const amazonDspReportingService = new AmazonDspReportingService(rateLimiter, httpClient, logger, config.reportPollIntervalMs, config.reportMaxPollAttempts);
10
+ return {
11
+ amazonDspService,
12
+ amazonDspReportingService,
13
+ };
14
+ }
15
+ export const sessionServiceStore = new SessionServiceStore();
16
+ export const reportCsvStore = new ReportCsvStore({
17
+ mirror: { bucketResolver: () => process.env.REPORT_SPILL_BUCKET },
18
+ });
19
+ sessionServiceStore.onDelete((sessionId) => {
20
+ void deleteSpilledObjectsForSession("amazonDsp", sessionId);
21
+ reportCsvStore.clearForSession(sessionId);
22
+ });
23
+ //# sourceMappingURL=session-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-services.js","sourceRoot":"","sources":["../../src/services/session-services.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,8BAA8B,EAC9B,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAazF,MAAM,UAAU,qBAAqB,CACnC,WAAiC,EACjC,MAA8B,EAC9B,MAAc,EACd,WAAwB;IAExB,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACxC,WAAW,EACX,WAAW,CAAC,SAAS,EACrB,MAAM,CAAC,OAAO,EACd,MAAM,CACP,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,yBAAyB,GAAG,IAAI,yBAAyB,CAC7D,WAAW,EACX,UAAU,EACV,MAAM,EACN,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,qBAAqB,CAC7B,CAAC;IAEF,OAAO;QACL,gBAAgB;QAChB,yBAAyB;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAmB,CAAC;AAQ9E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC;IAG/C,MAAM,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;CAClE,CAAC,CAAC;AAKH,mBAAmB,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;IACzC,KAAK,8BAA8B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { ToolDefinition, ResourceDefinition, SdkContext } from "@cesteral/shared";
2
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types-global/mcp.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/types-global/mcp.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { McpError, ErrorHandler, type ErrorContext, JsonRpcErrorCode, mapErrorCodeToHttpStatus, } from "@cesteral/shared";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/errors/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,KAAK,YAAY,EACjB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { McpError, ErrorHandler, JsonRpcErrorCode, mapErrorCodeToHttpStatus, } from "@cesteral/shared";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/errors/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,QAAQ,EACR,YAAY,EAEZ,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const withAmazonDspApiSpan: <T>(operation: string, entityType: string | undefined, fn: (span: import("@opentelemetry/api").Span) => Promise<T>) => Promise<T>;
2
+ export declare const rateLimiter: import("@cesteral/shared").RateLimiter;
3
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB,mIAAyC,CAAC;AAC3E,eAAO,MAAM,WAAW,wCAGvB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { createPlatformSpanHelper, createPlatformRateLimiter } from "@cesteral/shared";
2
+ import { mcpConfig } from "../config/index.js";
3
+ export const withAmazonDspApiSpan = createPlatformSpanHelper("amazon_dsp");
4
+ export const rateLimiter = createPlatformRateLimiter("amazon_dsp", mcpConfig.amazonDspRateLimitPerMinute);
5
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,yBAAyB,CAClD,YAAY,EACZ,SAAS,CAAC,2BAA2B,CACtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { RateLimiter } from "@cesteral/shared";
2
+ export declare const rateLimiter: import("@cesteral/shared").RateLimiter;
3
+ //# sourceMappingURL=rate-limiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/utils/security/rate-limiter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,eAAO,MAAM,WAAW,wCAGvB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { RateLimiter } from "@cesteral/shared";
2
+ import { createPlatformRateLimiter } from "@cesteral/shared";
3
+ import { mcpConfig } from "../../config/index.js";
4
+ export const rateLimiter = createPlatformRateLimiter("amazon_dsp", mcpConfig.amazonDspRateLimitPerMinute);
5
+ //# sourceMappingURL=rate-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/utils/security/rate-limiter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG,yBAAyB,CAClD,YAAY,EACZ,SAAS,CAAC,2BAA2B,CACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./tracing.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/telemetry/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./tracing.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/telemetry/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { initializeOpenTelemetry, shutdownOpenTelemetry, getOpenTelemetrySDK, isOpenTelemetryEnabled, otelLogMixin, getTracer, withSpan, withToolSpan, setSpanAttribute, recordSpanError, createPlatformSpanHelper, type Span, } from "@cesteral/shared";
2
+ export declare const withAmazonDspApiSpan: <T>(operation: string, entityType: string | undefined, fn: (span: import("@opentelemetry/api").Span) => Promise<T>) => Promise<T>;
3
+ //# sourceMappingURL=tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/utils/telemetry/tracing.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,KAAK,IAAI,GACV,MAAM,kBAAkB,CAAC;AAI1B,eAAO,MAAM,oBAAoB,mIAAyC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { initializeOpenTelemetry, shutdownOpenTelemetry, getOpenTelemetrySDK, isOpenTelemetryEnabled, otelLogMixin, getTracer, withSpan, withToolSpan, setSpanAttribute, recordSpanError, createPlatformSpanHelper, } from "@cesteral/shared";
2
+ import { createPlatformSpanHelper } from "@cesteral/shared";
3
+ export const withAmazonDspApiSpan = createPlatformSpanHelper("amazon_dsp");
4
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/utils/telemetry/tracing.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,wBAAwB,GAEzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC"}