/**
* 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