Crate semantic_dom_ssg

Crate semantic_dom_ssg 

Source
Expand description

§semantic-dom-ssg

Machine-readable web semantics for AI agents.

This crate provides O(1) element lookup, deterministic navigation, and token-efficient serialization formats optimized for LLM consumption.

§Features

  • O(1) Lookup: Hash-indexed nodes via AHashMap
  • State Graph: Explicit FSM for UI states and transitions
  • Agent Summary: ~100 tokens vs ~800 for JSON (87% reduction)
  • Security: Input validation, URL sanitization, size limits

§Quick Start

use semantic_dom_ssg::{SemanticDOM, Config};

let html = r#"<html><body><main><button>Submit</button></main></body></html>"#;
let sdom = SemanticDOM::parse(html, Config::default()).unwrap();

// O(1) lookup by iterating index
for (id, node) in &sdom.index {
    println!("{}: {}", id, node.label);
}

// Token-efficient summary (~100 tokens)
let summary = sdom.to_agent_summary();
println!("{}", summary);

§Security

This crate implements security hardening:

  • Input size limits (10MB default)
  • URL protocol validation (https, http, file only)
  • No script execution (HTML parsing only)

Structs§

AgentCertification
Agent certification result
Config
Configuration for SemanticDOM parsing
SecurityConfig
Security configuration for SemanticDOM operations
SemanticDOM
The main SemanticDOM structure
SemanticNode
A semantic node in the DOM tree
State
A state in the Semantic State Graph
StateGraph
The Semantic State Graph
TokenComparison
Token usage comparison result
Transition
A transition between states in the SSG
ValidationCheck
A validation check result

Enums§

CertificationLevel
Certification levels based on compliance
Error
Errors that can occur during SemanticDOM operations
SemanticIntent
User intent classification for an element
SemanticRole
Semantic role for an element based on ARIA and HTML5 semantics

Constants§

STANDARD
Standard reference
VERSION
Crate version

Functions§

compare_token_usage
Compare token usage between formats
to_agent_summary
Generate a token-efficient agent summary
to_audio_summary
Generate an audio/screen-reader friendly summary
to_nav_summary
Generate a navigation-focused summary
to_one_liner
Generate a one-line summary (~20 tokens)
validate_url
Validate a URL against security rules

Type Aliases§

Result
Result type for SemanticDOM operations