/** * Result of a single flow-node version pin check. * Returned in the array produced by `validateFlowVersions()` for every * node that declares a `requestedVersion`. * * @docLink packages/resolver/api-reference#version-check */ export interface VersionCheck { /** Flow node identifier. */ nodeId: string; /** Canonical skill identifier. */ skillId: string; /** Semver range from the flow node (e.g. "^1.0.0") */ requested: string; /** Version from the skill's frontmatter */ actual: string; /** Whether `actual` satisfies the `requested` semver range. */ satisfied: boolean; } /** * Minimal descriptor for a flow node that optionally pins a skill version. * Passed as input to `validateFlowVersions()`. Nodes without `requestedVersion` * are skipped during version checking. * * @docLink packages/resolver/api-reference#flow-version-node */ export interface FlowVersionNode { /** Flow node identifier. */ nodeId: string; /** Canonical skill identifier referenced by this node. */ skillId: string; /** Optional semver range the node requires (e.g. `"^1.2.0"`). Omit to skip version checking. */ requestedVersion?: string; } /** * Validate flow node version pins against discovered skill versions. * * Only checks nodes that declare a `requestedVersion`. Nodes without a * version pin are skipped entirely (no entry is produced for those nodes). * A check is marked `satisfied: false` when the range is invalid, the actual * version string is not valid semver, or the version does not satisfy the range. * * @param nodes - Flow nodes to check; only those with `requestedVersion` are evaluated * @param skillVersions - Map from skill ID to the semver version string in its frontmatter * @returns Array of `VersionCheck` results, one per node that declared a version pin * * @docLink packages/resolver/api-reference#validate-flow-versions */ export declare function validateFlowVersions(nodes: FlowVersionNode[], skillVersions: Map): VersionCheck[]; //# sourceMappingURL=version.d.ts.map