import type { ArtifactKind } from "./artifact.js"; /** Repository governance boundary determined from a normalized asset path. */ export type AssetScope = "independent" | "skill-local" | "repository-support" | "unknown"; /** Stable registry of deterministic asset-classification rules. */ export declare const ASSET_CLASSIFICATION_RULES: readonly ["skill-entrypoint", "skill-local-support", "context-root", "lens-root", "agent-root", "repository-tool", "config-file", "generic-profile", "generic-reference", "generic-example", "unknown"]; export type KnownAssetClassificationRule = (typeof ASSET_CLASSIFICATION_RULES)[number]; /** * Open wire value for classification rules. * * Consumers must retain unfamiliar future values and fail closed. Internal * classifiers use `KnownAssetClassificationRule` for exhaustiveness. */ export type AssetClassificationRule = KnownAssetClassificationRule | (string & Record); /** Stable registry of positive and competing asset-classification reasons. */ export declare const ASSET_CLASSIFICATION_REASON_CODES: readonly ["under-canonical-skill-root", "under-skill-support-directory", "outside-recognized-asset-boundary", "unsupported-skill-local-directory", "under-recognized-context-root", "under-recognized-lens-root", "under-recognized-agent-root", "repository-tool-not-context", "recognized-config-file", "under-generic-support-directory", "outside-recognized-skill-boundary", "outside-recognized-context-root"]; export type KnownAssetClassificationReasonCode = (typeof ASSET_CLASSIFICATION_REASON_CODES)[number]; /** Open wire value for classification reason codes. */ export type AssetClassificationReasonCode = KnownAssetClassificationReasonCode | (string & Record); /** Resolution state for the structurally implied parent of Skill-local support. */ export type ParentAssetResolution = "structural-candidate" | "resolved" | "missing" | "ambiguous"; /** Stable negative evidence for a nearby classification rule. */ export interface AssetCompetingRuleEvidence { rule: AssetClassificationRule; matched: false; reasonCode: AssetClassificationReasonCode; reason: string; } /** Deterministic, machine-readable evidence explaining one path classification. */ export interface AssetClassificationEvidence { kind: ArtifactKind; scope: AssetScope; matchedRule: AssetClassificationRule; reasonCode: AssetClassificationReasonCode; reason: string; recognizedRoot?: string; /** Structural path candidate; it does not prove that a parent asset exists. */ parentAssetCandidatePath?: string; /** Resolved parent source path; present only for one unambiguous parent. */ parentAssetPath?: string; parentResolution?: ParentAssetResolution; parentAssetCandidates?: string[]; supportDirectory?: string; ignoredNestedSegments?: string[]; competingRules?: AssetCompetingRuleEvidence[]; }