@cesteral/dbm-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 +197 -0
- package/dist/config/index.d.ts +112 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +55 -0
- package/dist/config/index.js.map +1 -0
- package/dist/generated/compatibility-rules.d.ts +26 -0
- package/dist/generated/compatibility-rules.d.ts.map +1 -0
- package/dist/generated/compatibility-rules.js +142 -0
- package/dist/generated/compatibility-rules.js.map +1 -0
- package/dist/generated/filters.d.ts +19 -0
- package/dist/generated/filters.d.ts.map +1 -0
- package/dist/generated/filters.js +2541 -0
- package/dist/generated/filters.js.map +1 -0
- package/dist/generated/index.d.ts +5 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +5 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/metrics.d.ts +28 -0
- package/dist/generated/metrics.d.ts.map +1 -0
- package/dist/generated/metrics.js +961 -0
- package/dist/generated/metrics.js.map +1 -0
- package/dist/generated/report-types.d.ts +14 -0
- package/dist/generated/report-types.d.ts.map +1 -0
- package/dist/generated/report-types.js +94 -0
- package/dist/generated/report-types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.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/custom-query-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/custom-query-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/custom-query-workflow.prompt.js +164 -0
- package/dist/mcp-server/prompts/definitions/custom-query-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/pacing-performance-analysis.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/pacing-performance-analysis.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/pacing-performance-analysis.prompt.js +204 -0
- package/dist/mcp-server/prompts/definitions/pacing-performance-analysis.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 +66 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-report.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-report.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-report.prompt.js +179 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-report.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/types.d.ts +15 -0
- package/dist/mcp-server/prompts/definitions/types.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/types.js +2 -0
- package/dist/mcp-server/prompts/definitions/types.js.map +1 -0
- package/dist/mcp-server/prompts/index.d.ts +6 -0
- package/dist/mcp-server/prompts/index.d.ts.map +1 -0
- package/dist/mcp-server/prompts/index.js +57 -0
- package/dist/mcp-server/prompts/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/compatibility-rules.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/compatibility-rules.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/compatibility-rules.resource.js +130 -0
- package/dist/mcp-server/resources/definitions/compatibility-rules.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/filter-types.resource.d.ts +4 -0
- package/dist/mcp-server/resources/definitions/filter-types.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/filter-types.resource.js +198 -0
- package/dist/mcp-server/resources/definitions/filter-types.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 +49 -0
- package/dist/mcp-server/resources/definitions/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/metric-types.resource.d.ts +4 -0
- package/dist/mcp-server/resources/definitions/metric-types.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/metric-types.resource.js +221 -0
- package/dist/mcp-server/resources/definitions/metric-types.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/query-examples.resource.d.ts +169 -0
- package/dist/mcp-server/resources/definitions/query-examples.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/query-examples.resource.js +261 -0
- package/dist/mcp-server/resources/definitions/query-examples.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/report-types.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/report-types.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/report-types.resource.js +198 -0
- package/dist/mcp-server/resources/definitions/report-types.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 +16 -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/server.d.ts +5 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +115 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-campaign-delivery.tool.d.ts +89 -0
- package/dist/mcp-server/tools/definitions/get-campaign-delivery.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-campaign-delivery.tool.js +128 -0
- package/dist/mcp-server/tools/definitions/get-campaign-delivery.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-historical-metrics.tool.d.ts +155 -0
- package/dist/mcp-server/tools/definitions/get-historical-metrics.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-historical-metrics.tool.js +160 -0
- package/dist/mcp-server/tools/definitions/get-historical-metrics.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-pacing-status.tool.d.ts +138 -0
- package/dist/mcp-server/tools/definitions/get-pacing-status.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-pacing-status.tool.js +171 -0
- package/dist/mcp-server/tools/definitions/get-pacing-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-performance-metrics.tool.d.ts +122 -0
- package/dist/mcp-server/tools/definitions/get-performance-metrics.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-performance-metrics.tool.js +143 -0
- package/dist/mcp-server/tools/definitions/get-performance-metrics.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/index.d.ts +8 -0
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/index.js +23 -0
- package/dist/mcp-server/tools/definitions/index.js.map +1 -0
- package/dist/mcp-server/tools/definitions/run-custom-query-async.tool.d.ts +4 -0
- package/dist/mcp-server/tools/definitions/run-custom-query-async.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/run-custom-query-async.tool.js +46 -0
- package/dist/mcp-server/tools/definitions/run-custom-query-async.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/run-custom-query.tool.d.ts +186 -0
- package/dist/mcp-server/tools/definitions/run-custom-query.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/run-custom-query.tool.js +202 -0
- package/dist/mcp-server/tools/definitions/run-custom-query.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/query-validation.d.ts +44 -0
- package/dist/mcp-server/tools/utils/query-validation.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/query-validation.js +107 -0
- package/dist/mcp-server/tools/utils/query-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/transports/streamable-http-transport.d.ts +55 -0
- package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
- package/dist/mcp-server/transports/streamable-http-transport.js +55 -0
- package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
- package/dist/services/bid-manager/BidManagerService.d.ts +68 -0
- package/dist/services/bid-manager/BidManagerService.d.ts.map +1 -0
- package/dist/services/bid-manager/BidManagerService.js +464 -0
- package/dist/services/bid-manager/BidManagerService.js.map +1 -0
- package/dist/services/bid-manager/auth-bridge.d.ts +6 -0
- package/dist/services/bid-manager/auth-bridge.d.ts.map +1 -0
- package/dist/services/bid-manager/auth-bridge.js +13 -0
- package/dist/services/bid-manager/auth-bridge.js.map +1 -0
- package/dist/services/bid-manager/client.d.ts +4 -0
- package/dist/services/bid-manager/client.d.ts.map +1 -0
- package/dist/services/bid-manager/client.js +2 -0
- package/dist/services/bid-manager/client.js.map +1 -0
- package/dist/services/bid-manager/index.d.ts +6 -0
- package/dist/services/bid-manager/index.d.ts.map +1 -0
- package/dist/services/bid-manager/index.js +4 -0
- package/dist/services/bid-manager/index.js.map +1 -0
- package/dist/services/bid-manager/report-parser.d.ts +26 -0
- package/dist/services/bid-manager/report-parser.d.ts.map +1 -0
- package/dist/services/bid-manager/report-parser.js +141 -0
- package/dist/services/bid-manager/report-parser.js.map +1 -0
- package/dist/services/bid-manager/types.d.ts +668 -0
- package/dist/services/bid-manager/types.d.ts.map +1 -0
- package/dist/services/bid-manager/types.js +256 -0
- package/dist/services/bid-manager/types.js.map +1 -0
- package/dist/services/session-services.d.ts +12 -0
- package/dist/services/session-services.d.ts.map +1 -0
- package/dist/services/session-services.js +18 -0
- package/dist/services/session-services.js.map +1 -0
- package/dist/types-global/bid-manager.d.ts +76 -0
- package/dist/types-global/bid-manager.d.ts.map +1 -0
- package/dist/types-global/bid-manager.js +2 -0
- package/dist/types-global/bid-manager.js.map +1 -0
- package/dist/types-global/index.d.ts +2 -0
- package/dist/types-global/index.d.ts.map +1 -0
- package/dist/types-global/index.js +2 -0
- package/dist/types-global/index.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/date.d.ts +2 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +7 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/errors/bid-manager-errors.d.ts +57 -0
- package/dist/utils/errors/bid-manager-errors.d.ts.map +1 -0
- package/dist/utils/errors/bid-manager-errors.js +119 -0
- package/dist/utils/errors/bid-manager-errors.js.map +1 -0
- package/dist/utils/errors/index.d.ts +3 -0
- package/dist/utils/errors/index.d.ts.map +1 -0
- package/dist/utils/errors/index.js +3 -0
- package/dist/utils/errors/index.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/math.d.ts +9 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.js +38 -0
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/metrics.d.ts +21 -0
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/utils/metrics.js +92 -0
- package/dist/utils/metrics.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/index.d.ts +2 -0
- package/dist/utils/security/index.d.ts.map +1 -0
- package/dist/utils/security/index.js +2 -0
- package/dist/utils/security/index.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 +60 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RequestContext, McpTextContent } from "@cesteral/shared";
|
|
3
|
+
import type { SdkContext, ToolDefinition } from "@cesteral/shared";
|
|
4
|
+
export declare const GetPacingStatusInputSchema: z.ZodObject<{
|
|
5
|
+
advertiserId: z.ZodString;
|
|
6
|
+
campaignId: z.ZodString;
|
|
7
|
+
budgetTotal: z.ZodNumber;
|
|
8
|
+
flightStartDate: z.ZodString;
|
|
9
|
+
flightEndDate: z.ZodString;
|
|
10
|
+
currency: z.ZodDefault<z.ZodString>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
advertiserId: string;
|
|
13
|
+
campaignId: string;
|
|
14
|
+
budgetTotal: number;
|
|
15
|
+
flightStartDate: string;
|
|
16
|
+
flightEndDate: string;
|
|
17
|
+
currency: string;
|
|
18
|
+
}, {
|
|
19
|
+
advertiserId: string;
|
|
20
|
+
campaignId: string;
|
|
21
|
+
budgetTotal: number;
|
|
22
|
+
flightStartDate: string;
|
|
23
|
+
flightEndDate: string;
|
|
24
|
+
currency?: string | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const GetPacingStatusOutputSchema: z.ZodObject<{
|
|
27
|
+
advertiserId: z.ZodString;
|
|
28
|
+
campaignId: z.ZodString;
|
|
29
|
+
budget: z.ZodObject<{
|
|
30
|
+
total: z.ZodNumber;
|
|
31
|
+
spent: z.ZodNumber;
|
|
32
|
+
remaining: z.ZodNumber;
|
|
33
|
+
currency: z.ZodString;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
currency: string;
|
|
36
|
+
total: number;
|
|
37
|
+
spent: number;
|
|
38
|
+
remaining: number;
|
|
39
|
+
}, {
|
|
40
|
+
currency: string;
|
|
41
|
+
total: number;
|
|
42
|
+
spent: number;
|
|
43
|
+
remaining: number;
|
|
44
|
+
}>;
|
|
45
|
+
flight: z.ZodObject<{
|
|
46
|
+
startDate: z.ZodString;
|
|
47
|
+
endDate: z.ZodString;
|
|
48
|
+
daysElapsed: z.ZodNumber;
|
|
49
|
+
daysRemaining: z.ZodNumber;
|
|
50
|
+
totalDays: z.ZodNumber;
|
|
51
|
+
}, "strip", z.ZodTypeAny, {
|
|
52
|
+
startDate: string;
|
|
53
|
+
endDate: string;
|
|
54
|
+
daysRemaining: number;
|
|
55
|
+
daysElapsed: number;
|
|
56
|
+
totalDays: number;
|
|
57
|
+
}, {
|
|
58
|
+
startDate: string;
|
|
59
|
+
endDate: string;
|
|
60
|
+
daysRemaining: number;
|
|
61
|
+
daysElapsed: number;
|
|
62
|
+
totalDays: number;
|
|
63
|
+
}>;
|
|
64
|
+
pacing: z.ZodObject<{
|
|
65
|
+
expectedSpendPercent: z.ZodNumber;
|
|
66
|
+
actualSpendPercent: z.ZodNumber;
|
|
67
|
+
pacingRatio: z.ZodNumber;
|
|
68
|
+
status: z.ZodEnum<["ON_PACE", "AHEAD", "BEHIND", "SEVERELY_BEHIND"]>;
|
|
69
|
+
projectedEndSpend: z.ZodNumber;
|
|
70
|
+
}, "strip", z.ZodTypeAny, {
|
|
71
|
+
status: "ON_PACE" | "AHEAD" | "BEHIND" | "SEVERELY_BEHIND";
|
|
72
|
+
pacingRatio: number;
|
|
73
|
+
projectedEndSpend: number;
|
|
74
|
+
expectedSpendPercent: number;
|
|
75
|
+
actualSpendPercent: number;
|
|
76
|
+
}, {
|
|
77
|
+
status: "ON_PACE" | "AHEAD" | "BEHIND" | "SEVERELY_BEHIND";
|
|
78
|
+
pacingRatio: number;
|
|
79
|
+
projectedEndSpend: number;
|
|
80
|
+
expectedSpendPercent: number;
|
|
81
|
+
actualSpendPercent: number;
|
|
82
|
+
}>;
|
|
83
|
+
timestamp: z.ZodString;
|
|
84
|
+
}, "strip", z.ZodTypeAny, {
|
|
85
|
+
advertiserId: string;
|
|
86
|
+
campaignId: string;
|
|
87
|
+
timestamp: string;
|
|
88
|
+
budget: {
|
|
89
|
+
currency: string;
|
|
90
|
+
total: number;
|
|
91
|
+
spent: number;
|
|
92
|
+
remaining: number;
|
|
93
|
+
};
|
|
94
|
+
flight: {
|
|
95
|
+
startDate: string;
|
|
96
|
+
endDate: string;
|
|
97
|
+
daysRemaining: number;
|
|
98
|
+
daysElapsed: number;
|
|
99
|
+
totalDays: number;
|
|
100
|
+
};
|
|
101
|
+
pacing: {
|
|
102
|
+
status: "ON_PACE" | "AHEAD" | "BEHIND" | "SEVERELY_BEHIND";
|
|
103
|
+
pacingRatio: number;
|
|
104
|
+
projectedEndSpend: number;
|
|
105
|
+
expectedSpendPercent: number;
|
|
106
|
+
actualSpendPercent: number;
|
|
107
|
+
};
|
|
108
|
+
}, {
|
|
109
|
+
advertiserId: string;
|
|
110
|
+
campaignId: string;
|
|
111
|
+
timestamp: string;
|
|
112
|
+
budget: {
|
|
113
|
+
currency: string;
|
|
114
|
+
total: number;
|
|
115
|
+
spent: number;
|
|
116
|
+
remaining: number;
|
|
117
|
+
};
|
|
118
|
+
flight: {
|
|
119
|
+
startDate: string;
|
|
120
|
+
endDate: string;
|
|
121
|
+
daysRemaining: number;
|
|
122
|
+
daysElapsed: number;
|
|
123
|
+
totalDays: number;
|
|
124
|
+
};
|
|
125
|
+
pacing: {
|
|
126
|
+
status: "ON_PACE" | "AHEAD" | "BEHIND" | "SEVERELY_BEHIND";
|
|
127
|
+
pacingRatio: number;
|
|
128
|
+
projectedEndSpend: number;
|
|
129
|
+
expectedSpendPercent: number;
|
|
130
|
+
actualSpendPercent: number;
|
|
131
|
+
};
|
|
132
|
+
}>;
|
|
133
|
+
export type GetPacingStatusInput = z.infer<typeof GetPacingStatusInputSchema>;
|
|
134
|
+
export type GetPacingStatusOutput = z.infer<typeof GetPacingStatusOutputSchema>;
|
|
135
|
+
export declare function getPacingStatusLogic(input: GetPacingStatusInput, _context: RequestContext, sdkContext?: SdkContext): Promise<GetPacingStatusOutput>;
|
|
136
|
+
export declare function getPacingStatusResponseFormatter(result: GetPacingStatusOutput, _input: GetPacingStatusInput): McpTextContent[];
|
|
137
|
+
export declare const getPacingStatusTool: ToolDefinition<typeof GetPacingStatusInputSchema, typeof GetPacingStatusOutputSchema>;
|
|
138
|
+
//# sourceMappingURL=get-pacing-status.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-pacing-status.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-pacing-status.tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWnE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;EAesB,CAAC;AAK9D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BI,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAKhF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,cAAc,EACxB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,qBAAqB,CAAC,CA4ChC;AAKD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,oBAAoB,GAC3B,cAAc,EAAE,CAkClB;AAKD,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAC9C,OAAO,0BAA0B,EACjC,OAAO,2BAA2B,CAiDnC,CAAC"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { resolveSessionServices } from "../utils/resolve-session.js";
|
|
3
|
+
import { daysBetween } from "../../../utils/date.js";
|
|
4
|
+
const TOOL_NAME = "dbm_get_pacing_status";
|
|
5
|
+
const TOOL_TITLE = "Get Pacing Status";
|
|
6
|
+
const TOOL_DESCRIPTION = "Get real-time pacing status for a campaign (actual vs expected delivery). Requires budget and flight dates as inputs.";
|
|
7
|
+
export const GetPacingStatusInputSchema = z
|
|
8
|
+
.object({
|
|
9
|
+
advertiserId: z.string().min(1).describe("DV360 Advertiser ID"),
|
|
10
|
+
campaignId: z.string().min(1).describe("The campaign ID to check pacing for"),
|
|
11
|
+
budgetTotal: z.number().min(0).describe("Total campaign budget in advertiser currency"),
|
|
12
|
+
flightStartDate: z
|
|
13
|
+
.string()
|
|
14
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format")
|
|
15
|
+
.describe("Campaign flight start date (YYYY-MM-DD)"),
|
|
16
|
+
flightEndDate: z
|
|
17
|
+
.string()
|
|
18
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format")
|
|
19
|
+
.describe("Campaign flight end date (YYYY-MM-DD)"),
|
|
20
|
+
currency: z.string().default("USD").describe("Currency code (default: USD)"),
|
|
21
|
+
})
|
|
22
|
+
.describe("Parameters for checking campaign pacing status");
|
|
23
|
+
export const GetPacingStatusOutputSchema = z
|
|
24
|
+
.object({
|
|
25
|
+
advertiserId: z.string(),
|
|
26
|
+
campaignId: z.string(),
|
|
27
|
+
budget: z.object({
|
|
28
|
+
total: z.number(),
|
|
29
|
+
spent: z.number(),
|
|
30
|
+
remaining: z.number(),
|
|
31
|
+
currency: z.string(),
|
|
32
|
+
}),
|
|
33
|
+
flight: z.object({
|
|
34
|
+
startDate: z.string(),
|
|
35
|
+
endDate: z.string(),
|
|
36
|
+
daysElapsed: z.number(),
|
|
37
|
+
daysRemaining: z.number(),
|
|
38
|
+
totalDays: z.number(),
|
|
39
|
+
}),
|
|
40
|
+
pacing: z.object({
|
|
41
|
+
expectedSpendPercent: z.number(),
|
|
42
|
+
actualSpendPercent: z.number(),
|
|
43
|
+
pacingRatio: z.number().describe("actual / expected (1.0 = on pace)"),
|
|
44
|
+
status: z.enum(["ON_PACE", "AHEAD", "BEHIND", "SEVERELY_BEHIND"]),
|
|
45
|
+
projectedEndSpend: z.number(),
|
|
46
|
+
}),
|
|
47
|
+
timestamp: z.string().datetime(),
|
|
48
|
+
})
|
|
49
|
+
.describe("Campaign pacing status result");
|
|
50
|
+
export async function getPacingStatusLogic(input, _context, sdkContext) {
|
|
51
|
+
const { bidManagerService } = resolveSessionServices(sdkContext);
|
|
52
|
+
const pacingStatus = await bidManagerService.getPacingStatus({
|
|
53
|
+
advertiserId: input.advertiserId,
|
|
54
|
+
campaignId: input.campaignId,
|
|
55
|
+
budgetTotal: input.budgetTotal,
|
|
56
|
+
flightStartDate: input.flightStartDate,
|
|
57
|
+
flightEndDate: input.flightEndDate,
|
|
58
|
+
});
|
|
59
|
+
const totalDays = daysBetween(input.flightStartDate, input.flightEndDate) + 1;
|
|
60
|
+
const today = new Date().toISOString().split("T")[0];
|
|
61
|
+
const effectiveEndDate = today < input.flightEndDate ? today : input.flightEndDate;
|
|
62
|
+
const daysElapsed = daysBetween(input.flightStartDate, effectiveEndDate) + 1;
|
|
63
|
+
return {
|
|
64
|
+
advertiserId: input.advertiserId,
|
|
65
|
+
campaignId: input.campaignId,
|
|
66
|
+
budget: {
|
|
67
|
+
total: input.budgetTotal,
|
|
68
|
+
spent: pacingStatus.spendToDate,
|
|
69
|
+
remaining: Math.max(0, input.budgetTotal - pacingStatus.spendToDate),
|
|
70
|
+
currency: input.currency,
|
|
71
|
+
},
|
|
72
|
+
flight: {
|
|
73
|
+
startDate: input.flightStartDate,
|
|
74
|
+
endDate: input.flightEndDate,
|
|
75
|
+
daysElapsed,
|
|
76
|
+
daysRemaining: pacingStatus.daysRemaining,
|
|
77
|
+
totalDays,
|
|
78
|
+
},
|
|
79
|
+
pacing: {
|
|
80
|
+
expectedSpendPercent: pacingStatus.expectedDeliveryPercent,
|
|
81
|
+
actualSpendPercent: pacingStatus.actualDeliveryPercent,
|
|
82
|
+
pacingRatio: pacingStatus.pacingRatio,
|
|
83
|
+
status: pacingStatus.status,
|
|
84
|
+
projectedEndSpend: pacingStatus.projectedEndSpend,
|
|
85
|
+
},
|
|
86
|
+
timestamp: new Date().toISOString(),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export function getPacingStatusResponseFormatter(result, _input) {
|
|
90
|
+
const statusEmoji = result.pacing.status === "ON_PACE"
|
|
91
|
+
? "[OK]"
|
|
92
|
+
: result.pacing.status === "AHEAD"
|
|
93
|
+
? "[AHEAD]"
|
|
94
|
+
: result.pacing.status === "BEHIND"
|
|
95
|
+
? "[BEHIND]"
|
|
96
|
+
: "[CRITICAL]";
|
|
97
|
+
return [
|
|
98
|
+
{
|
|
99
|
+
type: "text",
|
|
100
|
+
text: `Campaign "${result.campaignId}" Pacing Status:
|
|
101
|
+
|
|
102
|
+
${statusEmoji} Status: ${result.pacing.status}
|
|
103
|
+
|
|
104
|
+
Budget:
|
|
105
|
+
• Total: $${result.budget.total.toLocaleString()}
|
|
106
|
+
• Spent: $${result.budget.spent.toLocaleString()} (${result.pacing.actualSpendPercent.toFixed(1)}%)
|
|
107
|
+
• Remaining: $${result.budget.remaining.toLocaleString()}
|
|
108
|
+
|
|
109
|
+
Flight:
|
|
110
|
+
• ${result.flight.startDate} to ${result.flight.endDate}
|
|
111
|
+
• Days: ${result.flight.daysElapsed} elapsed / ${result.flight.totalDays} total
|
|
112
|
+
• Days Remaining: ${result.flight.daysRemaining}
|
|
113
|
+
|
|
114
|
+
Pacing Analysis:
|
|
115
|
+
• Expected Spend: ${result.pacing.expectedSpendPercent.toFixed(1)}%
|
|
116
|
+
• Actual Spend: ${result.pacing.actualSpendPercent.toFixed(1)}%
|
|
117
|
+
• Pacing Ratio: ${result.pacing.pacingRatio.toFixed(2)}x
|
|
118
|
+
• Projected End Spend: $${result.pacing.projectedEndSpend.toFixed(2)}`,
|
|
119
|
+
},
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
export const getPacingStatusTool = {
|
|
123
|
+
name: TOOL_NAME,
|
|
124
|
+
title: TOOL_TITLE,
|
|
125
|
+
description: TOOL_DESCRIPTION,
|
|
126
|
+
inputSchema: GetPacingStatusInputSchema,
|
|
127
|
+
outputSchema: GetPacingStatusOutputSchema,
|
|
128
|
+
annotations: {
|
|
129
|
+
readOnlyHint: true,
|
|
130
|
+
destructiveHint: false,
|
|
131
|
+
openWorldHint: false,
|
|
132
|
+
idempotentHint: true,
|
|
133
|
+
},
|
|
134
|
+
inputExamples: [
|
|
135
|
+
{
|
|
136
|
+
label: "Check pacing for a standard monthly campaign",
|
|
137
|
+
input: {
|
|
138
|
+
advertiserId: "1234567",
|
|
139
|
+
campaignId: "9876543",
|
|
140
|
+
budgetTotal: 50000,
|
|
141
|
+
flightStartDate: "2026-02-01",
|
|
142
|
+
flightEndDate: "2026-02-28",
|
|
143
|
+
currency: "USD",
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
label: "Check pacing for a short-burst campaign in GBP",
|
|
148
|
+
input: {
|
|
149
|
+
advertiserId: "7654321",
|
|
150
|
+
campaignId: "1122334",
|
|
151
|
+
budgetTotal: 10000,
|
|
152
|
+
flightStartDate: "2026-02-15",
|
|
153
|
+
flightEndDate: "2026-02-21",
|
|
154
|
+
currency: "GBP",
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
label: "Check pacing for a Q1 brand awareness campaign (default USD)",
|
|
159
|
+
input: {
|
|
160
|
+
advertiserId: "9988776",
|
|
161
|
+
campaignId: "5544332",
|
|
162
|
+
budgetTotal: 250000,
|
|
163
|
+
flightStartDate: "2026-01-01",
|
|
164
|
+
flightEndDate: "2026-03-31",
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
logic: getPacingStatusLogic,
|
|
169
|
+
responseFormatter: getPacingStatusResponseFormatter,
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=get-pacing-status.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-pacing-status.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-pacing-status.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RequestContext, McpTextContent } from "@cesteral/shared";
|
|
3
|
+
import type { SdkContext, ToolDefinition } from "@cesteral/shared";
|
|
4
|
+
export declare const GetPerformanceMetricsInputSchema: z.ZodObject<{
|
|
5
|
+
advertiserId: z.ZodString;
|
|
6
|
+
campaignId: z.ZodString;
|
|
7
|
+
startDate: z.ZodString;
|
|
8
|
+
endDate: z.ZodString;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
advertiserId: string;
|
|
11
|
+
campaignId: string;
|
|
12
|
+
startDate: string;
|
|
13
|
+
endDate: string;
|
|
14
|
+
}, {
|
|
15
|
+
advertiserId: string;
|
|
16
|
+
campaignId: string;
|
|
17
|
+
startDate: string;
|
|
18
|
+
endDate: string;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const GetPerformanceMetricsOutputSchema: z.ZodObject<{
|
|
21
|
+
advertiserId: z.ZodString;
|
|
22
|
+
campaignId: z.ZodString;
|
|
23
|
+
dateRange: z.ZodObject<{
|
|
24
|
+
startDate: z.ZodString;
|
|
25
|
+
endDate: z.ZodString;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
startDate: string;
|
|
28
|
+
endDate: string;
|
|
29
|
+
}, {
|
|
30
|
+
startDate: string;
|
|
31
|
+
endDate: string;
|
|
32
|
+
}>;
|
|
33
|
+
delivery: z.ZodObject<{
|
|
34
|
+
impressions: z.ZodNumber;
|
|
35
|
+
clicks: z.ZodNumber;
|
|
36
|
+
spend: z.ZodNumber;
|
|
37
|
+
conversions: z.ZodNumber;
|
|
38
|
+
revenue: z.ZodNumber;
|
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
|
40
|
+
impressions: number;
|
|
41
|
+
clicks: number;
|
|
42
|
+
spend: number;
|
|
43
|
+
conversions: number;
|
|
44
|
+
revenue: number;
|
|
45
|
+
}, {
|
|
46
|
+
impressions: number;
|
|
47
|
+
clicks: number;
|
|
48
|
+
spend: number;
|
|
49
|
+
conversions: number;
|
|
50
|
+
revenue: number;
|
|
51
|
+
}>;
|
|
52
|
+
performance: z.ZodObject<{
|
|
53
|
+
cpm: z.ZodNumber;
|
|
54
|
+
ctr: z.ZodNumber;
|
|
55
|
+
cpc: z.ZodNumber;
|
|
56
|
+
cpa: z.ZodNumber;
|
|
57
|
+
roas: z.ZodNumber;
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
cpm: number;
|
|
60
|
+
ctr: number;
|
|
61
|
+
cpc: number;
|
|
62
|
+
cpa: number;
|
|
63
|
+
roas: number;
|
|
64
|
+
}, {
|
|
65
|
+
cpm: number;
|
|
66
|
+
ctr: number;
|
|
67
|
+
cpc: number;
|
|
68
|
+
cpa: number;
|
|
69
|
+
roas: number;
|
|
70
|
+
}>;
|
|
71
|
+
timestamp: z.ZodString;
|
|
72
|
+
}, "strip", z.ZodTypeAny, {
|
|
73
|
+
advertiserId: string;
|
|
74
|
+
campaignId: string;
|
|
75
|
+
dateRange: {
|
|
76
|
+
startDate: string;
|
|
77
|
+
endDate: string;
|
|
78
|
+
};
|
|
79
|
+
timestamp: string;
|
|
80
|
+
delivery: {
|
|
81
|
+
impressions: number;
|
|
82
|
+
clicks: number;
|
|
83
|
+
spend: number;
|
|
84
|
+
conversions: number;
|
|
85
|
+
revenue: number;
|
|
86
|
+
};
|
|
87
|
+
performance: {
|
|
88
|
+
cpm: number;
|
|
89
|
+
ctr: number;
|
|
90
|
+
cpc: number;
|
|
91
|
+
cpa: number;
|
|
92
|
+
roas: number;
|
|
93
|
+
};
|
|
94
|
+
}, {
|
|
95
|
+
advertiserId: string;
|
|
96
|
+
campaignId: string;
|
|
97
|
+
dateRange: {
|
|
98
|
+
startDate: string;
|
|
99
|
+
endDate: string;
|
|
100
|
+
};
|
|
101
|
+
timestamp: string;
|
|
102
|
+
delivery: {
|
|
103
|
+
impressions: number;
|
|
104
|
+
clicks: number;
|
|
105
|
+
spend: number;
|
|
106
|
+
conversions: number;
|
|
107
|
+
revenue: number;
|
|
108
|
+
};
|
|
109
|
+
performance: {
|
|
110
|
+
cpm: number;
|
|
111
|
+
ctr: number;
|
|
112
|
+
cpc: number;
|
|
113
|
+
cpa: number;
|
|
114
|
+
roas: number;
|
|
115
|
+
};
|
|
116
|
+
}>;
|
|
117
|
+
export type GetPerformanceMetricsInput = z.infer<typeof GetPerformanceMetricsInputSchema>;
|
|
118
|
+
export type GetPerformanceMetricsOutput = z.infer<typeof GetPerformanceMetricsOutputSchema>;
|
|
119
|
+
export declare function getPerformanceMetricsLogic(input: GetPerformanceMetricsInput, _context: RequestContext, sdkContext?: SdkContext): Promise<GetPerformanceMetricsOutput>;
|
|
120
|
+
export declare function getPerformanceMetricsResponseFormatter(result: GetPerformanceMetricsOutput, input: GetPerformanceMetricsInput): McpTextContent[];
|
|
121
|
+
export declare const getPerformanceMetricsTool: ToolDefinition<typeof GetPerformanceMetricsInputSchema, typeof GetPerformanceMetricsOutputSchema>;
|
|
122
|
+
//# sourceMappingURL=get-performance-metrics.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-performance-metrics.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-performance-metrics.tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUnE,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;EAagB,CAAC;AAK9D,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBL,CAAC;AAE1C,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAK5F,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,0BAA0B,EACjC,QAAQ,EAAE,cAAc,EACxB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,2BAA2B,CAAC,CAmCtC;AAKD,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,0BAA0B,GAChC,cAAc,EAAE,CAqBlB;AAKD,eAAO,MAAM,yBAAyB,EAAE,cAAc,CACpD,OAAO,gCAAgC,EACvC,OAAO,iCAAiC,CA4CzC,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { resolveSessionServices } from "../utils/resolve-session.js";
|
|
3
|
+
const TOOL_NAME = "dbm_get_performance_metrics";
|
|
4
|
+
const TOOL_TITLE = "Get Performance Metrics";
|
|
5
|
+
const TOOL_DESCRIPTION = "Calculate performance metrics (CPM, CTR, CPA, ROAS) for a campaign within a date range";
|
|
6
|
+
export const GetPerformanceMetricsInputSchema = z
|
|
7
|
+
.object({
|
|
8
|
+
advertiserId: z.string().min(1).describe("DV360 Advertiser ID"),
|
|
9
|
+
campaignId: z.string().min(1).describe("The campaign ID to calculate metrics for"),
|
|
10
|
+
startDate: z
|
|
11
|
+
.string()
|
|
12
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format")
|
|
13
|
+
.describe("Start date in YYYY-MM-DD format"),
|
|
14
|
+
endDate: z
|
|
15
|
+
.string()
|
|
16
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format")
|
|
17
|
+
.describe("End date in YYYY-MM-DD format"),
|
|
18
|
+
})
|
|
19
|
+
.describe("Parameters for calculating performance metrics");
|
|
20
|
+
export const GetPerformanceMetricsOutputSchema = z
|
|
21
|
+
.object({
|
|
22
|
+
advertiserId: z.string(),
|
|
23
|
+
campaignId: z.string(),
|
|
24
|
+
dateRange: z.object({
|
|
25
|
+
startDate: z.string(),
|
|
26
|
+
endDate: z.string(),
|
|
27
|
+
}),
|
|
28
|
+
delivery: z.object({
|
|
29
|
+
impressions: z.number(),
|
|
30
|
+
clicks: z.number(),
|
|
31
|
+
spend: z.number(),
|
|
32
|
+
conversions: z.number(),
|
|
33
|
+
revenue: z.number(),
|
|
34
|
+
}),
|
|
35
|
+
performance: z.object({
|
|
36
|
+
cpm: z.number().describe("Cost per mille (spend / impressions * 1000)"),
|
|
37
|
+
ctr: z.number().describe("Click-through rate (clicks / impressions * 100)"),
|
|
38
|
+
cpc: z.number().describe("Cost per click (spend / clicks)"),
|
|
39
|
+
cpa: z.number().describe("Cost per acquisition (spend / conversions)"),
|
|
40
|
+
roas: z.number().describe("Return on ad spend (revenue / spend)"),
|
|
41
|
+
}),
|
|
42
|
+
timestamp: z.string().datetime(),
|
|
43
|
+
})
|
|
44
|
+
.describe("Performance metrics result");
|
|
45
|
+
export async function getPerformanceMetricsLogic(input, _context, sdkContext) {
|
|
46
|
+
const { bidManagerService } = resolveSessionServices(sdkContext);
|
|
47
|
+
const metrics = await bidManagerService.getPerformanceMetrics({
|
|
48
|
+
advertiserId: input.advertiserId,
|
|
49
|
+
campaignId: input.campaignId,
|
|
50
|
+
startDate: input.startDate,
|
|
51
|
+
endDate: input.endDate,
|
|
52
|
+
});
|
|
53
|
+
return {
|
|
54
|
+
advertiserId: input.advertiserId,
|
|
55
|
+
campaignId: input.campaignId,
|
|
56
|
+
dateRange: {
|
|
57
|
+
startDate: input.startDate,
|
|
58
|
+
endDate: input.endDate,
|
|
59
|
+
},
|
|
60
|
+
delivery: {
|
|
61
|
+
impressions: metrics.impressions,
|
|
62
|
+
clicks: metrics.clicks,
|
|
63
|
+
spend: metrics.spend,
|
|
64
|
+
conversions: metrics.conversions,
|
|
65
|
+
revenue: metrics.revenue,
|
|
66
|
+
},
|
|
67
|
+
performance: {
|
|
68
|
+
cpm: metrics.cpm,
|
|
69
|
+
ctr: metrics.ctr,
|
|
70
|
+
cpc: metrics.cpc,
|
|
71
|
+
cpa: metrics.cpa,
|
|
72
|
+
roas: metrics.roas,
|
|
73
|
+
},
|
|
74
|
+
timestamp: new Date().toISOString(),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export function getPerformanceMetricsResponseFormatter(result, input) {
|
|
78
|
+
return [
|
|
79
|
+
{
|
|
80
|
+
type: "text",
|
|
81
|
+
text: `Campaign ${input.campaignId} Performance (${input.startDate} to ${input.endDate}):
|
|
82
|
+
|
|
83
|
+
Performance Metrics:
|
|
84
|
+
• CPM: $${result.performance.cpm.toFixed(2)}
|
|
85
|
+
• CTR: ${result.performance.ctr.toFixed(2)}%
|
|
86
|
+
• CPC: $${result.performance.cpc.toFixed(2)}
|
|
87
|
+
• CPA: $${result.performance.cpa.toFixed(2)}
|
|
88
|
+
• ROAS: ${result.performance.roas.toFixed(2)}x
|
|
89
|
+
|
|
90
|
+
Base Delivery:
|
|
91
|
+
• Impressions: ${result.delivery.impressions.toLocaleString()}
|
|
92
|
+
• Clicks: ${result.delivery.clicks.toLocaleString()}
|
|
93
|
+
• Spend: $${result.delivery.spend.toFixed(2)}
|
|
94
|
+
• Conversions: ${result.delivery.conversions}
|
|
95
|
+
• Revenue: $${result.delivery.revenue.toFixed(2)}`,
|
|
96
|
+
},
|
|
97
|
+
];
|
|
98
|
+
}
|
|
99
|
+
export const getPerformanceMetricsTool = {
|
|
100
|
+
name: TOOL_NAME,
|
|
101
|
+
title: TOOL_TITLE,
|
|
102
|
+
description: TOOL_DESCRIPTION,
|
|
103
|
+
inputSchema: GetPerformanceMetricsInputSchema,
|
|
104
|
+
outputSchema: GetPerformanceMetricsOutputSchema,
|
|
105
|
+
annotations: {
|
|
106
|
+
readOnlyHint: true,
|
|
107
|
+
destructiveHint: false,
|
|
108
|
+
openWorldHint: false,
|
|
109
|
+
idempotentHint: true,
|
|
110
|
+
},
|
|
111
|
+
inputExamples: [
|
|
112
|
+
{
|
|
113
|
+
label: "Calculate KPIs for a campaign over the past month",
|
|
114
|
+
input: {
|
|
115
|
+
advertiserId: "1234567",
|
|
116
|
+
campaignId: "9876543",
|
|
117
|
+
startDate: "2026-01-01",
|
|
118
|
+
endDate: "2026-01-31",
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
label: "Evaluate performance over a short campaign flight",
|
|
123
|
+
input: {
|
|
124
|
+
advertiserId: "7654321",
|
|
125
|
+
campaignId: "1122334",
|
|
126
|
+
startDate: "2026-02-01",
|
|
127
|
+
endDate: "2026-02-14",
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
label: "Annual performance review for a large campaign",
|
|
132
|
+
input: {
|
|
133
|
+
advertiserId: "9988776",
|
|
134
|
+
campaignId: "5544332",
|
|
135
|
+
startDate: "2025-01-01",
|
|
136
|
+
endDate: "2025-12-31",
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
logic: getPerformanceMetricsLogic,
|
|
141
|
+
responseFormatter: getPerformanceMetricsResponseFormatter,
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=get-performance-metrics.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-performance-metrics.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-performance-metrics.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { getCampaignDeliveryTool } from "./get-campaign-delivery.tool.js";
|
|
2
|
+
export { getPerformanceMetricsTool } from "./get-performance-metrics.tool.js";
|
|
3
|
+
export { getHistoricalMetricsTool } from "./get-historical-metrics.tool.js";
|
|
4
|
+
export { getPacingStatusTool } from "./get-pacing-status.tool.js";
|
|
5
|
+
export { runCustomQueryTool } from "./run-custom-query.tool.js";
|
|
6
|
+
import { type ToolDefinitionForFactory } from "@cesteral/shared";
|
|
7
|
+
export declare const allTools: ToolDefinitionForFactory[];
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAQhE,OAAO,EAAoB,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAenF,eAAO,MAAM,QAAQ,EAAE,wBAAwB,EAG9C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export { getCampaignDeliveryTool } from "./get-campaign-delivery.tool.js";
|
|
2
|
+
export { getPerformanceMetricsTool } from "./get-performance-metrics.tool.js";
|
|
3
|
+
export { getHistoricalMetricsTool } from "./get-historical-metrics.tool.js";
|
|
4
|
+
export { getPacingStatusTool } from "./get-pacing-status.tool.js";
|
|
5
|
+
export { runCustomQueryTool } from "./run-custom-query.tool.js";
|
|
6
|
+
import { getCampaignDeliveryTool } from "./get-campaign-delivery.tool.js";
|
|
7
|
+
import { getPerformanceMetricsTool } from "./get-performance-metrics.tool.js";
|
|
8
|
+
import { getHistoricalMetricsTool } from "./get-historical-metrics.tool.js";
|
|
9
|
+
import { getPacingStatusTool } from "./get-pacing-status.tool.js";
|
|
10
|
+
import { runCustomQueryTool } from "./run-custom-query.tool.js";
|
|
11
|
+
import { conformanceTools } from "@cesteral/shared";
|
|
12
|
+
const productionTools = [
|
|
13
|
+
getCampaignDeliveryTool,
|
|
14
|
+
getPerformanceMetricsTool,
|
|
15
|
+
getHistoricalMetricsTool,
|
|
16
|
+
getPacingStatusTool,
|
|
17
|
+
runCustomQueryTool,
|
|
18
|
+
];
|
|
19
|
+
export const allTools = [
|
|
20
|
+
...productionTools,
|
|
21
|
+
...(process.env.MCP_INCLUDE_CONFORMANCE_TOOLS === "true" ? conformanceTools : []),
|
|
22
|
+
];
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAiC,MAAM,kBAAkB,CAAC;AAEnF,MAAM,eAAe,GAA+B;IAClD,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;IACxB,mBAAmB;IACnB,kBAAkB;CACnB,CAAC;AAOF,MAAM,CAAC,MAAM,QAAQ,GAA+B;IAClD,GAAG,eAAe;IAClB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;CAClF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { Logger } from "pino";
|
|
3
|
+
export declare function registerRunCustomQueryAsyncTool(server: McpServer, logger: Logger, sessionId?: string): void;
|
|
4
|
+
//# sourceMappingURL=run-custom-query-async.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-custom-query-async.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/run-custom-query-async.tool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAWnC,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CA+CN"}
|