{
"$schema": "https://cmn.dev/schemas/v1/spore-core.json",
"id": "agent-first-http",
"name": "Agent-First HTTP",
"version": "0.8.0",
"domain": "agentfirstkit.com",
"key": "ed25519.BwbSzqdDYyMN1pPW5snRk3afrJAovHn8aueMvDpfNKVw",
"synopsis": "Give your AI agent its own private browser — so it reads the real page, past logins and bot walls, without ever touching yours.",
"intent": [
"Give AI agents a deterministic URL acquisition layer that reports status, final URL, headers, body artifacts, redirects, timing, and typed transport failures as structured JSONL instead of prose",
"Focus on pages and web resources that are hard for agents to acquire through a simple shell fetch: JavaScript-rendered, cookie- or session-bound, bot-walled, or XHR-injected pages a plain HTTP request cannot turn into usable artifacts",
"Preserve session identity for multi-step web workflows: scoped request defaults, concurrent requests, streaming bodies, downloads, and future browser-backed fetch state belong in one agent-readable session"
],
"license": "MIT",
"mutations": [
"Emit afhttp --version as an AFDATA protocol-v1 JSON event (name, display_name, version, build) via a clap-introspecting pre-parser instead of plain version text.",
"Stamp the build commit SHA into the version's build field via build.rs, falling back to \"unknown\" for crates.io tarball builds with no reachable git.",
"Migrate to agent-first-data 0.22 and its L1-L8 API (redaction policy, output style, infallible event builders), absorbing the retired agent-first-config crate.",
"Bump pinned browser backends to chrome-for-testing 151 and camoufox 152 beta.",
"Move the embedded skill to the skills/agent-first-http/SKILL.md layout and add Hermes as a skill install target alongside Codex, Claude Code, and opencode.",
"Rewrite the README into the canonical user guide with a coverage map, host/driver roles, worked examples, Rust SDK usage, and cross-spore collaboration notes, retiring docs/overview.md."
],
"bonds": [
{
"relation": "depends_on",
"uri": "cmn://agentfirstkit.com/b3.eDai9QqMqX9gR8Fayep7D2HiWCtLd4EW8o8UtwDgCaQ",
"id": "agent-first-data",
"reason": "All request/response fields use Agent-First Data suffix conventions, and runtime protocol/log events are emitted on stdout only"
}
],
"tree": {
"algorithm": "blob_tree_blake3_nfc",
"exclude_names": [
".git",
".cmn"
],
"follow_rules": [
".gitignore"
]
}
}