/** * An address, as `reads:`, `agent-from:` and the other `-from` keys write it: * a name, then fields (`plan.output.subtasks`). * * An address is a CEL field selection, so it is parsed and typed by the very * code that types a condition, and the two can never disagree on what * `plan.output.subtasks` names. The one difference is prose: an address may * name an agent's text whole, to hand it to the next agent. */ import type { ValueType } from "../type.ts"; import { type Readable } from "./compile.ts"; /** Why an address was refused. */ export type AddressProblem = { readonly code: "invalid-address" | "unknown-address"; readonly message: string; }; /** The type an address names, or why it names none. */ export type TypedAddress = { readonly ok: true; readonly type: ValueType; } | { readonly ok: false; readonly problems: readonly AddressProblem[]; }; /** The type `source` names among `readable`. */ export declare function typeOfAddress(source: string, readable: Readable): TypedAddress; //# sourceMappingURL=address.d.ts.map