@cesteral/ttd-mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +201 -0
- package/README.md +308 -0
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +3 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/ttd-auth-adapter.d.ts +21 -0
- package/dist/auth/ttd-auth-adapter.d.ts.map +1 -0
- package/dist/auth/ttd-auth-adapter.js +70 -0
- package/dist/auth/ttd-auth-adapter.js.map +1 -0
- package/dist/auth/ttd-auth-strategy.d.ts +10 -0
- package/dist/auth/ttd-auth-strategy.d.ts.map +1 -0
- package/dist/auth/ttd-auth-strategy.js +28 -0
- package/dist/auth/ttd-auth-strategy.js.map +1 -0
- package/dist/config/index.d.ts +100 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +47 -0
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js +286 -0
- package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js +245 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.js +102 -0
- package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js +299 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js +170 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js +215 -0
- package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js +162 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.js +163 -0
- package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js +259 -0
- package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js +193 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js +119 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/index.d.ts +9 -0
- package/dist/mcp-server/prompts/index.d.ts.map +1 -0
- package/dist/mcp-server/prompts/index.js +97 -0
- package/dist/mcp-server/prompts/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts +4 -0
- package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-examples.resource.js +388 -0
- package/dist/mcp-server/resources/definitions/entity-examples.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js +145 -0
- package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts +4 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.js +318 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/field-rules.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/field-rules.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/field-rules.resource.js +28 -0
- package/dist/mcp-server/resources/definitions/field-rules.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/graphql-reference.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/graphql-reference.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/graphql-reference.resource.js +442 -0
- package/dist/mcp-server/resources/definitions/graphql-reference.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/index.d.ts +8 -0
- package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/index.js +108 -0
- package/dist/mcp-server/resources/definitions/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/report-reference.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/report-reference.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/report-reference.resource.js +291 -0
- package/dist/mcp-server/resources/definitions/report-reference.resource.js.map +1 -0
- package/dist/mcp-server/resources/index.d.ts +3 -0
- package/dist/mcp-server/resources/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/index.js +2 -0
- package/dist/mcp-server/resources/index.js.map +1 -0
- package/dist/mcp-server/resources/types.d.ts +8 -0
- package/dist/mcp-server/resources/types.d.ts.map +1 -0
- package/dist/mcp-server/resources/types.js +2 -0
- package/dist/mcp-server/resources/types.js.map +1 -0
- package/dist/mcp-server/resources/utils/field-rules.d.ts +18 -0
- package/dist/mcp-server/resources/utils/field-rules.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/field-rules.js +117 -0
- package/dist/mcp-server/resources/utils/field-rules.js.map +1 -0
- package/dist/mcp-server/server.d.ts +5 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +162 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts +1137 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.js +165 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/archive-entities.tool.d.ts +145 -0
- package/dist/mcp-server/tools/definitions/archive-entities.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/archive-entities.tool.js +120 -0
- package/dist/mcp-server/tools/definitions/archive-entities.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.d.ts +174 -0
- package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.js +141 -0
- package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bid-list.tool.d.ts +225 -0
- package/dist/mcp-server/tools/definitions/bid-list.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bid-list.tool.js +169 -0
- package/dist/mcp-server/tools/definitions/bid-list.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts +198 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js +135 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts +258 -0
- package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js +187 -0
- package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts +170 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js +137 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.d.ts +109 -0
- package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.js +134 -0
- package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts +112 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.js +94 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.d.ts +181 -0
- package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.js +52 -0
- package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.d.ts +300 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.js +63 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups.tool.d.ts +482 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups.tool.js +121 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.d.ts +172 -0
- package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.js +55 -0
- package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.d.ts +286 -0
- package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.js +63 -0
- package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaigns.tool.d.ts +458 -0
- package/dist/mcp-server/tools/definitions/create-campaigns.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaigns.tool.js +124 -0
- package/dist/mcp-server/tools/definitions/create-campaigns.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts +196 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.js +126 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.d.ts +147 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.js +171 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-report-template.tool.d.ts +370 -0
- package/dist/mcp-server/tools/definitions/create-report-template.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-report-template.tool.js +224 -0
- package/dist/mcp-server/tools/definitions/create-report-template.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-template-schedule.tool.d.ts +316 -0
- package/dist/mcp-server/tools/definitions/create-template-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-template-schedule.tool.js +247 -0
- package/dist/mcp-server/tools/definitions/create-template-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts +147 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.js +112 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.d.ts +79 -0
- package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.js +89 -0
- package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.d.ts +297 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.js +160 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/execute-entity-report.tool.d.ts +147 -0
- package/dist/mcp-server/tools/definitions/execute-entity-report.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/execute-entity-report.tool.js +134 -0
- package/dist/mcp-server/tools/definitions/execute-entity-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts +80 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js +82 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-campaign-version.tool.d.ts +61 -0
- package/dist/mcp-server/tools/definitions/get-campaign-version.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-campaign-version.tool.js +51 -0
- package/dist/mcp-server/tools/definitions/get-campaign-version.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-context.tool.d.ts +77 -0
- package/dist/mcp-server/tools/definitions/get-context.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-context.tool.js +80 -0
- package/dist/mcp-server/tools/definitions/get-context.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.d.ts +169 -0
- package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.js +138 -0
- package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +129 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.js +88 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.d.ts +110 -0
- package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.js +58 -0
- package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-job-status.tool.d.ts +61 -0
- package/dist/mcp-server/tools/definitions/get-job-status.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-job-status.tool.js +54 -0
- package/dist/mcp-server/tools/definitions/get-job-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-executions.tool.d.ts +131 -0
- package/dist/mcp-server/tools/definitions/get-report-executions.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-executions.tool.js +253 -0
- package/dist/mcp-server/tools/definitions/get-report-executions.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-schedule.tool.d.ts +197 -0
- package/dist/mcp-server/tools/definitions/get-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-schedule.tool.js +66 -0
- package/dist/mcp-server/tools/definitions/get-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-template.tool.d.ts +303 -0
- package/dist/mcp-server/tools/definitions/get-report-template.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-template.tool.js +139 -0
- package/dist/mcp-server/tools/definitions/get-report-template.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.d.ts +152 -0
- package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.js +167 -0
- package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.d.ts +126 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.js +138 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.d.ts +104 -0
- package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.js +57 -0
- package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.d.ts +92 -0
- package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.js +124 -0
- package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.d.ts +68 -0
- package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.js +102 -0
- package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.d.ts +102 -0
- package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.js +152 -0
- package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.d.ts +93 -0
- package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.js +133 -0
- package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-query.tool.d.ts +189 -0
- package/dist/mcp-server/tools/definitions/graphql-query.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-query.tool.js +143 -0
- package/dist/mcp-server/tools/definitions/graphql-query.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/index.d.ts +45 -0
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/index.js +135 -0
- package/dist/mcp-server/tools/definitions/index.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +231 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.js +147 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.d.ts +282 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.js +128 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-templates.tool.d.ts +140 -0
- package/dist/mcp-server/tools/definitions/list-report-templates.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-templates.tool.js +118 -0
- package/dist/mcp-server/tools/definitions/list-report-templates.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-types.tool.d.ts +97 -0
- package/dist/mcp-server/tools/definitions/list-report-types.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-types.tool.js +89 -0
- package/dist/mcp-server/tools/definitions/list-report-types.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.d.ts +109 -0
- package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.js +130 -0
- package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/rest-request.tool.d.ts +74 -0
- package/dist/mcp-server/tools/definitions/rest-request.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/rest-request.tool.js +54 -0
- package/dist/mcp-server/tools/definitions/rest-request.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/seed.tool.d.ts +156 -0
- package/dist/mcp-server/tools/definitions/seed.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/seed.tool.js +316 -0
- package/dist/mcp-server/tools/definitions/seed.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts +114 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.js +136 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.d.ts +82 -0
- package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.js +51 -0
- package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.d.ts +158 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.js +63 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups.tool.d.ts +241 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups.tool.js +120 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.d.ts +82 -0
- package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.js +53 -0
- package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.d.ts +158 -0
- package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.js +63 -0
- package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaigns.tool.d.ts +241 -0
- package/dist/mcp-server/tools/definitions/update-campaigns.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaigns.tool.js +120 -0
- package/dist/mcp-server/tools/definitions/update-campaigns.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts +164 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.js +101 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-report-schedule.tool.d.ts +116 -0
- package/dist/mcp-server/tools/definitions/update-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-report-schedule.tool.js +134 -0
- package/dist/mcp-server/tools/definitions/update-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-report-template.tool.d.ts +358 -0
- package/dist/mcp-server/tools/definitions/update-report-template.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-report-template.tool.js +156 -0
- package/dist/mcp-server/tools/definitions/update-report-template.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +226 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.js +205 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/index.d.ts +2 -0
- package/dist/mcp-server/tools/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/index.js +2 -0
- package/dist/mcp-server/tools/index.js.map +1 -0
- package/dist/mcp-server/tools/utils/entity-mapping.d.ts +18 -0
- package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/entity-mapping.js +66 -0
- package/dist/mcp-server/tools/utils/entity-mapping.js.map +1 -0
- package/dist/mcp-server/tools/utils/graphql-errors.d.ts +13 -0
- package/dist/mcp-server/tools/utils/graphql-errors.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/graphql-errors.js +48 -0
- package/dist/mcp-server/tools/utils/graphql-errors.js.map +1 -0
- package/dist/mcp-server/tools/utils/parent-id-validation.d.ts +11 -0
- package/dist/mcp-server/tools/utils/parent-id-validation.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/parent-id-validation.js +60 -0
- package/dist/mcp-server/tools/utils/parent-id-validation.js.map +1 -0
- package/dist/mcp-server/tools/utils/resolve-session.d.ts +4 -0
- package/dist/mcp-server/tools/utils/resolve-session.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/resolve-session.js +6 -0
- package/dist/mcp-server/tools/utils/resolve-session.js.map +1 -0
- package/dist/mcp-server/tools/utils/workflow-schemas.d.ts +646 -0
- package/dist/mcp-server/tools/utils/workflow-schemas.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/workflow-schemas.js +173 -0
- package/dist/mcp-server/tools/utils/workflow-schemas.js.map +1 -0
- package/dist/mcp-server/transports/streamable-http-transport.d.ts +49 -0
- package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
- package/dist/mcp-server/transports/streamable-http-transport.js +74 -0
- package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
- package/dist/services/session-services.d.ts +22 -0
- package/dist/services/session-services.d.ts.map +1 -0
- package/dist/services/session-services.js +24 -0
- package/dist/services/session-services.js.map +1 -0
- package/dist/services/ttd/ttd-http-client.d.ts +13 -0
- package/dist/services/ttd/ttd-http-client.d.ts.map +1 -0
- package/dist/services/ttd/ttd-http-client.js +70 -0
- package/dist/services/ttd/ttd-http-client.js.map +1 -0
- package/dist/services/ttd/ttd-reporting-service.d.ts +79 -0
- package/dist/services/ttd/ttd-reporting-service.d.ts.map +1 -0
- package/dist/services/ttd/ttd-reporting-service.js +180 -0
- package/dist/services/ttd/ttd-reporting-service.js.map +1 -0
- package/dist/services/ttd/ttd-service.d.ts +107 -0
- package/dist/services/ttd/ttd-service.d.ts.map +1 -0
- package/dist/services/ttd/ttd-service.js +307 -0
- package/dist/services/ttd/ttd-service.js.map +1 -0
- package/dist/services/ttd/types.d.ts +153 -0
- package/dist/services/ttd/types.d.ts.map +1 -0
- package/dist/services/ttd/types.js +30 -0
- package/dist/services/ttd/types.js.map +1 -0
- package/dist/types-global/mcp.d.ts +2 -0
- package/dist/types-global/mcp.d.ts.map +1 -0
- package/dist/types-global/mcp.js +2 -0
- package/dist/types-global/mcp.js.map +1 -0
- package/dist/utils/errors/index.d.ts +2 -0
- package/dist/utils/errors/index.d.ts.map +1 -0
- package/dist/utils/errors/index.js +2 -0
- package/dist/utils/errors/index.js.map +1 -0
- package/dist/utils/platform.d.ts +3 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +5 -0
- package/dist/utils/platform.js.map +1 -0
- package/dist/utils/security/rate-limiter.d.ts +3 -0
- package/dist/utils/security/rate-limiter.d.ts.map +1 -0
- package/dist/utils/security/rate-limiter.js +5 -0
- package/dist/utils/security/rate-limiter.js.map +1 -0
- package/dist/utils/telemetry/index.d.ts +2 -0
- package/dist/utils/telemetry/index.d.ts.map +1 -0
- package/dist/utils/telemetry/index.js +2 -0
- package/dist/utils/telemetry/index.js.map +1 -0
- package/dist/utils/telemetry/tracing.d.ts +3 -0
- package/dist/utils/telemetry/tracing.d.ts.map +1 -0
- package/dist/utils/telemetry/tracing.js +4 -0
- package/dist/utils/telemetry/tracing.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const LooseObjectSchema = z.record(z.any());
|
|
3
|
+
export const WorkflowCallbackInputSchema = z.object({
|
|
4
|
+
callbackUrl: z.string().url().describe("Callback URL that TTD should POST job results to"),
|
|
5
|
+
callbackHeaders: z
|
|
6
|
+
.record(z.string())
|
|
7
|
+
.nullable()
|
|
8
|
+
.optional()
|
|
9
|
+
.describe("Optional callback headers to include with the webhook request"),
|
|
10
|
+
});
|
|
11
|
+
export const RestMethodTypeSchema = z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]);
|
|
12
|
+
export const RestRequestInputSchema = z.object({
|
|
13
|
+
methodType: RestMethodTypeSchema.describe("HTTP method for the TTD REST API request"),
|
|
14
|
+
endpoint: z
|
|
15
|
+
.string()
|
|
16
|
+
.min(1)
|
|
17
|
+
.nullable()
|
|
18
|
+
.describe("TTD REST API endpoint path, e.g. campaign/<id> or adgroup"),
|
|
19
|
+
dataBody: z
|
|
20
|
+
.string()
|
|
21
|
+
.nullable()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe("Optional JSON string body to send with the request"),
|
|
24
|
+
});
|
|
25
|
+
export const FirstPartyDataJobInputSchema = z.object({
|
|
26
|
+
advertiserId: z.string().min(1).describe("Advertiser ID to query for first-party data"),
|
|
27
|
+
nameFilter: z
|
|
28
|
+
.string()
|
|
29
|
+
.nullable()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Optional name filter applied to first-party data results"),
|
|
32
|
+
queryShape: z
|
|
33
|
+
.string()
|
|
34
|
+
.nullable()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe("Optional GraphQL-style query shape for the returned result fields"),
|
|
37
|
+
callbackInput: WorkflowCallbackInputSchema.optional().describe("Optional webhook callback for async completion"),
|
|
38
|
+
});
|
|
39
|
+
export const ThirdPartyDataJobInputSchema = z.object({
|
|
40
|
+
partnerId: z.string().min(1).describe("Partner ID to query for third-party data"),
|
|
41
|
+
queryShape: z
|
|
42
|
+
.string()
|
|
43
|
+
.nullable()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("Optional GraphQL-style query shape for the returned result fields"),
|
|
46
|
+
callbackInput: WorkflowCallbackInputSchema.optional().describe("Optional webhook callback for async completion"),
|
|
47
|
+
});
|
|
48
|
+
export const CampaignWorkflowPrimaryInputSchema = z
|
|
49
|
+
.object({
|
|
50
|
+
advertiserId: z.string().min(1).optional().describe("Advertiser ID for the campaign"),
|
|
51
|
+
name: z.string().min(1).optional().describe("Campaign name"),
|
|
52
|
+
seedId: z.string().nullable().optional().describe("Seed ID for the campaign"),
|
|
53
|
+
startDateInUtc: z.string().optional().describe("Campaign start datetime in UTC"),
|
|
54
|
+
endDateInUtc: z.string().nullable().optional().describe("Campaign end datetime in UTC"),
|
|
55
|
+
primaryChannel: z.string().optional().describe("Primary TTD campaign channel enum value"),
|
|
56
|
+
primaryGoal: LooseObjectSchema.optional().describe("Primary goal configuration"),
|
|
57
|
+
})
|
|
58
|
+
.passthrough();
|
|
59
|
+
export const CampaignCreateWorkflowInputSchema = z.object({
|
|
60
|
+
primaryInput: CampaignWorkflowPrimaryInputSchema.describe("Primary campaign workflow fields"),
|
|
61
|
+
advancedInput: LooseObjectSchema.optional().describe("Advanced campaign workflow settings"),
|
|
62
|
+
adGroups: z
|
|
63
|
+
.array(LooseObjectSchema)
|
|
64
|
+
.nullable()
|
|
65
|
+
.optional()
|
|
66
|
+
.describe("Optional ad groups to create along with the campaign"),
|
|
67
|
+
validateInputOnly: z
|
|
68
|
+
.boolean()
|
|
69
|
+
.nullable()
|
|
70
|
+
.optional()
|
|
71
|
+
.describe("When true, TTD validates the payload without persisting it"),
|
|
72
|
+
});
|
|
73
|
+
export const CampaignUpdateWorkflowInputSchema = z.object({
|
|
74
|
+
id: z.string().min(1).nullable().describe("Campaign ID to update"),
|
|
75
|
+
primaryInput: LooseObjectSchema.optional().describe("Primary campaign fields to update"),
|
|
76
|
+
advancedInput: LooseObjectSchema.optional().describe("Advanced campaign fields to update"),
|
|
77
|
+
validateInputOnly: z
|
|
78
|
+
.boolean()
|
|
79
|
+
.nullable()
|
|
80
|
+
.optional()
|
|
81
|
+
.describe("When true, TTD validates the payload without persisting it"),
|
|
82
|
+
});
|
|
83
|
+
export const AdGroupWorkflowPrimaryInputSchema = z
|
|
84
|
+
.object({
|
|
85
|
+
name: z.string().min(1).optional().describe("Ad group name"),
|
|
86
|
+
isEnabled: z.boolean().optional().describe("Whether the ad group is enabled"),
|
|
87
|
+
description: z.string().optional().describe("Ad group description"),
|
|
88
|
+
campaignId: z.string().min(1).nullable().optional().describe("Campaign ID for the ad group"),
|
|
89
|
+
channel: z.string().optional().describe("Ad group channel enum value"),
|
|
90
|
+
marketType: z.string().optional().describe("Ad group market type enum value"),
|
|
91
|
+
budget: LooseObjectSchema.optional().describe("Ad group budget settings"),
|
|
92
|
+
audienceTargeting: LooseObjectSchema.optional().describe("Audience targeting settings"),
|
|
93
|
+
})
|
|
94
|
+
.passthrough();
|
|
95
|
+
export const AdGroupCreateWorkflowInputSchema = z.object({
|
|
96
|
+
primaryInput: AdGroupWorkflowPrimaryInputSchema.describe("Primary ad group workflow fields"),
|
|
97
|
+
campaignId: z.string().min(1).nullable().describe("Campaign ID for the ad group"),
|
|
98
|
+
advancedInput: LooseObjectSchema.optional().describe("Advanced ad group workflow settings"),
|
|
99
|
+
validateInputOnly: z
|
|
100
|
+
.boolean()
|
|
101
|
+
.nullable()
|
|
102
|
+
.optional()
|
|
103
|
+
.describe("When true, TTD validates the payload without persisting it"),
|
|
104
|
+
});
|
|
105
|
+
export const AdGroupUpdateWorkflowInputSchema = z.object({
|
|
106
|
+
id: z.string().min(1).nullable().describe("Ad group ID to update"),
|
|
107
|
+
primaryInput: LooseObjectSchema.optional().describe("Primary ad group fields to update"),
|
|
108
|
+
advancedInput: LooseObjectSchema.optional().describe("Advanced ad group fields to update"),
|
|
109
|
+
validateInputOnly: z
|
|
110
|
+
.boolean()
|
|
111
|
+
.nullable()
|
|
112
|
+
.optional()
|
|
113
|
+
.describe("When true, TTD validates the payload without persisting it"),
|
|
114
|
+
});
|
|
115
|
+
export const CampaignsJobInputSchema = z.object({
|
|
116
|
+
input: z
|
|
117
|
+
.array(CampaignCreateWorkflowInputSchema)
|
|
118
|
+
.nullable()
|
|
119
|
+
.describe("Campaign workflow items to create"),
|
|
120
|
+
validateInputOnly: z
|
|
121
|
+
.boolean()
|
|
122
|
+
.nullable()
|
|
123
|
+
.optional()
|
|
124
|
+
.describe("When true, TTD validates the payload without persisting it"),
|
|
125
|
+
callbackInput: WorkflowCallbackInputSchema.optional().describe("Optional webhook callback for async completion"),
|
|
126
|
+
});
|
|
127
|
+
export const CampaignsUpdateJobInputSchema = z.object({
|
|
128
|
+
input: z
|
|
129
|
+
.array(CampaignUpdateWorkflowInputSchema)
|
|
130
|
+
.nullable()
|
|
131
|
+
.describe("Campaign workflow items to update"),
|
|
132
|
+
validateInputOnly: z
|
|
133
|
+
.boolean()
|
|
134
|
+
.nullable()
|
|
135
|
+
.optional()
|
|
136
|
+
.describe("When true, TTD validates the payload without persisting it"),
|
|
137
|
+
callbackInput: WorkflowCallbackInputSchema.optional().describe("Optional webhook callback for async completion"),
|
|
138
|
+
});
|
|
139
|
+
export const AdGroupsJobInputSchema = z.object({
|
|
140
|
+
input: z
|
|
141
|
+
.array(AdGroupCreateWorkflowInputSchema)
|
|
142
|
+
.nullable()
|
|
143
|
+
.describe("Ad group workflow items to create"),
|
|
144
|
+
validateInputOnly: z
|
|
145
|
+
.boolean()
|
|
146
|
+
.nullable()
|
|
147
|
+
.optional()
|
|
148
|
+
.describe("When true, TTD validates the payload without persisting it"),
|
|
149
|
+
callbackInput: WorkflowCallbackInputSchema.optional().describe("Optional webhook callback for async completion"),
|
|
150
|
+
});
|
|
151
|
+
export const AdGroupsUpdateJobInputSchema = z.object({
|
|
152
|
+
input: z
|
|
153
|
+
.array(AdGroupUpdateWorkflowInputSchema)
|
|
154
|
+
.nullable()
|
|
155
|
+
.describe("Ad group workflow items to update"),
|
|
156
|
+
validateInputOnly: z
|
|
157
|
+
.boolean()
|
|
158
|
+
.nullable()
|
|
159
|
+
.optional()
|
|
160
|
+
.describe("When true, TTD validates the payload without persisting it"),
|
|
161
|
+
callbackInput: WorkflowCallbackInputSchema.optional().describe("Optional webhook callback for async completion"),
|
|
162
|
+
});
|
|
163
|
+
export function toWorkflowCallbackInput(callbackInput) {
|
|
164
|
+
if (!callbackInput)
|
|
165
|
+
return undefined;
|
|
166
|
+
return {
|
|
167
|
+
callbackUrl: callbackInput.callbackUrl,
|
|
168
|
+
...(callbackInput.callbackHeaders !== undefined
|
|
169
|
+
? { callbackHeaders: callbackInput.callbackHeaders }
|
|
170
|
+
: {}),
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=workflow-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-schemas.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/workflow-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Logger } from "pino";
|
|
2
|
+
export declare const createMcpHttpServer: (config: {
|
|
3
|
+
serviceName: string;
|
|
4
|
+
port: number;
|
|
5
|
+
otelServiceName: string;
|
|
6
|
+
mcpAuthMode: "ttd-token" | "jwt" | "none";
|
|
7
|
+
ttdUseSandbox: boolean;
|
|
8
|
+
ttdApiBaseUrl: string;
|
|
9
|
+
ttdGraphqlUrl: string;
|
|
10
|
+
ttdRateLimitPerMinute: number;
|
|
11
|
+
ttdReportPollIntervalMs: number;
|
|
12
|
+
ttdReportMaxPollAttempts: number;
|
|
13
|
+
host: string;
|
|
14
|
+
nodeEnv: "development" | "production" | "test";
|
|
15
|
+
mcpStatefulSessionTimeoutMs: number;
|
|
16
|
+
logLevel: "debug" | "info" | "notice" | "warning" | "error";
|
|
17
|
+
mcpLogLevel: "debug" | "info" | "notice" | "warning" | "error";
|
|
18
|
+
otelEnabled: boolean;
|
|
19
|
+
ttdApiToken?: string | undefined;
|
|
20
|
+
mcpAuthSecretKey?: string | undefined;
|
|
21
|
+
mcpAllowedOrigins?: string | undefined;
|
|
22
|
+
otelExporterOtlpTracesEndpoint?: string | undefined;
|
|
23
|
+
otelExporterOtlpMetricsEndpoint?: string | undefined;
|
|
24
|
+
gcsBucketName?: string | undefined;
|
|
25
|
+
}, logger: Logger) => ReturnType<typeof import("@cesteral/shared").createMcpHttpTransport>, startHttpServer: (config: {
|
|
26
|
+
serviceName: string;
|
|
27
|
+
port: number;
|
|
28
|
+
otelServiceName: string;
|
|
29
|
+
mcpAuthMode: "ttd-token" | "jwt" | "none";
|
|
30
|
+
ttdUseSandbox: boolean;
|
|
31
|
+
ttdApiBaseUrl: string;
|
|
32
|
+
ttdGraphqlUrl: string;
|
|
33
|
+
ttdRateLimitPerMinute: number;
|
|
34
|
+
ttdReportPollIntervalMs: number;
|
|
35
|
+
ttdReportMaxPollAttempts: number;
|
|
36
|
+
host: string;
|
|
37
|
+
nodeEnv: "development" | "production" | "test";
|
|
38
|
+
mcpStatefulSessionTimeoutMs: number;
|
|
39
|
+
logLevel: "debug" | "info" | "notice" | "warning" | "error";
|
|
40
|
+
mcpLogLevel: "debug" | "info" | "notice" | "warning" | "error";
|
|
41
|
+
otelEnabled: boolean;
|
|
42
|
+
ttdApiToken?: string | undefined;
|
|
43
|
+
mcpAuthSecretKey?: string | undefined;
|
|
44
|
+
mcpAllowedOrigins?: string | undefined;
|
|
45
|
+
otelExporterOtlpTracesEndpoint?: string | undefined;
|
|
46
|
+
otelExporterOtlpMetricsEndpoint?: string | undefined;
|
|
47
|
+
gcsBucketName?: string | undefined;
|
|
48
|
+
}, logger: Logger) => Promise<import("@cesteral/shared").McpHttpServer>;
|
|
49
|
+
//# sourceMappingURL=streamable-http-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamable-http-transport.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/transports/streamable-http-transport.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AA+GnC,eAAO,MAAQ,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;4FAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;uEACS,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createMcpServer } from "../server.js";
|
|
2
|
+
import { createAuthStrategy, buildServerCardExtras, createTransportEntrypoints, } from "@cesteral/shared";
|
|
3
|
+
import { TtdTokenAuthStrategy } from "../../auth/ttd-auth-strategy.js";
|
|
4
|
+
import { TtdDirectTokenAuthAdapter } from "../../auth/ttd-auth-adapter.js";
|
|
5
|
+
import { createSessionServices, sessionServiceStore } from "../../services/session-services.js";
|
|
6
|
+
import { rateLimiter } from "../../utils/platform.js";
|
|
7
|
+
function buildPlatformConfig(config, logger) {
|
|
8
|
+
const authStrategy = config.mcpAuthMode === "ttd-token"
|
|
9
|
+
? new TtdTokenAuthStrategy(config.ttdGraphqlUrl, logger)
|
|
10
|
+
: createAuthStrategy(config.mcpAuthMode, {
|
|
11
|
+
jwtSecret: config.mcpAuthSecretKey,
|
|
12
|
+
logger,
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
authStrategy,
|
|
16
|
+
corsAllowHeaders: [
|
|
17
|
+
"Content-Type",
|
|
18
|
+
"Authorization",
|
|
19
|
+
"Mcp-Session-Id",
|
|
20
|
+
"MCP-Protocol-Version",
|
|
21
|
+
"TTD-Auth",
|
|
22
|
+
],
|
|
23
|
+
authErrorHint: config.mcpAuthMode === "ttd-token"
|
|
24
|
+
? "Provide a TTD API token via the TTD-Auth header."
|
|
25
|
+
: "Provide a valid Bearer token in the Authorization header.",
|
|
26
|
+
sessionServiceStore,
|
|
27
|
+
rateLimiter,
|
|
28
|
+
async createSessionForAuth(authResult, sessionId, appConfig, log) {
|
|
29
|
+
const ttdConfig = appConfig;
|
|
30
|
+
const adapter = authResult.platformAuthAdapter;
|
|
31
|
+
if (adapter) {
|
|
32
|
+
await adapter.validate();
|
|
33
|
+
const services = createSessionServices(adapter, {
|
|
34
|
+
baseUrl: ttdConfig.ttdApiBaseUrl,
|
|
35
|
+
graphqlUrl: ttdConfig.ttdGraphqlUrl,
|
|
36
|
+
reportPollIntervalMs: ttdConfig.ttdReportPollIntervalMs,
|
|
37
|
+
reportMaxPollAttempts: ttdConfig.ttdReportMaxPollAttempts,
|
|
38
|
+
}, log, rateLimiter);
|
|
39
|
+
sessionServiceStore.set(sessionId, services, authResult.credentialFingerprint);
|
|
40
|
+
return { services };
|
|
41
|
+
}
|
|
42
|
+
if ((ttdConfig.mcpAuthMode === "none" || ttdConfig.mcpAuthMode === "jwt") &&
|
|
43
|
+
ttdConfig.ttdApiToken) {
|
|
44
|
+
const envAdapter = new TtdDirectTokenAuthAdapter(ttdConfig.ttdApiToken, "env-direct-token", ttdConfig.ttdGraphqlUrl);
|
|
45
|
+
await envAdapter.validate();
|
|
46
|
+
const services = createSessionServices(envAdapter, {
|
|
47
|
+
baseUrl: ttdConfig.ttdApiBaseUrl,
|
|
48
|
+
graphqlUrl: ttdConfig.ttdGraphqlUrl,
|
|
49
|
+
reportPollIntervalMs: ttdConfig.ttdReportPollIntervalMs,
|
|
50
|
+
reportMaxPollAttempts: ttdConfig.ttdReportMaxPollAttempts,
|
|
51
|
+
}, log, rateLimiter);
|
|
52
|
+
sessionServiceStore.set(sessionId, services, authResult.credentialFingerprint);
|
|
53
|
+
return { services };
|
|
54
|
+
}
|
|
55
|
+
if (ttdConfig.mcpAuthMode === "none") {
|
|
56
|
+
return { services: null };
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
services: null,
|
|
60
|
+
error: {
|
|
61
|
+
message: "TTD credentials required. Set TTD_API_TOKEN env var, or use MCP_AUTH_MODE=ttd-token.",
|
|
62
|
+
status: 400,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
async createMcpServer(log, sessionId, gcsBucket) {
|
|
67
|
+
return createMcpServer(log, sessionId, gcsBucket);
|
|
68
|
+
},
|
|
69
|
+
packageJsonPath: new URL("../../../package.json", import.meta.url).pathname,
|
|
70
|
+
serverCard: buildServerCardExtras("ttd-mcp"),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export const { createMcpHttpServer, startHttpServer } = createTransportEntrypoints(buildPlatformConfig);
|
|
74
|
+
//# sourceMappingURL=streamable-http-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamable-http-transport.js","sourceRoot":"","sources":["../../../src/mcp-server/transports/streamable-http-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Logger } from "pino";
|
|
2
|
+
import type { TtdAuthAdapter } from "../auth/ttd-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 { TtdService } from "./ttd/ttd-service.js";
|
|
7
|
+
import { TtdReportingService } from "./ttd/ttd-reporting-service.js";
|
|
8
|
+
export interface SessionServices {
|
|
9
|
+
ttdService: TtdService;
|
|
10
|
+
ttdReportingService: TtdReportingService;
|
|
11
|
+
authAdapter: TtdAuthAdapter;
|
|
12
|
+
}
|
|
13
|
+
export interface TtdSessionConfig {
|
|
14
|
+
baseUrl: string;
|
|
15
|
+
graphqlUrl?: string;
|
|
16
|
+
reportPollIntervalMs?: number;
|
|
17
|
+
reportMaxPollAttempts?: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function createSessionServices(authAdapter: TtdAuthAdapter, config: TtdSessionConfig, logger: Logger, rateLimiter: RateLimiter): SessionServices;
|
|
20
|
+
export declare const sessionServiceStore: SessionServiceStore<SessionServices>;
|
|
21
|
+
export declare const reportCsvStore: ReportCsvStore;
|
|
22
|
+
//# 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,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,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,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,cAAc,EAC3B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,eAAe,CAejB;AAED,eAAO,MAAM,mBAAmB,sCAA6C,CAAC;AAQ9E,eAAO,MAAM,cAAc,gBAIzB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { deleteSpilledObjectsForSession, ReportCsvStore, SessionServiceStore, } from "@cesteral/shared";
|
|
2
|
+
export { SessionServiceStore } from "@cesteral/shared";
|
|
3
|
+
import { TtdHttpClient } from "./ttd/ttd-http-client.js";
|
|
4
|
+
import { TtdService } from "./ttd/ttd-service.js";
|
|
5
|
+
import { TtdReportingService } from "./ttd/ttd-reporting-service.js";
|
|
6
|
+
export function createSessionServices(authAdapter, config, logger, rateLimiter) {
|
|
7
|
+
const httpClient = new TtdHttpClient(authAdapter, config.baseUrl, logger);
|
|
8
|
+
const ttdService = new TtdService(logger, rateLimiter, httpClient, config.graphqlUrl);
|
|
9
|
+
const ttdReportingService = new TtdReportingService(rateLimiter, httpClient, logger, config.reportPollIntervalMs, config.reportMaxPollAttempts);
|
|
10
|
+
return {
|
|
11
|
+
ttdService,
|
|
12
|
+
ttdReportingService,
|
|
13
|
+
authAdapter,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export const sessionServiceStore = new SessionServiceStore();
|
|
17
|
+
export const reportCsvStore = new ReportCsvStore({
|
|
18
|
+
mirror: { bucketResolver: () => process.env.REPORT_SPILL_BUCKET },
|
|
19
|
+
});
|
|
20
|
+
sessionServiceStore.onDelete((sessionId) => {
|
|
21
|
+
void deleteSpilledObjectsForSession("ttd", sessionId);
|
|
22
|
+
reportCsvStore.clearForSession(sessionId);
|
|
23
|
+
});
|
|
24
|
+
//# 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,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAerE,MAAM,UAAU,qBAAqB,CACnC,WAA2B,EAC3B,MAAwB,EACxB,MAAc,EACd,WAAwB;IAExB,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACtF,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CACjD,WAAW,EACX,UAAU,EACV,MAAM,EACN,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,qBAAqB,CAC7B,CAAC;IACF,OAAO;QACL,UAAU;QACV,mBAAmB;QACnB,WAAW;KACZ,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,KAAK,EAAE,SAAS,CAAC,CAAC;IACtD,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Logger } from "pino";
|
|
2
|
+
import type { TtdAuthAdapter } from "../../auth/ttd-auth-adapter.js";
|
|
3
|
+
import type { RequestContext } from "@cesteral/shared";
|
|
4
|
+
export declare class TtdHttpClient {
|
|
5
|
+
private authAdapter;
|
|
6
|
+
private baseUrl;
|
|
7
|
+
private logger;
|
|
8
|
+
constructor(authAdapter: TtdAuthAdapter, baseUrl: string, logger: Logger);
|
|
9
|
+
get partnerId(): string;
|
|
10
|
+
fetch(path: string, context?: RequestContext, options?: RequestInit): Promise<unknown>;
|
|
11
|
+
fetchDirect(fullUrl: string, context?: RequestContext, options?: RequestInit): Promise<unknown>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ttd-http-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ttd-http-client.d.ts","sourceRoot":"","sources":["../../../src/services/ttd/ttd-http-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,kBAAkB,CAAC;AAkBpE,qBAAa,aAAa;IAEtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;gBAFN,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;IAGxB,IAAI,SAAS,IAAI,MAAM,CAEtB;IASK,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAiCtF,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,OAAO,CAAC;CA4BpB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { executeWithRetry, fetchWithTimeout } from "@cesteral/shared";
|
|
2
|
+
import { withTtdApiSpan } from "../../utils/platform.js";
|
|
3
|
+
const TTD_RETRY_CONFIG = {
|
|
4
|
+
maxRetries: 3,
|
|
5
|
+
initialBackoffMs: 1_000,
|
|
6
|
+
maxBackoffMs: 10_000,
|
|
7
|
+
timeoutMs: 30_000,
|
|
8
|
+
platformName: "TTD",
|
|
9
|
+
};
|
|
10
|
+
export class TtdHttpClient {
|
|
11
|
+
authAdapter;
|
|
12
|
+
baseUrl;
|
|
13
|
+
logger;
|
|
14
|
+
constructor(authAdapter, baseUrl, logger) {
|
|
15
|
+
this.authAdapter = authAdapter;
|
|
16
|
+
this.baseUrl = baseUrl;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
get partnerId() {
|
|
20
|
+
return this.authAdapter.partnerId;
|
|
21
|
+
}
|
|
22
|
+
async fetch(path, context, options) {
|
|
23
|
+
const url = `${this.baseUrl}${path}`;
|
|
24
|
+
const method = options?.method || "GET";
|
|
25
|
+
this.logger.debug({ url, method, requestId: context?.requestId }, "Making TTD API request");
|
|
26
|
+
return withTtdApiSpan(`api.${method}`, path, async (span) => {
|
|
27
|
+
span.setAttribute("http.request.method", method);
|
|
28
|
+
span.setAttribute("http.url", url);
|
|
29
|
+
const result = await executeWithRetry(TTD_RETRY_CONFIG, {
|
|
30
|
+
url,
|
|
31
|
+
fetchOptions: options,
|
|
32
|
+
context,
|
|
33
|
+
logger: this.logger,
|
|
34
|
+
fetchFn: fetchWithTimeout,
|
|
35
|
+
getHeaders: async () => {
|
|
36
|
+
const accessToken = await this.authAdapter.getAccessToken();
|
|
37
|
+
return {
|
|
38
|
+
"Content-Type": "application/json",
|
|
39
|
+
"TTD-Auth": accessToken,
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
return result;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async fetchDirect(fullUrl, context, options) {
|
|
47
|
+
const method = options?.method || "GET";
|
|
48
|
+
this.logger.debug({ url: fullUrl, method, requestId: context?.requestId }, "Making TTD API request (direct URL)");
|
|
49
|
+
return withTtdApiSpan(`api.direct.${method}`, fullUrl, async (span) => {
|
|
50
|
+
span.setAttribute("http.request.method", method);
|
|
51
|
+
span.setAttribute("http.url", fullUrl);
|
|
52
|
+
const result = await executeWithRetry(TTD_RETRY_CONFIG, {
|
|
53
|
+
url: fullUrl,
|
|
54
|
+
fetchOptions: options,
|
|
55
|
+
context,
|
|
56
|
+
logger: this.logger,
|
|
57
|
+
fetchFn: fetchWithTimeout,
|
|
58
|
+
getHeaders: async () => {
|
|
59
|
+
const accessToken = await this.authAdapter.getAccessToken();
|
|
60
|
+
return {
|
|
61
|
+
"Content-Type": "application/json",
|
|
62
|
+
"TTD-Auth": accessToken,
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
return result;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ttd-http-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ttd-http-client.js","sourceRoot":"","sources":["../../../src/services/ttd/ttd-http-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,gBAAgB,GAAgB;IACpC,UAAU,EAAE,CAAC;IACb,gBAAgB,EAAE,KAAK;IACvB,YAAY,EAAE,MAAM;IACpB,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,KAAK;CACpB,CAAC;AASF,MAAM,OAAO,aAAa;IAEd;IACA;IACA;IAHV,YACU,WAA2B,EAC3B,OAAe,EACf,MAAc;QAFd,gBAAW,GAAX,WAAW,CAAgB;QAC3B,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACpC,CAAC;IASD,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAwB,EAAE,OAAqB;QACvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAE5F,OAAO,cAAc,CAAC,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1D,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE;gBACtD,GAAG;gBACH,YAAY,EAAE,OAAO;gBACrB,OAAO;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,KAAK,IAAI,EAAE;oBACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;oBAC5D,OAAO;wBACL,cAAc,EAAE,kBAAkB;wBAClC,UAAU,EAAE,WAAW;qBACxB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAQD,KAAK,CAAC,WAAW,CACf,OAAe,EACf,OAAwB,EACxB,OAAqB;QAErB,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EACvD,qCAAqC,CACtC,CAAC;QAEF,OAAO,cAAc,CAAC,cAAc,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpE,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE;gBACtD,GAAG,EAAE,OAAO;gBACZ,YAAY,EAAE,OAAO;gBACrB,OAAO;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,KAAK,IAAI,EAAE;oBACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;oBAC5D,OAAO;wBACL,cAAc,EAAE,kBAAkB;wBAClC,UAAU,EAAE,WAAW;qBACxB,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { Logger } from "pino";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import type { TtdHttpClient } from "./ttd-http-client.js";
|
|
4
|
+
import type { RateLimiter } from "@cesteral/shared";
|
|
5
|
+
import { type RequestContext } from "@cesteral/shared";
|
|
6
|
+
declare const ReportExecutionSchema: z.ZodObject<{
|
|
7
|
+
ReportExecutionState: z.ZodOptional<z.ZodString>;
|
|
8
|
+
ReportDeliveries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
9
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
10
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
11
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
12
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
13
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
14
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
15
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
16
|
+
ReportExecutionState: z.ZodOptional<z.ZodString>;
|
|
17
|
+
ReportDeliveries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
18
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
19
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
20
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
22
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
23
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
24
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
25
|
+
ReportExecutionState: z.ZodOptional<z.ZodString>;
|
|
26
|
+
ReportDeliveries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
27
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
28
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
29
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
30
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
31
|
+
DownloadURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
32
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
33
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
34
|
+
export interface TtdReportConfig {
|
|
35
|
+
ReportScheduleName: string;
|
|
36
|
+
ReportTemplateId: number;
|
|
37
|
+
ReportFileFormat: "CSV" | "TSV" | "ExcelPivot";
|
|
38
|
+
ReportDateRange: string;
|
|
39
|
+
ReportFrequency: "Once" | "Daily" | "Weekly" | "Monthly" | "Quarterly";
|
|
40
|
+
ScheduleStartDate: string;
|
|
41
|
+
TimeZone?: string;
|
|
42
|
+
ReportDateFormat?: string;
|
|
43
|
+
ReportNumericFormat?: string;
|
|
44
|
+
IncludeHeaders?: boolean;
|
|
45
|
+
ReportFilters?: Array<{
|
|
46
|
+
Type: string;
|
|
47
|
+
Value: string;
|
|
48
|
+
}>;
|
|
49
|
+
ReportDimensions?: string[];
|
|
50
|
+
ReportMetrics?: string[];
|
|
51
|
+
AdvertiserFilters?: string[];
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
}
|
|
54
|
+
export declare class TtdReportingService {
|
|
55
|
+
private readonly rateLimiter;
|
|
56
|
+
private readonly httpClient;
|
|
57
|
+
private readonly logger;
|
|
58
|
+
private readonly pollIntervalMs;
|
|
59
|
+
private readonly maxPollAttempts;
|
|
60
|
+
constructor(rateLimiter: RateLimiter, httpClient: TtdHttpClient, logger: Logger, pollIntervalMs?: number, maxPollAttempts?: number);
|
|
61
|
+
runReport(config: TtdReportConfig, context?: RequestContext): Promise<unknown>;
|
|
62
|
+
createReportSchedule(config: TtdReportConfig, context?: RequestContext): Promise<{
|
|
63
|
+
reportScheduleId: string;
|
|
64
|
+
}>;
|
|
65
|
+
checkReportExecution(reportScheduleId: string, context?: RequestContext): Promise<{
|
|
66
|
+
reportScheduleId: string;
|
|
67
|
+
state: string;
|
|
68
|
+
execution: z.infer<typeof ReportExecutionSchema> | Record<string, never>;
|
|
69
|
+
downloadUrl?: string;
|
|
70
|
+
}>;
|
|
71
|
+
listReportSchedules(query: Record<string, unknown>, context?: RequestContext): Promise<unknown>;
|
|
72
|
+
private getScheduleAdvertiserIds;
|
|
73
|
+
getReportSchedule(scheduleId: string, context?: RequestContext): Promise<unknown>;
|
|
74
|
+
deleteReportSchedule(scheduleId: string, context?: RequestContext): Promise<void>;
|
|
75
|
+
listReportTemplates(query: Record<string, unknown>, context?: RequestContext): Promise<unknown>;
|
|
76
|
+
private pollReportExecution;
|
|
77
|
+
}
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=ttd-reporting-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ttd-reporting-service.d.ts","sourceRoot":"","sources":["../../../src/services/ttd/ttd-reporting-service.ts"],"names":[],"mappings":"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"}
|