/**
 * sinks.ts — Report delivery sink configuration.
 *
 * Sinks receive published evaluation reports and deliver them to external
 * systems (BigQuery, Slack, GitHub, webhooks, etc.).
 *
 * Sinks are fire-and-forget: a sink failure is logged but never blocks
 * the pipeline. The Sanity Content Lake is the system of record.
 *
 * Sinks activate only when their required environment variables are present.
 * A developer running locally with no env vars gets zero sinks.
 *
 * @see docs/design-docs/report-store/sink-architecture.md
 */

import { defineSinks } from "../_vendor/ailf-core/index.js"

export default defineSinks({
  sinks: [
    // All sinks are currently disabled (commented out in YAML).
    // Uncomment and configure as needed:
    // BigQuery — disabled; Airbyte ELT is the primary delivery mechanism
    // { type: "bigquery", enabled: false, project: env("BIGQUERY_PROJECT", "data-platform-302218"),
    //   dataset: env("BIGQUERY_DATASET", "ailf"), credentials: env("GOOGLE_APPLICATION_CREDENTIALS", "") },
    // Slack — regression alerts to configured channels
    // { type: "slack", enabled: true, webhookUrl: env("SLACK_WEBHOOK_URL", ""),
    //   channel: "#docs-ai-literacy",
    //   routing: { critical: "#docs-alerts", warning: "#docs-team",
    //              regression: "#docs-team", digest: "#docs-weekly" } },
    // GitHub PR comments
    // { type: "github-comment", enabled: false, token: env("GITHUB_TOKEN", "") },
    // Webhook — generic HTTP relay
    // { type: "webhook", enabled: false, url: env("AILF_WEBHOOK_URL", ""),
    //   headers: { Authorization: `Bearer ${env("AILF_WEBHOOK_TOKEN", "")}` },
    //   routing: { critical: true } },
  ],
})
