import { ResolvedPromptAI } from '@happyvertical/smrt-prompts'; /** * `AnalyticsProperty.analyzePerformance()` prompt. Only the human-readable * display name, provider label, and the requested period reach the model; * provider IDs, API secrets, and the providerMetadata blob are excluded. */ export declare const smrtAnalyticsAnalyzePerformancePrompt: import('@happyvertical/smrt-prompts').PromptDefinition; /** * `AnalyticsReport.analyzeResults()` prompt. Surfaces report name, the * dimension/metric labels (which are public GA4/Plausible/Matomo schema * names — not user data), the date-range window, and the row count plus * a JSON-stringified `resultData` blob. * * **`resultData` is forwarded verbatim.** This package does not strip PII * from result rows — it cannot, because the row schema is determined by * the dimensions/metrics the caller asked the analytics provider to * return. If the caller persists rows containing a `userPseudoId`, * `clientId`, IP-derived geolocation, or any other identifier, those * fields WILL reach the AI provider. Either: * * - exclude PII-bearing dimensions before persisting `resultData` * (e.g. don't request `userPseudoId` as a GA4 dimension), or * - apply a column allowlist at the call site before invoking * `analyzeResults()`, or * - override the prompt template via `PromptOverride` to redact rows. * * The forwarding contract is pinned by a regression test in * `__tests__/analytics-report-prompt.test.ts`. */ export declare const smrtAnalyticsAnalyzeResultsPrompt: import('@happyvertical/smrt-prompts').PromptDefinition; /** * `AnalyticsReport.hasPositiveTrends()` boolean classifier prompt. Same * variables as `analyzeResults` minus the descriptive name — only the * provider-schema metric labels and the aggregate `resultData` payload are * needed to decide whether the trend is positive. * * The template explicitly instructs the model to begin its response with * either "yes" or "no" so the boolean coercion in `hasPositiveTrends()` * (`/^\s*(yes|true)\b/i`) is reliable. Without the leading-word * instruction the model commonly answers with prose that happens to * describe positive trends but starts with a sentence like "The * conversion rate is up..." — the parser would then treat that as * `false` despite a positive analysis. Tenants overriding this template * MUST preserve the leading yes/no convention. */ export declare const smrtAnalyticsHasPositiveTrendsPrompt: import('@happyvertical/smrt-prompts').PromptDefinition; /** * Build the message-options object passed to `aiClient.message()` from a * `ResolvedPromptAI` shape. Mirrors the helper in `smrt-properties` and * `smrt-content` so behavior across packages is identical. */ export declare function promptMessageOptions(ai: ResolvedPromptAI): { maxTokens?: number | undefined; temperature?: number | undefined; model?: string | undefined; }; //# sourceMappingURL=prompts.d.ts.map