Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
prosa
command
prosa is the local CLI: import, list, drill-down into agent sessions.
|
prosa is the local CLI: import, list, drill-down into agent sessions. |
|
prosa-panel
command
prosa-panel is the web UI for prosa.
|
prosa-panel is the web UI for prosa. |
|
prosa-server
command
prosa-server is the cross-device backend: receives push uploads, hosts FTS reads, and brokers CLI PKCE login.
|
prosa-server is the cross-device backend: receives push uploads, hosts FTS reads, and brokers CLI PKCE login. |
|
gen
|
|
|
internal
|
|
|
buildinfo
Package buildinfo exposes version metadata injected by release builds.
|
Package buildinfo exposes version metadata injected by release builds. |
|
cli
Package cli wires up the prosa CLI: cobra command tree, persistent flags, and the dispatcher for sub-commands.
|
Package cli wires up the prosa CLI: cobra command tree, persistent flags, and the dispatcher for sub-commands. |
|
cli/browser
Package browser opens URLs in the system default browser.
|
Package browser opens URLs in the system default browser. |
|
cli/render
Package render formats the prosa timeline for both interactive terminals (Lipgloss colors, day-grouped headers, active markers) and non-interactive sinks (pipes/redirects/scripts — plain tab-separated rows without escape codes).
|
Package render formats the prosa timeline for both interactive terminals (Lipgloss colors, day-grouped headers, active markers) and non-interactive sinks (pipes/redirects/scripts — plain tab-separated rows without escape codes). |
|
cli/rpc
Package rpc loads the saved auth.json and constructs Connect clients that automatically attach the Bearer token.
|
Package rpc loads the saved auth.json and constructs Connect clients that automatically attach the Bearer token. |
|
cli/schedule
Package schedule installs and removes the prosa-sync background job using the OS-native scheduler: launchd on macOS, systemd user timers on Linux.
|
Package schedule installs and removes the prosa-sync background job using the OS-native scheduler: launchd on macOS, systemd user timers on Linux. |
|
cli/spinner
Package spinner provides a Bubble Tea progress display for `prosa sync`.
|
Package spinner provides a Bubble Tea progress display for `prosa sync`. |
|
device
Package device resolves the stable per-machine identity prosa uses for the sessions.device_id column and the future server-side device row.
|
Package device resolves the stable per-machine identity prosa uses for the sessions.device_id column and the future server-side device row. |
|
httpserver
Package httpserver runs an *http.Server bound to a context, with a bounded graceful shutdown and a force-close fallback so CTRL+C always returns the prompt — even when long-lived handlers (SSE, streaming proxies) ignore request-context cancellation.
|
Package httpserver runs an *http.Server bound to a context, with a bounded graceful shutdown and a force-close fallback so CTRL+C always returns the prompt — even when long-lived handlers (SSE, streaming proxies) ignore request-context cancellation. |
|
importers/antigravity
Package antigravity implements the prosa importer for the Antigravity CLI (Google's `agy`, the successor to Gemini CLI).
|
Package antigravity implements the prosa importer for the Antigravity CLI (Google's `agy`, the successor to Gemini CLI). |
|
importers/claudecode
Package claudecode implements the prosa importer for Claude Code JSONL transcripts stored under ~/.claude/projects/.
|
Package claudecode implements the prosa importer for Claude Code JSONL transcripts stored under ~/.claude/projects/. |
|
importers/codex
Package codex implements the prosa importer for Codex CLI session JSONL transcripts stored under ~/.codex/sessions/<YYYY>/<MM>/<DD>/ rollout-*.jsonl.
|
Package codex implements the prosa importer for Codex CLI session JSONL transcripts stored under ~/.codex/sessions/<YYYY>/<MM>/<DD>/ rollout-*.jsonl. |
|
importers/cursor
Package cursor implements the prosa importer for Cursor "agent" chats preserved as SQLite databases under ~/.cursor/chats/<workspace>/<agent>/ store.db.
|
Package cursor implements the prosa importer for Cursor "agent" chats preserved as SQLite databases under ~/.cursor/chats/<workspace>/<agent>/ store.db. |
|
importers/gemini
Package gemini implements the prosa importer for Gemini CLI chat histories preserved under ~/.gemini/tmp/<projectHash>/.
|
Package gemini implements the prosa importer for Gemini CLI chat histories preserved under ~/.gemini/tmp/<projectHash>/. |
|
importers/hermes
Package hermes implements the prosa importer for Hermes CLI session histories preserved under ~/.hermes/.
|
Package hermes implements the prosa importer for Hermes CLI session histories preserved under ~/.hermes/. |
|
legacy
Package legacy reads the prosa v1 ".prosa" data bundle (a SQLite catalog + content-addressed zstd-compressed raw source files) so the v3 importers can re-ingest historical sessions whose original source files have since disappeared from the filesystem (e.g., Claude Code retention deleted ~/.claude/projects/.../*.jsonl past a few weeks).
|
Package legacy reads the prosa v1 ".prosa" data bundle (a SQLite catalog + content-addressed zstd-compressed raw source files) so the v3 importers can re-ingest historical sessions whose original source files have since disappeared from the filesystem (e.g., Claude Code retention deleted ~/.claude/projects/.../*.jsonl past a few weeks). |
|
panel
Package panel hosts the web UI for prosa.
|
Package panel hosts the web UI for prosa. |
|
panel/assets
Package assets embeds the panel's static files.
|
Package assets embeds the panel's static files. |
|
panel/charts
Package charts builds chart specs serialized to a JSON island and rendered client-side by Frappe Charts (see assets/charts-init.js).
|
Package charts builds chart specs serialized to a JSON island and rendered client-side by Frappe Charts (see assets/charts-init.js). |
|
panel/oauth
Package oauth speaks the minimal GitHub OAuth web flow needed by the panel: build the consent URL, exchange the code, fetch the primary verified email.
|
Package oauth speaks the minimal GitHub OAuth web flow needed by the panel: build the consent URL, exchange the code, fetch the primary verified email. |
|
panel/render
Package render turns canonical session content into the HTML the sidepanel template ships.
|
Package render turns canonical session content into the HTML the sidepanel template ships. |
|
panel/rpc
Package rpc wraps Connect clients that call prosa-server, pre-injecting "Authorization: Admin <token>" so callers never need to remember it.
|
Package rpc wraps Connect clients that call prosa-server, pre-injecting "Authorization: Admin <token>" so callers never need to remember it. |
|
panel/session
Package session implements the panel's HMAC-signed cookie.
|
Package session implements the panel's HMAC-signed cookie. |
|
panel/templates
Package templates holds the html/template sources rendered by the panel handlers.
|
Package templates holds the html/template sources rendered by the panel handlers. |
|
paths
Package paths centralizes resolution of prosa's on-disk locations so the rest of the codebase never hard-codes ~/...
|
Package paths centralizes resolution of prosa's on-disk locations so the rest of the codebase never hard-codes ~/... |
|
profiles
Package profiles loads and saves the local per-agent profile config (profiles.json).
|
Package profiles loads and saves the local per-agent profile config (profiles.json). |
|
projectid
Package projectid resolves the canonical identity of the project a prosa session ran in.
|
Package projectid resolves the canonical identity of the project a prosa session ran in. |
|
server
Package server hosts the prosa server runtime: config, HTTP wiring, Connect handlers, and storage adapters (Postgres + S3-compatible).
|
Package server hosts the prosa server runtime: config, HTTP wiring, Connect handlers, and storage adapters (Postgres + S3-compatible). |
|
server/auth
Package auth implements PKCE + localhost-callback login for the CLI and bearer middleware for all other RPCs.
|
Package auth implements PKCE + localhost-callback login for the CLI and bearer middleware for all other RPCs. |
|
server/handlers
Package handlers binds the Connect-generated service interfaces to the prosa internal/server services (auth, sessions, devices).
|
Package handlers binds the Connect-generated service interfaces to the prosa internal/server services (auth, sessions, devices). |
|
server/storage
Package storage wraps the Postgres pool and the S3-compatible object store.
|
Package storage wraps the Postgres pool and the S3-compatible object store. |
|
sessionkind
Package sessionkind classifies a session into zero-or-more "special session" kinds from the turns and tool counters an importer already projected.
|
Package sessionkind classifies a session into zero-or-more "special session" kinds from the turns and tool counters an importer already projected. |
|
sessiontext
Package sessiontext classifies and cleans the operational/meta blocks agents inject as user-role messages of a session.
|
Package sessiontext classifies and cleans the operational/meta blocks agents inject as user-role messages of a session. |
|
store
Package store wraps the local SQLite database that holds the canonical session metadata projected from raw agent transcripts.
|
Package store wraps the local SQLite database that holds the canonical session metadata projected from raw agent transcripts. |
|
migrations
|
|
|
local
Package local exposes the embedded SQLite migrations as an fs.FS so the store package can apply them at startup without depending on the filesystem at runtime.
|
Package local exposes the embedded SQLite migrations as an fs.FS so the store package can apply them at startup without depending on the filesystem at runtime. |
|
server
Package server exposes the embedded Postgres migrations as an fs.FS so the internal/server/storage package can apply them at startup without depending on the filesystem at runtime — same convention as migrations/local.
|
Package server exposes the embedded Postgres migrations as an fs.FS so the internal/server/storage package can apply them at startup without depending on the filesystem at runtime — same convention as migrations/local. |
|
pkg
|
|
|
importer
Package importer defines the plugin contract every per-agent connector implements to turn JSONL (or other) transcripts into canonical sessions.
|
Package importer defines the plugin contract every per-agent connector implements to turn JSONL (or other) transcripts into canonical sessions. |
|
session
Package session defines the canonical domain types every importer maps agent-specific session histories into.
|
Package session defines the canonical domain types every importer maps agent-specific session histories into. |
Click to show internal directories.
Click to hide internal directories.
