Christian Klotz
8823891f3d
feat(agent): simplify session storage composition
2026-08-02 00:08:18 +03:00
Christian Klotz
1a7e1faa1f
fix(agent): synchronize array-backed entry indexes eagerly
2026-08-01 23:50:57 +03:00
Christian Klotz
6e48c10f5b
Merge pull request #7448 from earendil-works/feat/agent-branch-queries-v2
...
feat(agent): add bounded branch entry queries
2026-08-01 22:14:17 +03:00
Christian Klotz
4ecd1bbe67
test(agent): derive timeout output size from truncation limit
2026-08-01 21:30:35 +03:00
Christian Klotz
081d7fbfca
fix(agent): harden bounded branch queries
2026-08-01 21:26:55 +03:00
Christian Klotz
9b75872017
feat(agent): add bounded branch queries
2026-08-01 21:26:55 +03:00
Armin Ronacher
a1403af8ec
fix(agent): make timeout output test deterministic
2026-08-01 14:06:00 +02:00
Christian Klotz
e92bf60a58
fix(agent): make SQLite branch caching scalable
2026-08-01 10:08:56 +03:00
Christian Klotz
c2adb4d1da
fix(agent): use SQLite trigger for rollback test
2026-08-01 02:52:21 +03:00
Christian Klotz
57583617ef
fix(agent): make SQLite session operations linear
2026-08-01 02:11:22 +03:00
Christian Klotz
2366649ba4
fix(agent): avoid counting entries when opening sessions
2026-08-01 01:39:12 +03:00
Christian Klotz
2cc51b9d76
fix(agent): rename session fork module
2026-08-01 01:32:53 +03:00
Christian Klotz
53422a241a
feat(agent): add storage-owned session readers
2026-08-01 01:24:59 +03:00
Christian Klotz
a0bb4a489b
Merge pull request #7400 from earendil-works/refactor/sqlite-session-connection-cleanup
...
Remove obsolete SQLite session connection internals
2026-07-31 23:00:50 +03:00
Christian Klotz
62f3c61b68
feat(agent): add per-session store queues
2026-07-31 22:56:26 +03:00
Christian Klotz
9f4dfdddbf
fix(agent): remove obsolete SQLite session internals
2026-07-31 22:55:49 +03:00
Christian Klotz
9c3b271be0
fix(agent): make session search query-only
2026-07-31 18:31:04 +03:00
Christian Klotz
15f719489b
fix(agent): scope JSONL entry IDs by path
2026-07-31 17:59:16 +03:00
Christian Klotz
2b765ef529
fix(agent): restore forward session cursor reads
...
Document complete session store and search composition for scanning and canonical SQLite search.
2026-07-31 17:17:41 +03:00
Christian Klotz
4e81b79615
fix(agent): restrict session construction to repositories
2026-07-31 16:56:51 +03:00
Christian Klotz
f4a96c62b3
docs(agent): simplify session store guidance
2026-07-31 16:42:14 +03:00
Christian Klotz
0b229f1046
docs(agent): document session persistence migration
2026-07-31 16:37:13 +03:00
Christian Klotz
d937ee15d6
docs(agent): remove session API migration example
2026-07-31 16:23:57 +03:00
Christian Klotz
f90b8595db
fix(agent): update harness lifecycle tests
2026-07-31 16:20:59 +03:00
Christian Klotz
11679808c7
Merge remote-tracking branch 'origin/main' into refactor/session-store-file-names
...
* origin/main: (25 commits)
fix(tui): prevent phantom alt-screen selections
feat(tui): add draggable transient scrollbars
fix(coding-agent): avoid auth read lock contention
fix(ai): route Fireworks Kimi K3 through OpenAI compatibility
docs(client): document Bun Unix transport support
feat(client): add Unix socket transport
fix: forward autocompleteMaxVisible to custom editors (#7369 )
fix(ai): scope Codex sockets to accounts
docs(client): note promise helper removal
refactor(client): retain ES2022 compatibility
refactor(client): simplify lifecycle architecture
refactor(client): tighten lifecycle state modeling
feat(client): add runtime-neutral session client
fix(coding-agent): decouple auth lock error tests
fix: custom-compaction through provider via new model runtime complete (#7325 )
fix(ai): preserve Anthropic initial stream block content (#7358 )
fix(coding-agent): update vulnerable brace-expansion
fix(ai): keep signed empty text/thinking blocks in google history (#7362 )
feat(tui): add stacked alt-screen flashes (#7361 )
fix(coding-agent): reload credentials before reads
...
2026-07-31 16:20:00 +03:00
Christian Klotz
2132f8f75f
fix(agent): clarify session persistence ownership
2026-07-31 16:16:42 +03:00
Christian Klotz
7e121c67cf
refactor(client): tighten lifecycle state modeling
2026-07-31 12:19:19 +03:00
Christian Klotz
33bc0a7b83
feat(client): add runtime-neutral session client
...
Split harness shutdown initiation from settlement so callbacks can request shutdown without deadlocking active work.
2026-07-31 12:19:19 +03:00
Christian Klotz
8eda7d5020
fix(agent): type composed session stores explicitly
2026-07-31 10:37:12 +03:00
Christian Klotz
a1bb7e4483
fix(agent): expose session stores through factories
2026-07-31 10:28:59 +03:00
Christian Klotz
2700511e45
fix(agent): refine session repository API
2026-07-31 09:48:24 +03:00
Christian Klotz
9b50b046d3
Merge pull request #7163 from cristinaponcela/feat/search
...
feat: search index sqlite
2026-07-31 09:15:12 +03:00
Cristina Poncela Cubeiro
aa784e5eed
refactor, cleanup and conditionals for fts5
2026-07-31 05:51:24 +02:00
Cristina Poncela Cubeiro
c984b7c9e2
cleanup
2026-07-31 05:35:19 +02:00
Cristina Poncela Cubeiro
fb0f0f7cd5
rename: vars
2026-07-31 05:19:23 +02:00
Christian Klotz
9cde1725d7
fix(agent): preserve waitForIdle semantics
2026-07-30 22:22:47 +03:00
Christian Klotz
871a990479
refactor(agent): unify harness task tracking
2026-07-30 22:16:08 +03:00
Christian Klotz
bc031ae457
fix(agent): await mutations during harness shutdown
2026-07-30 22:07:37 +03:00
Christian Klotz
82c4859839
feat(agent): add harness shutdown lifecycle
2026-07-30 21:29:30 +03:00
Cristina Poncela Cubeiro
83a7f755cc
refactor and cleanup
2026-07-30 16:35:29 +02:00
Cristina Poncela Cubeiro
5e48d41ecd
refactor: repo facade
2026-07-30 14:07:58 +02:00
Mario Zechner
96eda8b47f
docs(agent): agent-loop building blocks in harness v2
...
New section 14: streamAssistant and the three-phase tool execution
blocks (prepare/execute/finalize) with durability callbacks, batch rules
(parallel vs sequential, length truncation, terminate), and the
unbreakable agent-loop.ts compatibility requirement with acceptance
criterion. Harness internals rewritten on top of the blocks: runToolBatch
with provisioned-id callbacks, reconciliation via phases 2+3, hook-to-
block wiring table. Auth surface removed from the stream block: Models
resolves auth per request; before_payload/after_response mount on
onPayload/onResponse. Sections 16-22 renumbered.
2026-07-30 12:59:09 +02:00
Armin Ronacher
71efc6f0c1
Add [Unreleased] section for next cycle
CI / build-check-test (push) Waiting to run
2026-07-30 00:24:23 +02:00
Armin Ronacher
845d6ff1f6
Release v0.83.0
2026-07-30 00:24:19 +02:00
Cristina Poncela Cubeiro
6a9591ae78
refactor: repo owns session and storage separately
2026-07-29 16:33:20 +02:00
Mario Zechner
4f0437e2d5
docs(agent): harness design v2 (harness-v2.md)
...
Restructured rewrite: concepts (session = tree + lanes + per-lane
operation logs + global facts), records and crash-site traces, recovery
as reduction, then API and implementation top-down. Renames refs to
lanes, generations to tasks; retires leaf entries, de-trees labels and
name, adds deferred provider requests (stopReason deferred, optional
fetchDeferred/cancelDeferred on ProviderStreams, deliberate lane
suspension), SQLite branch cache with tips and reverse lookup, Unix ms
timestamps. Supersedes harness.md.
2026-07-29 15:41:49 +02:00
Petr Houška
f9476a61e5
fix(ai): update TypeBox nullable array validation ( #7243 )
...
Bump TypeBox to 1.3.7 so compiled validators guard array-specific keywords when null is accepted, and cover tool-argument validation with a regression test.
Breaking for extensions: TypeBox 1.3 removes deprecated APIs including Type.Base, Type.Awaited, Type.Promise, Type.AsyncIterator, Type.Iterator, Type.Options, and Value.Mutate. Extensions using these through Pi's bundled TypeBox aliases must migrate to supported TypeBox APIs.
Fixes #7003
2026-07-29 10:31:07 +02:00
Cristina Poncela Cubeiro
3627c01179
fix: do not require index
2026-07-29 10:22:51 +02:00
Cristina Poncela Cubeiro
d5c37c65bf
refactor: composable Storage vs Search
2026-07-29 09:50:36 +02:00
Mario Zechner
fdbedcad8a
docs(agent): add refs to harness design
...
Refs: named movable leaf pointers, one active operation per ref, parallel
under one writer. AgentRef surface implemented by AgentHarness for main;
per-ref queues, persisted config, session views, scoped watch() plus
watchSession(). Per-ref recovery and operational-log partitioning (no
parenting; log order is causal order within a ref; session entries carry
no ref, membership derives from parent linkage). Labels and session name
de-treed to global latest-wins records with setter APIs. Named
append-only context invariant (KV cache rationale for deferred writes).
New traces, API examples, and open questions for review.
2026-07-28 16:08:11 +02:00