c120953b02
feat(frontends,conversations,telegram): the agent can hand a file to the human
main
dev/send-file
hh2026-09-08 14:04:44 +02:00
5eb9f435ec
feat(conversations): the recall hook and the user sink learn whose turn it is
hh2026-09-06 23:26:26 +02:00
e79e9fc149
feat(frontends,security,api,ui): a frontend can hold a token scope of its own
hh2026-09-06 23:16:28 +02:00
60782d6276
feat(ui,docs): the open tab lives in the conversation url, admin screenshots in the readme
hh2026-09-05 04:55:54 +02:00
421248b0ad
fix(ui): a stream that went quiet reconnects, the rail says so, the panel opens on the master
hh2026-09-05 00:20:03 +02:00
8019c76e53
fix(backends,conversations,telegram,ui): a background subagent reports back as its own turn
hh2026-09-04 20:23:33 +02:00
2afd3bc3c1
chore(ui): drop an unused suppression
hh2026-09-02 05:17:51 +02:00
5b851c11d4
perf(panel): cached info and history paint first, lazy markdown up the thread, background prefetch
hh2026-09-02 05:16:13 +02:00
2d903c7c5f
fix(panel): thread scroller opts out of scroll anchoring
hh2026-09-02 05:08:51 +02:00
ef7474f636
fix(panel): composer no longer doubles the status-bar inset
hh2026-09-02 05:00:35 +02:00
fe1c894b93
fix(panel): column-reverse thread keeps the bottom, no island in the plugin
hh2026-09-02 04:58:48 +02:00
2815956f5b
feat(ui): times on injects and every spoken message
hh2026-09-02 04:52:26 +02:00
c46ba026ba
feat(api): limits read unifiedWindows, unknown seven-day windows labelled by model
hh2026-09-02 04:46:43 +02:00
81d6560bf7
style(ui): flat menu sheets, digests folded with job runs, shorter spend caption
hh2026-09-02 04:43:04 +02:00
f35980ba85
feat(ui): graph on d3-force with steady labels, quieter quota text, flat rail
hh2026-09-02 04:35:01 +02:00
c6401f1114
feat(ui): interactive graph, strip context menus, days by activity, message times, limit status words
hh2026-09-02 04:24:15 +02:00
025f2dbc3f
feat(ui,api): strip board redesign - island, rail by day, context view, server search, vault graph
hh2026-09-02 03:48:26 +02:00
85b14e2c2f
feat(telegram): stop generation from the client, questions survive a restart, images reach the model inline, albums become one turn
hh2026-09-02 02:11:44 +02:00
7a8ee0f200
feat(markdown): thinking blocks between hidden tool calls collapse to the first one
hh2026-09-02 01:44:02 +02:00
2d34d488d7
docs(examples): compose for the minimal setup - postgres, real env, no phase notes
hh2026-09-02 01:28:51 +02:00
0e07e8409d
refactor: no comments left - one-line module docstrings, contracts on public fields only; jobs/job.py; example config and README
hh2026-09-02 00:33:04 +02:00
3915ab48f9
refactor(telegram): every user-facing string lives in TelegramTexts with English defaults
hh2026-09-02 00:16:38 +02:00
9aaddbed75
refactor: split flat core into capability packages, layer the conversations service, English defaults for every model-facing text
hh2026-09-02 00:13:20 +02:00
253bde1b11
fix(telegram,conversations): attachments by day with sweep in both modes, merge renames the topic, gone topics unbind, failures visible
hh2026-09-01 23:13:22 +02:00
5d67cfcc9e
fix(gateway_tools,conversations): say refused in user turns, the reply reaches the human itself
hh2026-08-30 02:26:35 +02:00
b4853b9fd0
feat(scheduler): job dedupe flag for webhooks that must not collapse
hh2026-08-29 22:15:15 +02:00
2d12391176
fix(ui): chat keeps the bottom pinned while async markdown lands
hh2026-08-29 19:26:45 +02:00
60dc7db925
feat(ui,api,telegram): shared conversation panel for obsidian and /admin/panel, bind materializes a window, inbox survives link previews
hh2026-08-29 18:30:33 +02:00
be114e6eaf
feat(injects,conversations): configurable inject header, urgent inject marks the turn it cut
hh2026-08-29 17:07:43 +02:00
4a59c59bda
fix(claude_sdk,conversations,rotation): context size from the last api call, new-day text by rotation reason
hh2026-08-29 16:54:29 +02:00
72639c4b90
feat(policy,claude_sdk,cli,config_loader): pretooluse policy rules per agent, tool call audit, sibling imports for config
hh2026-08-29 15:27:26 +02:00
1786406b31
feat(distill,conversations,scheduler,api,ui): close deep chats with a distiller fork, digest and index, idle and weekly state jobs
hh2026-08-29 03:15:39 +02:00
12728b2eb4
refactor(envelope): drop the reply counter and the injects line, keep time and vault changes
hh2026-08-29 02:38:39 +02:00
bc4233977d
feat(scheduler,rotation,envelope,api,ui): pgqueuer jobs and deferred injects, master rotation with handout, vault envelope, jobs page
hh2026-08-29 02:29:05 +02:00
fd69eae05d
feat(conversations): pre-SDK rows read from canonical messages, implied titles, markdown adopts them by first prompt
hh2026-08-29 01:44:05 +02:00
d3a3e7b1f1
fix(markdown): a rewritten assistant reply reseeds the session instead of resuming it
hh2026-08-29 01:37:52 +02:00
772db11c7f
fix(ui): sidebar footer in one row, no user name
hh2026-08-29 01:19:58 +02:00
4fb020c788
fix(ui): thread header counts only queued items; label the live dot
hh2026-08-29 01:08:44 +02:00
932a7a80af
feat: one gateway port with path-mounted frontends, markdown chat, collapsible sidebars
hh2026-08-29 00:49:06 +02:00
3ca5843868
feat(ui,api): chat view with live tail and autoscroll, conversation rail with last message previews
hh2026-08-29 00:18:08 +02:00
8ea4cea3ef
feat(ui): endpoint catalog with copyable urls on the now page
hh2026-08-28 22:30:11 +02:00
b6c5a80326
chore(ui): beaver favicon from beaver-land and impeccable design sidecar
hh2026-08-28 22:20:36 +02:00