import { type BrandApiClientOptions } from "../api/client.js"; import type { components as PipelineComponents } from "../api/schema.pipeline.js"; /** Base path for the Brand Pipeline API. */ export declare const PIPELINE_BASE_PATH = "/stream/ai-pipeline-api"; type CreatePipelineRunResponse = PipelineComponents["schemas"]["CreatePipelineRunResponse"]; export interface RunBrandIngestionOptions { client: BrandApiClientOptions; brandKitId: string; /** * Whether the pipeline should populate the brand kit's sections with * the ingested content. Defaults to `true` — without it, sections * stay empty and `scai brand review` will keep crashing with the * 500 'name' bug ([[project-scai-brand-review-empty-kit-500]]). */ populateSections?: boolean; /** * Restrict ingestion to specific document IDs. The API wants this as * a single comma-separated string. When omitted, every unprocessed * document attached to the kit gets ingested. */ documentIds?: string[]; signal?: AbortSignal; } export interface RunEnrichSectionsOptions { client: BrandApiClientOptions; brandKitId: string; /** Restrict enrichment to specific section UUIDs. */ sectionIds?: string[]; /** Restrict enrichment to specific field UUIDs within those sections. */ fieldIds?: string[]; signal?: AbortSignal; } /** * Trigger the brand ingestion pipeline against a brand kit. * * The pipeline processes brand documents (uploaded via the Documents * API) and chunks them into knowledge pieces that drive brand-review * compliance scoring. When `populateSections: true` (the default), * the resulting brand knowledge also populates the kit's sections and * fields. * * The endpoint is fire-and-forget: it returns a run id + timestamps * but no completion status. There is no documented GET endpoint for * pipeline run status as of 2026-05-14 — callers waiting for * completion should poll the brand kit's sections list and watch for * section count to go from 0 to > 0. */ export declare const runBrandIngestionPipeline: (options: RunBrandIngestionOptions) => Promise; /** * Trigger the enrichment pipeline for an already-ingested brand kit. * Useful after the operator manually edits a brand kit field and * wants the AI to re-derive related sections. * * Same fire-and-forget shape as brand ingestion — no run-status GET * endpoint exists; poll the section/field contents to detect changes. */ export declare const runEnrichSectionsPipeline: (options: RunEnrichSectionsOptions) => Promise; export {};