Releases: opsworks-co/origin-cli
v0.20260521.0002 — Gemini new-chat detach
Hotfix: new Gemini chat now starts a new Origin session instead of appending to the previous chat's. Detach key for Gemini is transcript_path (per-chat session-.json).
v0.20260521.0001 — AI Blame & session capture rewrite
Multi-week rewrite of AI Blame and per-agent session capture, verified end-to-end on real prod sessions across Claude Code, Cursor, Codex, and Gemini.
Install:
```
origin upgrade
```
What's new
Capture (CLI)
- New
prompt-capture/module with one canonicalPromptCapture { promptIndex, promptText, agent, edits[], commits[] }shape and per-agent extractors:- Claude Code + Cursor — JSONL tool-call walker (Edit / MultiEdit / Write / replace).
- Gemini — single-JSON
messages/historywithfunctionCallparts. - Codex — rollout walker +
git showper commit, pre-resolved per-prompt timeline so commit attribution no longer degenerates to "all → last prompt".
- Strict-ID transcript discovery — kills cross-chat contamination:
- Cursor: matches
agent-transcripts/<conversation_id>/exactly. New chat = new Origin session. - Gemini: requires the recorded
sessionIdin the chat-file basename. - Codex: SQLite by exact
cwd = repoPathorid = threadId; no basenameLIKE, no "newest thread overall".
- Cursor: matches
agentSessionIdlocked at session-start. Codex anchors on the SQLitethreads.idresolved by exact cwd.
CLI surface
origin blame <file>now shows Agent + Author columns.--jsonexposes them too.- New
origin commithelper.
Per-prompt edit list (editsJson)
- New authoritative per-prompt edit list shipped from the CLI alongside the legacy git diff. The Origin dashboard renders blame attribution off the diff for safety, but
editsJsongives downstream tools an unambiguous "this prompt did this" signal.
Upgrade notes
Sessions captured by older CLIs may have wrong file lists or stale per-prompt diffs in the dashboard — the server-side Commit.patch fallback keeps them usable. New sessions are clean.
v0.20260428.0129 — Multi-agent attribution & shadow-sync
First release in this branch since v0.1.0 (~3 weeks of work, 180+ commits).
Brings the standalone CLI into full parity with the canonical source at
dolobanko/origin/packages/cli/.
Highlights
Per-agent prompt attribution (Codex, Gemini, Claude Code)
- Heartbeat reports the agent's current git branch every 30s, so the dashboard
reflects mid-sessiongit checkoutfor agents that don't fire a
user-prompt-submithook. - Post-commit hook walks the agent's own transcript
(~/.codex/sessions/*.jsonl.zst, Gemini transcript) for prompts with
timestamps and picks the prompt timestamped at-or-before each commit. No
more "all commits stamped under prompt #1" on the AI Blame view.
Shadow-sync of local commits
- New
POST /api/mcp/commits/ingestlands everygit commiton the
dashboard the moment it's created locally — nogit pushrequired.
Fire-and-forget from the post-commit hook, idempotent on (repoId, sha),
works whether or not Origin tracked the work that produced the commit.
Snapshots (only when they're useful)
- Pre-prompt and session-end snapshots dropped — they captured empty
states the user couldn't act on. - Per-turn auto-snapshot now gated on
linesAdded + linesRemoved > 0,
so the snapshots list reflects prompts that actually moved code. - The post-commit hook is now the canonical place a snapshot becomes
permanent.
Other
- New
transcript.tsformatTranscriptForDisplay({ verbose })overload,
plus pricing-table tests. enable.tsidempotency cleanups.- Dropped
checkpoint.ts— folded intosnapshot.ts. prepare-commit-msgaudit log no longer leaks paths.
Install / upgrade
origin upgrade…or grab the tarball below and npm install -g origin-cli-0.20260428.0129.tgz.
The tarball at getorigin.io/cli/origin-cli-latest.tgz is built from the
canonical source and tracks this release.
v0.1.0 — Stable Working Release
Origin CLI v0.1.0 — Stable Working Release
First stable release with full session tracking, multi-agent support, and governance features.
Features
- Session tracking for Claude Code, Cursor, Codex, Gemini, Aider, Windsurf
- Heartbeat daemon with proper session lifecycle (RUNNING → IDLE → ENDED)
- Server-side mutex lock for session dedup (prevents triple sessions from Codex)
- Cross-agent session isolation (agents don't kill each other's sessions)
- Per-line AI blame attribution
- Cost and token tracking per session/model/agent
- Policy enforcement (file restrictions, blocked patterns, cost limits)
- Git hook integration (post-commit, session-start, session-end, user-prompt-submit)
- Connected mode (Origin Solo/Team) — platform is source of truth for sessions
- CLI commands: init, sessions, blame, stats, explain, login
Session Lifecycle
- RUNNING: active session with live heartbeat
- IDLE: no prompt activity for 15 minutes (display only)
- ENDED: explicit session end or heartbeat death
- 2-hour abandoned safety net for zombie sessions
Bug Fixes in This Release
- Codex triple session dedup (server mutex + machineId)
- Cross-agent session kill prevention
- Heartbeat calls endSession on SIGTERM/SIGINT/SIGHUP
- Duplicate state file cleanup on session end
- Cursor reverted to stale-file-only PID detection (Electron compatibility)
- Codex stdout suppression (no more wall-of-text warnings)
- CLI shows RUNNING/IDLE/ENDED only (no review statuses)
Rollback Point
This is a known-good release. Use git checkout v0.1.0 to rollback if needed.