Public declaration syntax from forge-ts/packages/forge-core/src/brew-resolver.ts Original source SHA-256: 8b5bb8dcdb77beeb7af87ae638087572cdd0bb71db527a9673f2c54a7758daab Function bodies and constant values are omitted. This is not the complete implementation. Source line 35 export interface BrewEnvironment { /** Registered model providers, keyed by their `namespace:model` string. */ readonly providers: ReadonlyMap; /** Registered tool names available in this environment. */ readonly tools: ReadonlySet; /** Connected MCP server identifiers (URIs or aliases). */ readonly mcpServers: ReadonlySet; /** Web capabilities available in this environment. */ readonly webCapabilities: ReadonlySet; } Source line 53 export const BrewResolutionErrorKind /* type inferred in source */; Source line 67 export type BrewResolutionErrorKind = (typeof BrewResolutionErrorKind)[keyof typeof BrewResolutionErrorKind]; Source line 73 export interface BrewResolutionError { /** The node that failed resolution. */ readonly nodeId: NodeId; /** What went wrong. */ readonly errorKind: BrewResolutionErrorKind; } Source line 90 export interface ResolvedBrewPlan { /** Deterministic plan identifier (hash of brew_id + version + env hash). */ readonly planId: string; /** The original brew identifier. */ readonly brewId: BrewId; /** The original brew version. */ readonly brewVersion: BrewVersion; /** ISO 8601 timestamp of when resolution was performed. */ readonly resolvedAt: string; /** The resolved node execution order (topological sort). */ readonly executionOrder: readonly NodeId[]; /** The edges from the original brew. */ readonly edges: readonly BrewEdge[]; /** The entry nodes. */ readonly entryNodes: readonly NodeId[]; /** The exit nodes. */ readonly exitNodes: readonly NodeId[]; } Source line 132 export function resolve( brew: Brew, env: BrewEnvironment, ): ResolvedBrewPlan;