chore: prepare v0.5.0 release
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
Below is a concrete implementation spec for adding **Anthropic Claude Code (“claude” CLI / Agent SDK runtime)** as a first-class engine in Takopi (v0.2.0).
|
||||
Below is a concrete implementation spec for the **Anthropic Claude Code (“claude” CLI / Agent SDK runtime)** runner shipped in Takopi (v0.3.0).
|
||||
|
||||
---
|
||||
|
||||
@@ -6,7 +6,7 @@ Below is a concrete implementation spec for adding **Anthropic Claude Code (“c
|
||||
|
||||
### Goal
|
||||
|
||||
Add a new engine backend **`claude`** so Takopi can:
|
||||
Provide the **`claude`** engine backend so Takopi can:
|
||||
|
||||
* Run Claude Code non-interactively via the **Agent SDK CLI** (`claude -p`). ([Claude Code][1])
|
||||
* Stream progress in Telegram by parsing **`--output-format stream-json --verbose`** (newline-delimited JSON). Note: `--output-format` only works with `-p/--print`. ([Claude Code][1])
|
||||
@@ -24,11 +24,11 @@ Add a new engine backend **`claude`** so Takopi can:
|
||||
|
||||
### Engine selection
|
||||
|
||||
* Existing: `takopi codex`
|
||||
* New: `takopi claude`
|
||||
* Default: `takopi` (auto-router uses `default_engine` from config)
|
||||
* Override: `takopi claude`
|
||||
|
||||
Takopi requires an explicit engine subcommand; `takopi` alone prints the engine
|
||||
selection panel and exits.
|
||||
Takopi runs in auto-router mode by default; `takopi claude` or `/claude` selects
|
||||
Claude for new threads.
|
||||
|
||||
### Resume UX (canonical line)
|
||||
|
||||
@@ -74,11 +74,11 @@ Recommended v1 schema:
|
||||
```toml
|
||||
# .takopi/takopi.toml
|
||||
|
||||
engine = "claude"
|
||||
default_engine = "claude"
|
||||
|
||||
[claude]
|
||||
model = "claude-sonnet-4-5-20250929" # optional (Claude Code supports model override in settings too)
|
||||
allowed_tools = "Bash,Read,Edit" # optional but strongly recommended for automation
|
||||
allowed_tools = ["Bash", "Read", "Edit"] # optional but strongly recommended for automation
|
||||
dangerously_skip_permissions = false # optional (high risk; prefer sandbox use only)
|
||||
use_api_billing = false # optional (keep ANTHROPIC_API_KEY for API billing)
|
||||
```
|
||||
@@ -365,13 +365,13 @@ Mirror the existing `CodexRunner` tests patterns.
|
||||
|
||||
---
|
||||
|
||||
## Implementation checklist
|
||||
## Implementation checklist (v0.3.0)
|
||||
|
||||
* [ ] Export `BACKEND = EngineBackend(...)` from `src/takopi/runners/claude.py`.
|
||||
* [ ] Add `src/takopi/runners/claude.py` implementing the `Runner` protocol.
|
||||
* [ ] Add tests + stub executable fixtures.
|
||||
* [ ] Update README and developing docs.
|
||||
* [ ] Run full test suite.
|
||||
* [x] Export `BACKEND = EngineBackend(...)` from `src/takopi/runners/claude.py`.
|
||||
* [x] Add `src/takopi/runners/claude.py` implementing the `Runner` protocol.
|
||||
* [x] Add tests + stub executable fixtures.
|
||||
* [x] Update README and developing docs.
|
||||
* [ ] Run full test suite before release.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Claude Code -> Takopi event mapping (spec)
|
||||
|
||||
This document specifies how to add a Claude Code runner to Takopi by translating
|
||||
Claude CLI `--output-format stream-json` JSONL events into Takopi events. It is
|
||||
based on the reverse-engineered schema in `humanlayer/claudecode-go`:
|
||||
This document specifies how the Claude Code runner (implemented in Takopi v0.3.0)
|
||||
translates Claude CLI `--output-format stream-json` JSONL events into Takopi events.
|
||||
It is based on the reverse-engineered schema in `humanlayer/claudecode-go`:
|
||||
|
||||
- `claudecode-go/types.go` (StreamEvent, Message, Content, Result)
|
||||
- `claudecode-go/client.go` (CLI flags, stream parsing)
|
||||
@@ -196,18 +196,18 @@ without transformation. Optionally include `modelUsage` inside `usage` or
|
||||
|
||||
---
|
||||
|
||||
## 7. Implementation checklist (handoff)
|
||||
## 7. Implementation checklist (v0.3.0)
|
||||
|
||||
Add a Claude runner without changing the Takopi domain model:
|
||||
Claude runner implementation summary (no Takopi domain model changes):
|
||||
|
||||
1. Create `takopi/runners/claude.py` implementing `Runner` and (custom)
|
||||
1. [x] Create `takopi/runners/claude.py` implementing `Runner` and (custom)
|
||||
resume parsing.
|
||||
2. Define `BACKEND` in `takopi/runners/claude.py`:
|
||||
2. [x] Define `BACKEND` in `takopi/runners/claude.py`:
|
||||
- `install_cmd`: install command for the `claude` binary
|
||||
- `build_runner`: read `[claude]` config + construct runner
|
||||
3. Add new docs (this file + `claude-stream-json-cheatsheet.md`).
|
||||
4. Add fixtures in `tests/fixtures/` (see below).
|
||||
5. Add unit tests mirroring `tests/test_codex_*` but for Claude translation
|
||||
3. [x] Add new docs (this file + `claude-stream-json-cheatsheet.md`).
|
||||
4. [x] Add fixtures in `tests/fixtures/` (see below).
|
||||
5. [x] Add unit tests mirroring `tests/test_codex_*` but for Claude translation
|
||||
and resume parsing (recommended, not required for initial handoff).
|
||||
|
||||
---
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# OpenCode Runner
|
||||
|
||||
This runner integrates with the [OpenCode CLI](https://github.com/sst/opencode).
|
||||
Shipped in Takopi v0.5.0.
|
||||
|
||||
## Installation
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# OpenCode to Takopi Event Mapping
|
||||
|
||||
This document describes how OpenCode JSON events are translated to Takopi's normalized event model.
|
||||
The OpenCode runner shipped in Takopi v0.5.0.
|
||||
|
||||
## Event Translation
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Below is a concrete implementation spec for adding **Pi (pi-coding-agent CLI)** as a first-class engine in Takopi (v0.4.0).
|
||||
Below is a concrete implementation spec for the **Pi (pi-coding-agent CLI)** runner shipped in Takopi (v0.5.0).
|
||||
|
||||
---
|
||||
|
||||
@@ -6,7 +6,7 @@ Below is a concrete implementation spec for adding **Pi (pi-coding-agent CLI)**
|
||||
|
||||
### Goal
|
||||
|
||||
Add a new engine backend **`pi`** so Takopi can:
|
||||
Provide the **`pi`** engine backend so Takopi can:
|
||||
|
||||
* Run Pi non-interactively via the **pi CLI** (`pi --print`).
|
||||
* Stream progress by parsing **`--mode json`** (newline-delimited JSON). Each line is a JSON object.
|
||||
@@ -23,8 +23,8 @@ Add a new engine backend **`pi`** so Takopi can:
|
||||
|
||||
### Engine selection
|
||||
|
||||
* Existing: `takopi codex`
|
||||
* New: `takopi pi`
|
||||
* Default: `takopi` (auto-router uses `default_engine` from config)
|
||||
* Override: `takopi pi`
|
||||
|
||||
### Resume UX (canonical line)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Pi -> Takopi event mapping (spec)
|
||||
|
||||
This document specifies how to add a Pi runner to Takopi by translating
|
||||
This document specifies how the Pi runner shipped in Takopi v0.5.0 translates
|
||||
Pi CLI `--mode json` JSONL events into Takopi events. The Pi JSONL stream is
|
||||
`AgentSessionEvent` from `@mariozechner/pi-agent-core`.
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Takopi Specification v0.4.0 [2026-01-01]
|
||||
# Takopi Specification v0.5.0 [2026-01-02]
|
||||
|
||||
This document is **normative**. The words **MUST**, **SHOULD**, and **MAY** express requirements.
|
||||
|
||||
## 1. Scope
|
||||
|
||||
Takopi v0.4.0 specifies:
|
||||
Takopi v0.5.0 specifies:
|
||||
|
||||
- A **Telegram** bot bridge that runs an agent **Runner** and posts:
|
||||
- a throttled, edited **progress message**
|
||||
@@ -15,7 +15,7 @@ Takopi v0.4.0 specifies:
|
||||
- **Automatic runner selection** among multiple engines based on ResumeLine (with a configurable default for new threads)
|
||||
- A Takopi-owned **normalized event model** produced by runners and consumed by renderers/bridge
|
||||
|
||||
Out of scope for v0.4.0:
|
||||
Out of scope for v0.5.0:
|
||||
|
||||
- Non-Telegram clients (Slack/Discord/etc.)
|
||||
- Token-by-token streaming of the assistant’s final answer
|
||||
@@ -405,6 +405,10 @@ Test tooling SHOULD include event factories, deterministic/fake time, and a scri
|
||||
|
||||
## 10. Changelog
|
||||
|
||||
### v0.5.0 (2026-01-02)
|
||||
|
||||
- No normative changes; align spec version with the v0.5.0 release.
|
||||
|
||||
### v0.4.0 (2026-01-01)
|
||||
|
||||
- Add auto-router engine selection by polling all runners to decode resume lines; add configurable default engine for new threads (subcommand overrides default).
|
||||
|
||||
Reference in New Issue
Block a user