export type Precision = 'fp32' | 'fp16' | 'bf16' | 'int8'; export type AttachmentPoint = 'residual_stream' | 'attention_output' | 'mlp_output'; export type SAEType = 'standard' | 'topk' | 'jumprelu' | 'gated' | 'batchtopk'; export type ActivationStatistic = 'max' | 'mean' | 'sum' | 'integral' | 'last'; export type CompletenessClaim = 'top_k_only' | 'all_above_threshold' | 'dictionary_exhaustive'; export type TiebreakerRule = 'lowest_feature_id' | 'highest_feature_id'; export type SignerRole = 'agent' | 'operator' | 'provider' | 'third_party_attester'; export interface ExecutionEnvironment { /** e.g. `nvidia/hopper/h100-sxm5` or `apple-silicon/m-series/m3-max` */ hardware_family: string; precision: Precision; /** `library@version` format, e.g. `vllm@0.6.3`. */ inference_engine: string; deterministic_mode: boolean; } export interface ModelRef { model_id: string; /** sha256 hex, 64 lowercase chars. */ model_version_hash: string; /** sha256 hex, 64 lowercase chars. */ tokenizer_version_hash: string; inference_provider: string | null; execution_environment: ExecutionEnvironment; } export interface DictionaryRef { dictionary_id: string; /** sha256 hex, 64 lowercase chars. */ dictionary_version_hash: string; /** sha256 hex, 64 lowercase chars, or null. */ training_corpus_hash: string | null; layer_index: number; attachment_point: AttachmentPoint; sae_type: SAEType; } export interface TokenRange { /** sha256 of uint32-big-endian token IDs from BOS through end-of-range, no separators. */ absolute_sequence_hash: string; /** sha256 of tokens preceding the attested range, or null. NOT a KV-cache hash. */ prior_state_hash: string | null; start_token_index: number; end_token_index: number; token_count: number; } export interface FeatureActivation { feature_id: number; feature_label: string | null; activation_statistic: ActivationStatistic; activation_value: number; tokens_active: number; } /** * Aggregation policy. Note: `attestation_epsilon` and `required_signer_roles` * are REQUIRED per the normative schema. The Python reference's smoke test * omitted them — this TS type makes that omission a compile error. */ export interface AggregationPolicy { top_k: number | null; threshold: number | null; /** Governance-relevant "effectively zero" threshold. Must be > 0. */ attestation_epsilon: number; /** sha256 hex of the allowlist, or null. */ feature_allowlist_hash: string | null; completeness_claim: CompletenessClaim; tiebreaker_rule: TiebreakerRule; /** At least one role. Verifiers MUST confirm every listed role is signed by someone. */ required_signer_roles: SignerRole[]; } export interface Signature { signer_did: string; signer_role: SignerRole; /** base64-encoded Ed25519 signature over JCS-canonicalized payload with signatures=[] elided. */ signature: string; } export interface CognitiveAttestation { spec_version: '1.0'; model_ref: ModelRef; dictionary_ref: DictionaryRef; token_range: TokenRange; feature_activations: FeatureActivation[]; aggregation_policy: AggregationPolicy; signatures: Signature[]; /** ISO 8601 UTC timestamp. */ attestation_timestamp: string; } /** Input to `buildAttestation`. Flat shape matches the Python reference. */ export interface BuildAttestationInput { model_id: string; model_version_hash: string; tokenizer_version_hash: string; inference_provider: string | null; hardware_family: string; precision: Precision; inference_engine: string; deterministic_mode: boolean; dictionary_id: string; dictionary_version_hash: string; training_corpus_hash: string | null; layer_index: number; attachment_point: AttachmentPoint; sae_type: SAEType; absolute_sequence_hash: string; prior_state_hash: string | null; start_token_index: number; end_token_index: number; token_count: number; feature_activations: FeatureActivation[]; aggregation_policy: AggregationPolicy; /** Override for deterministic fixtures. Defaults to `new Date().toISOString()`. */ timestamp?: string; } //# sourceMappingURL=types.d.ts.map