/** * Convex application seed binding — public API on `@angriff36/manifest/seed-pack`. * * Maps an IR sample seed pack to Convex mutation exports (`Entity_create`) and * emits a runner script that inserts rows via `ConvexHttpClient`. This is the * Manifest proof that seed-pack integrates into the Convex application contract. */ import type { IR } from '../ir.js'; import type { SeedPack } from './types.js'; export interface ConvexSeedEntityBinding { entity: string; /** Convex mutations export name: `${entity}_${command}`. */ createMutation: string | null; seedKeys: string[]; columns: string[]; rowCount: number; } export interface ConvexSeedBinding { packId: string; version: string; entities: ConvexSeedEntityBinding[]; pathHint: string; } export interface GenerateConvexSeedScriptOptions { /** Import path for ConvexHttpClient (default `convex/browser`). */ convexClientImport?: string; /** Import path for generated `api` (default `../convex/_generated/api`). */ apiImportPath?: string; /** Output path hint. */ output?: string; } /** * Describe how a seed pack binds to Convex create mutations for this IR. */ export declare function describeConvexSeedBinding(ir: IR, pack: SeedPack): ConvexSeedBinding; /** * Generate a Convex seed runner that calls create mutations for each pack row. * Entities without a Convex-persistent `create` mutation are skipped. * Blank/`{{fill}}` cells are type-heuristically filled; rows that still yield * empty args are skipped (never emit `mutation(..., {} as any)`). */ export declare function generateConvexSeedScript(ir: IR, pack: SeedPack, options?: GenerateConvexSeedScriptOptions): { code: string; binding: ConvexSeedBinding; }; //# sourceMappingURL=convex-binding.d.ts.map