/** * THE briefing pack — everything a writer is told about the PRODUCT, assembled * once and handed to both generation rungs byte for byte. * * The two rungs are the screen agent (a document out of this host's components) * and the box (real code on a machine). They used to be told different things: * the screen agent got the theme, the design rules and the tool shape card and * never saw `.vendo/brief.md`; the box got neither theme, nor rules, nor * catalog, nor brief. Product knowledge that only one writer has is a silent * gap — the person cannot tell which rung answered, so both must know the same * things. * * INSTRUCTIONS are the other half and stay per-rung on purpose: the screen * agent's dialect manual and the box's scaffold task brief are different jobs. * This file renders knowledge, never instructions. */ import { z } from "zod"; import { type VendoRouteMap, type VendoTheme } from "./catalog.js"; /** One host component, as a writer needs to know about it: the name it may use * and the FIRST line of its description (d5). THE host rendering — the umbrella's * own second copy of this list is gone. */ export interface CatalogSummaryEntry { name: string; description: string; } export interface BriefingPack { /** `.vendo/theme.json`, verbatim — the tokens an island actually styles with, * never a one-line summary of them. Absent when the host set no theme. */ theme?: VendoTheme; /** `.vendo/design-rules.md` (or `apps.designRules`), verbatim. */ designRules?: string; /** `.vendo/brief.md` — what this product IS. */ brief?: string; /** The host's own components, one line each. */ catalog: readonly CatalogSummaryEntry[]; /** The pages this product registered — the whole vocabulary a `` may * name. Absent when the host registered none, which is "nothing may link". */ routes?: VendoRouteMap; /** The semantics-annotated tool shape card: what every tool a binding may * name really returns, in this host's own units. */ hostSemantics: string; } export declare const catalogSummaryEntrySchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; description: string; }, { name: string; description: string; }>; export declare const briefingPackSchema: z.ZodType; /** * ONE rendering. Both rungs get these exact bytes. * * The section wording is the wording the screen agent already read, so the pack * is a redistribution of what a writer is told rather than a rewrite of it: * `THEME TOKENS:` and `HOST DESIGN RULES:` are unchanged, "(none provided)" is * still the difference between a model that knows there are no house rules and * one that was never told either way, and the component lines keep the catalog * summary's `- name: first line` shape. */ export declare function renderBriefingPack(pack: BriefingPack): string; /** The catalog's one-line reduction, applied. A multi-line description keeps * only its first line — the known, accepted edge of d5. */ export declare const catalogSummaryEntries: (catalog: ReadonlyArray<{ name: string; description: string; }>) => CatalogSummaryEntry[]; //# sourceMappingURL=briefing.d.ts.map