/** * Public entry point for the GitHub Actions → GitLab CI migration tool. * * Lazy-imports `@intentius/chant-lexicon-github` so users who don't need * migration don't pay the install cost (the github lexicon is an optional * peer dependency of `@intentius/chant-lexicon-gitlab`). */ import type { TemplateIR } from "@intentius/chant/import/parser"; import type { LintDiagnostic } from "@intentius/chant/lint/rule"; import { type ProvenanceRecord } from "./provenance.js"; import type { ActionMappingRegistry } from "./actions/registry.js"; import "./actions/index.js"; export interface MigrateOptions { /** Output format. */ emit?: "yaml" | "ts"; /** Enable composite-pattern recognition (Node patterns in v1). */ useComposites?: boolean; /** Source file path for provenance (display only). */ sourceFile?: string; /** Inject a custom action mapping registry for testing. */ registry?: ActionMappingRegistry; /** Escalate needs-review diagnostics to errors. */ strict?: boolean; /** * Security-aware migration (#306): classify each security property's fate * across the edge and run the GitLab security post-synth checks against the * migrated YAML. Enabled by the CLI's `--validate` path. */ security?: boolean; } export interface MigrationResult { /** GitLab IR (consumed by `chant import`-style tools downstream). */ ir: TemplateIR; /** Rendered output (YAML by default, TS when emit: "ts"). */ output: string; /** Per-key provenance records. */ provenance: ProvenanceRecord[]; /** SARIF-shaped diagnostics derived from provenance. */ diagnostics: LintDiagnostic[]; /** Inferred stage list. */ stages: string[]; /** Markdown "Security posture" section (#306). */ securityPosture: string; } /** * Migrate a GitHub Actions workflow YAML into GitLab CI. * * @param yamlContent raw .github/workflows/*.yml content * @param opts migration options */ export declare function transform(yamlContent: string, opts?: MigrateOptions): Promise; /** * Lightweight detector: does this YAML look like a GitHub Actions workflow? * Used by the plugin's `migrationSource("github")` extension. */ export declare function detectGitHubWorkflow(content: string): boolean; export { ProvenanceAccumulator } from "./provenance.js"; export type { ProvenanceRecord, ProvenanceCategory } from "./provenance.js"; export type { ActionMapping, ActionMapCtx, ActionMappedResult, ActionMappingRegistry } from "./actions/registry.js"; export { createRegistry, getDefaultRegistry, lookupAction } from "./actions/registry.js"; //# sourceMappingURL=index.d.ts.map