Contents

ryu0118/agentsessions

A Swift library to read and parse conversation sessions from AI coding agents.

Supported Agents

  • Claude Code
  • Codex
  • Cursor

Usage

import AgentSessions

// List all sessions across all agents
let readers = SessionReaderFactory.make()
for reader in readers {
    let summaries = try await reader.listSessions()
    for summary in summaries {
        print("\(summary.source.rawValue): \(summary.id)\(summary.lastUserMessage ?? "")")
    }
}

// Load a specific session
let conversation = try await readers[0].loadSession(id: "session-id")
for message in conversation?.messages ?? [] {
    print("[\(message.role.rawValue)] \(message.decodedContent(for: conversation!.source))")
}

Installation

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/Ryu0118/AgentSessions.git", from: "0.1.0"),
]
.target(
    name: "YourTarget",
    dependencies: [
        .product(name: "AgentSessions", package: "AgentSessions"),
    ]
)

Requirements

  • Swift 6.0+
  • macOS 15+

License

MIT

Package Metadata

Repository: ryu0118/agentsessions

Default branch: main

README: README.md