/** * @fileoverview GDELT tone distribution tool. Returns a histogram of article tone * scores for articles matching a query, revealing emotional distribution of coverage. * @module mcp-server/tools/definitions/get-tone-distribution.tool */ import { z } from '@cyanheads/mcp-ts-core'; import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors'; export declare const gdeltGetToneDistribution: import("@cyanheads/mcp-ts-core").ToolDefinition; startDatetime: z.ZodOptional; endDatetime: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ histogram: z.ZodArray>; }, z.core.$strip>>; summary: z.ZodObject<{ peakNegativeBin: z.ZodOptional; peakPositiveBin: z.ZodOptional; neutralPct: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, readonly [{ readonly reason: "invalid_date_range"; readonly code: JsonRpcErrorCode.ValidationError; readonly when: "Only one of startDatetime / endDatetime was supplied, one of them is not a real UTC calendar timestamp, or startDatetime is not earlier than endDatetime."; readonly recovery: "Supply both startDatetime and endDatetime as real UTC calendar timestamps, with startDatetime earlier than endDatetime, or omit both and use timespan instead."; }, { readonly reason: "invalid_query"; readonly code: JsonRpcErrorCode.ValidationError; readonly when: "GDELT rejected the query string as malformed — bad keyword length, unbalanced parentheses, or an illegal character."; readonly recovery: "Read the recovery hint for the specific rule GDELT rejected, then fix the query and retry."; readonly thrownBy: "service"; }, { readonly reason: "gdelt_rate_limited"; readonly code: JsonRpcErrorCode.RateLimited; readonly when: "GDELT rejected the request for its one-request-per-five-seconds limit, or too many requests were already queued for this one to start in time."; readonly retryable: false; readonly recovery: "Wait at least 5 seconds before retrying; GDELT accepts at most one request every 5 seconds."; readonly thrownBy: "service"; }, { readonly reason: "gdelt_unavailable"; readonly code: JsonRpcErrorCode.ServiceUnavailable; readonly when: "GDELT DOC API is unreachable or temporarily returned no usable data."; readonly retryable: true; readonly recovery: "Retry after a short delay; GDELT may be temporarily unavailable."; readonly thrownBy: "service"; }], { readonly effectiveQuery: z.ZodString; readonly totalCount: z.ZodNumber; readonly startDatetime: z.ZodOptional; readonly endDatetime: z.ZodOptional; readonly notice: z.ZodOptional; }>; //# sourceMappingURL=get-tone-distribution.tool.d.ts.map