hh
|
5b851c11d4
|
perf(panel): cached info and history paint first, lazy markdown up the thread, background prefetch
|
2026-09-02 05:16:13 +02:00 |
|
hh
|
2d903c7c5f
|
fix(panel): thread scroller opts out of scroll anchoring
|
2026-09-02 05:08:51 +02:00 |
|
hh
|
ef7474f636
|
fix(panel): composer no longer doubles the status-bar inset
|
2026-09-02 05:00:35 +02:00 |
|
hh
|
fe1c894b93
|
fix(panel): column-reverse thread keeps the bottom, no island in the plugin
|
2026-09-02 04:58:48 +02:00 |
|
hh
|
2815956f5b
|
feat(ui): times on injects and every spoken message
|
2026-09-02 04:52:26 +02:00 |
|
hh
|
c46ba026ba
|
feat(api): limits read unifiedWindows, unknown seven-day windows labelled by model
|
2026-09-02 04:46:43 +02:00 |
|
hh
|
81d6560bf7
|
style(ui): flat menu sheets, digests folded with job runs, shorter spend caption
|
2026-09-02 04:43:04 +02:00 |
|
hh
|
f35980ba85
|
feat(ui): graph on d3-force with steady labels, quieter quota text, flat rail
|
2026-09-02 04:35:01 +02:00 |
|
hh
|
c6401f1114
|
feat(ui): interactive graph, strip context menus, days by activity, message times, limit status words
|
2026-09-02 04:24:15 +02:00 |
|
hh
|
025f2dbc3f
|
feat(ui,api): strip board redesign - island, rail by day, context view, server search, vault graph
|
2026-09-02 03:48:26 +02:00 |
|
hh
|
85b14e2c2f
|
feat(telegram): stop generation from the client, questions survive a restart, images reach the model inline, albums become one turn
|
2026-09-02 02:11:44 +02:00 |
|
hh
|
7a8ee0f200
|
feat(markdown): thinking blocks between hidden tool calls collapse to the first one
|
2026-09-02 01:44:02 +02:00 |
|
hh
|
2d34d488d7
|
docs(examples): compose for the minimal setup - postgres, real env, no phase notes
|
2026-09-02 01:28:51 +02:00 |
|
hh
|
0e07e8409d
|
refactor: no comments left - one-line module docstrings, contracts on public fields only; jobs/job.py; example config and README
|
2026-09-02 00:33:04 +02:00 |
|
hh
|
3915ab48f9
|
refactor(telegram): every user-facing string lives in TelegramTexts with English defaults
|
2026-09-02 00:16:38 +02:00 |
|
hh
|
9aaddbed75
|
refactor: split flat core into capability packages, layer the conversations service, English defaults for every model-facing text
|
2026-09-02 00:13:20 +02:00 |
|
hh
|
253bde1b11
|
fix(telegram,conversations): attachments by day with sweep in both modes, merge renames the topic, gone topics unbind, failures visible
|
2026-09-01 23:13:22 +02:00 |
|
hh
|
61b5bda31a
|
feat(telegram): block-level markdown to html, wikilinks, tables, quotes, fence-safe chunking
|
2026-09-01 23:13:21 +02:00 |
|
hh
|
e2d611dd81
|
feat(agents,claude_sdk): skill sets per conversation kind
|
2026-09-01 23:13:21 +02:00 |
|
hh
|
bac40ff268
|
feat(scheduler,conversations,api): cron and schedule in the gateway tz, job runs persisted
|
2026-09-01 23:13:17 +02:00 |
|
hh
|
39f2bc05d9
|
chore(deps): claude-agent-sdk 0.2.150 bundles cli 2.1.257
|
2026-09-01 22:00:41 +02:00 |
|
hh
|
76d6f81789
|
fix(mcp,redact,gateway_tools): mask credentials in tool results, names kept and values gone
|
2026-09-01 14:12:49 +00:00 |
|
hh
|
8f9ca2800c
|
fix(redact,cli): mask credentials in every log line, silence httpx request urls
|
2026-09-01 14:12:49 +00:00 |
|
hh
|
f9bf51badf
|
feat(envelope,conversations): recall hook under the user text, user_sink for the setup's reply log
|
2026-09-01 16:08:53 +02:00 |
|
hh
|
90063a7cfe
|
fix(storage,api): usage cost as per-turn delta of the sdk running total, backfill
|
2026-09-01 15:37:53 +02:00 |
|
hh
|
a8491330fa
|
feat(injects,conversations,scheduler,gateway_tools,api): wake priority, master and parent aliases, scheduled injects start a turn
|
2026-08-30 20:34:12 +02:00 |
|
hh
|
064379ca90
|
fix(cli): mask query tokens in uvicorn access log
|
2026-08-30 18:30:26 +02:00 |
|
hh
|
e90963a6c3
|
feat(auth): bootstrap token entries carry an optional scope
|
2026-08-30 18:25:48 +02:00 |
|
hh
|
064d855382
|
feat(auth): query-string token for headerless webhook senders
|
2026-08-30 18:10:00 +02:00 |
|
hh
|
5d67cfcc9e
|
fix(gateway_tools,conversations): say refused in user turns, the reply reaches the human itself
|
2026-08-30 02:26:35 +02:00 |
|
hh
|
b4853b9fd0
|
feat(scheduler): job dedupe flag for webhooks that must not collapse
|
2026-08-29 22:15:15 +02:00 |
|
hh
|
2d12391176
|
fix(ui): chat keeps the bottom pinned while async markdown lands
|
2026-08-29 19:26:45 +02:00 |
|
hh
|
60dc7db925
|
feat(ui,api,telegram): shared conversation panel for obsidian and /admin/panel, bind materializes a window, inbox survives link previews
|
2026-08-29 18:30:33 +02:00 |
|
hh
|
be114e6eaf
|
feat(injects,conversations): configurable inject header, urgent inject marks the turn it cut
|
2026-08-29 17:07:43 +02:00 |
|
hh
|
4a59c59bda
|
fix(claude_sdk,conversations,rotation): context size from the last api call, new-day text by rotation reason
|
2026-08-29 16:54:29 +02:00 |
|
hh
|
72639c4b90
|
feat(policy,claude_sdk,cli,config_loader): pretooluse policy rules per agent, tool call audit, sibling imports for config
|
2026-08-29 15:27:26 +02:00 |
|
hh
|
1786406b31
|
feat(distill,conversations,scheduler,api,ui): close deep chats with a distiller fork, digest and index, idle and weekly state jobs
|
2026-08-29 03:15:39 +02:00 |
|
hh
|
12728b2eb4
|
refactor(envelope): drop the reply counter and the injects line, keep time and vault changes
|
2026-08-29 02:38:39 +02:00 |
|
hh
|
bc4233977d
|
feat(scheduler,rotation,envelope,api,ui): pgqueuer jobs and deferred injects, master rotation with handout, vault envelope, jobs page
|
2026-08-29 02:29:05 +02:00 |
|
hh
|
fd69eae05d
|
feat(conversations): pre-SDK rows read from canonical messages, implied titles, markdown adopts them by first prompt
|
2026-08-29 01:44:05 +02:00 |
|
hh
|
d3a3e7b1f1
|
fix(markdown): a rewritten assistant reply reseeds the session instead of resuming it
|
2026-08-29 01:37:52 +02:00 |
|
hh
|
772db11c7f
|
fix(ui): sidebar footer in one row, no user name
|
2026-08-29 01:19:58 +02:00 |
|
hh
|
4fb020c788
|
fix(ui): thread header counts only queued items; label the live dot
|
2026-08-29 01:08:44 +02:00 |
|
hh
|
932a7a80af
|
feat: one gateway port with path-mounted frontends, markdown chat, collapsible sidebars
|
2026-08-29 00:49:06 +02:00 |
|
hh
|
3ca5843868
|
feat(ui,api): chat view with live tail and autoscroll, conversation rail with last message previews
|
2026-08-29 00:18:08 +02:00 |
|
hh
|
8ea4cea3ef
|
feat(ui): endpoint catalog with copyable urls on the now page
|
2026-08-28 22:30:11 +02:00 |
|
hh
|
b6c5a80326
|
chore(ui): beaver favicon from beaver-land and impeccable design sidecar
|
2026-08-28 22:20:36 +02:00 |
|
hh
|
98796a82c6
|
feat(ui,api,admin): sveltekit admin spa, usage by day/agent/conversation/model, rate limits, memory tree, turn snapshot
|
2026-08-28 22:14:15 +02:00 |
|
hh
|
61562e947d
|
fix(backends): remember the session id from the first frame so a cut turn stays resumable
|
2026-08-28 19:38:47 +02:00 |
|
hh
|
609af9fe67
|
fix(core): a turn cut by shutdown keeps running_turn for recover
|
2026-08-28 19:33:26 +02:00 |
|