Commit Graph

25 Commits

Author SHA1 Message Date
Peter Steinberger
ecaa77313a refactor: normalize inbound context 2026-01-17 04:05:33 +00:00
Peter Steinberger
5ed3f45e57 fix: show provider/model labels in TUI 2026-01-16 01:13:14 +00:00
Peter Steinberger
488447d77f refactor: harden session store updates
Co-authored-by: Tyler Yust <tyler6204@users.noreply.github.com>
2026-01-15 23:41:34 +00:00
Peter Steinberger
9d28441c41 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00
Peter Steinberger
b74a102af7 refactor(src): split oversized modules 2026-01-14 01:17:56 +00:00
Peter Steinberger
ea979f0669 refactor!: rename chat providers to channels 2026-01-13 08:40:39 +00:00
Peter Steinberger
14b27c8f6b fix: keep main agent in list output 2026-01-12 17:24:03 +00:00
Peter Steinberger
a624a019fb fix: restore heartbeat defaults and model listing 2026-01-12 17:17:54 +00:00
Peter Steinberger
41a1ffe410 fix(sandbox): canonicalize agent main alias 2026-01-12 02:23:02 +00:00
Peter Steinberger
2570f88d74 fix(gateway): canonicalize main session aliases 2026-01-12 01:05:43 +00:00
user
fb8cef20cc fix(gateway): normalize session key to canonical form before store writes
Ensure 'main' alias is always stored as 'agent:main:main' to prevent
duplicate entries. Also update loadSessionEntry to check both forms
when looking up entries.

Fixes duplicate main sessions in session store.
2026-01-12 00:53:20 +00:00
Peter Steinberger
7bd3bf6bd6 refactor: normalize main session key handling 2026-01-09 22:30:15 +01:00
Peter Steinberger
3ac191d95d feat(sessions): label lookup tightening (#570) (thanks @azade-c) 2026-01-09 16:42:09 +01:00
Azade
3d40e40589 feat(sessions): expose label in sessions.list and support label lookup in sessions_send
- Add `label` field to session entries and expose it in `sessions.list`
- Display label column in the web UI sessions table
- Support `label` parameter in `sessions_send` for lookup by label instead of sessionKey

- `sessions.patch`: Accept and store `label` field
- `sessions.list`: Return `label` in session entries
- `sessions_spawn`: Pass label through to registry and announce flow
- `sessions_send`: Accept optional `label` param, lookup session by label if sessionKey not provided
- `agent` method: Accept `label` and `spawnedBy` params (stored in session entry)

- Add `label` column to sessions table in web UI

- Changed session store writes to merge with existing entry (`{ ...existing, ...new }`)
  to preserve fields like `label` that might be set separately

We attempted to implement label persistence "properly" by passing the label
through the `agent` call and storing it during session initialization. However,
the auto-reply flow has multiple write points that overwrite the session entry,
and making all of them merge-aware proved unreliable.

The working solution patches the label in the `finally` block of
`runSubagentAnnounceFlow`, after all other session writes complete.
This is a workaround but robust - the patch happens at the very end,
just before potential cleanup.

A future refactor could make session writes consistently merge-based,
which would allow the cleaner approach of setting label at spawn time.

```typescript
// Spawn with label
sessions_spawn({ task: "...", label: "my-worker" })

// Later, find by label
sessions_send({ label: "my-worker", message: "continue..." })

// Or use sessions_list to see labels
sessions_list() // includes label field in response
```
2026-01-09 15:32:49 +01:00
Peter Steinberger
947844117c feat: wire multi-agent config and routing
Co-authored-by: Mark Pors <1078320+pors@users.noreply.github.com>
2026-01-09 12:48:42 +00:00
Peter Steinberger
276f0b0407 feat: add usage cost reporting 2026-01-09 02:29:54 +00:00
Peter Steinberger
0c63327fdf feat(tui): add agent picker and agents list rpc 2026-01-09 01:05:10 +01:00
Shadow
36faf3a414 Threads: add Slack/Discord thread sessions 2026-01-07 19:30:30 +01:00
Peter Steinberger
f6180e2111 feat: add /reasoning reasoning visibility 2026-01-07 06:17:31 +01:00
Peter Steinberger
882bcaf414 feat: multi-agent routing + multi-account providers 2026-01-06 18:33:37 +00:00
Peter Steinberger
f291a88171 feat: sandbox session tool visibility 2026-01-06 08:40:30 +00:00
Peter Steinberger
f7cb3846f1 chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Peter Steinberger
5d2bfa8421 feat: add elevated bash mode 2026-01-04 05:15:59 +00:00
Peter Steinberger
a923d622a5 feat: add sessions tools and send policy 2026-01-03 23:44:42 +01:00
Peter Steinberger
714eb2af34 refactor: split gateway server helpers and tests 2026-01-03 17:34:52 +01:00