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