II.
Adapter JSON
Structured · liveadapter:session-storage-adapter
session-storage-adapter json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "adapter:session-storage-adapter",
"_kind": "Adapter",
"_file": "extensions/adapters-canonical/canonical-adapteres.yaml",
"_cluster": "extensions",
"attributes": {
"displayName": "session-storage-adapter",
"protocolType": "session-storage",
"nativeSide": [
"JSONL",
"SQLite",
"JSON",
"JSONL-tree",
"JSONL+SQLite hybrid (Cursor)"
],
"canonicalSide": "Unified session schema + parse / serialize / listSessions / resume / fork operations",
"position": "Between Agent-Platform's session storage and consumers (replay, fork, audit, cross-agent migration)",
"bridgingConcerns": [
"file format translation (JSONL turn-per-line vs SQLite normalized tables vs hierarchical JSONL-tree)",
"per-agent session directory conventions (~/.claude/projects/<hash>/, ~/.codex/sessions/, ~/.cursor/sessions.db)",
"session ID format (UUID vs path-hash vs SQL primary key)",
"resume vs fork semantics where supported",
"fidelity-loss tracking (some formats lose tool-input bytes vs text)"
],
"catalogInputNodeKinds": [
"SessionSemantics",
"AgentVersion"
],
"trustChainParticipation": "none",
"description": "Strictly about reading and writing session files at rest. Distinct\nfrom agent-launch-adapter (which spawns Invocations) and agent-comm-adapter\n(in-flight events). Sessions follow created → active → suspended\n(resumable) → terminated.\n"
},
"outgoingEdges": [
{
"from": "adapter:session-storage-adapter",
"to": "layer:6-agent-platform",
"kind": "bridges_protocol_type",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:claude:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:codex:ge-0-119-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:cursor:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:gemini:ge-0-43-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "layer:6-agent-platform",
"kind": "bridges_protocol_type",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:claude:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:codex:ge-0-119-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:cursor:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:gemini:ge-0-43-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "layer:6-agent-platform",
"kind": "bridges_protocol_type",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:claude:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:codex:ge-0-119-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:cursor:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:gemini:ge-0-43-0",
"kind": "bridges_for",
"attributes": {}
},
{
"from": "adapter:session-storage-adapter",
"to": "agentVersion:opencode:ge-0-0-0",
"kind": "bridges_for",
"attributes": {}
}
],
"incomingEdges": []
}