Ettore Di Giacinto and Claude Sonnet 5.5
62d75c0de0
feat(memory): serve the notes through a provider slot
...
Memory is the first provider slot. The person picks one provider for the
notes: the built-in one, Off, or an add-on that declares the slot. The
choice is kept per person with the other host settings.
Core stays generic. providerslots.go lists the providers of a slot,
stores and resolves the choice, and gates an add-on that declares a slot:
its context files, skills and role tools count only while it is the
provider picked, and the chat can narrow a slot off for itself. The
notes wire into it in memory.go: an adapter gives the add-on's files and
skills behind the MemoryProvider interface, the built-in provider stops
reading while another serves, and the On or Off switch and the choice
stay one answer.
If the add-on that was picked stops, is disabled or is removed, memory is
off with the code memory_provider_unavailable and the add-on is named.
It never falls back to the built-in provider, so a note is not read or
saved where the person did not choose. The choice stays stored.
Add GET /api/chats/providers, GET and PUT /api/chats/providers/{slot}.
Settings > Memory lists the providers from that answer with a generic
picker, shows the failure with the shared Notice and offers to use the
built-in provider. Document the facility for add-on authors, and test it
with a fake add-on that provides the slot.
Assisted-by: Claude:claude-sonnet-5-5 go
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01DjrQyk8ovFXvy5zrjHX1BD
2026-11-05 00:59:43 +00:00
..
2026-11-04 19:45:08 +00:00
2026-11-04 18:04:50 +00:00
2026-11-04 18:26:20 +00:00
2026-11-04 18:01:50 +00:00
2026-11-04 18:03:27 +00:00
2026-11-03 22:33:28 +00:00
2026-11-04 17:25:40 +00:00
2026-11-03 16:56:49 +00:00
2026-11-03 10:58:46 +00:00
2026-11-02 23:50:40 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-04 18:26:20 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 10:43:37 +00:00
2026-11-04 18:03:27 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 19:23:01 +00:00
2026-11-01 18:30:08 +01:00
2026-11-01 18:30:08 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-04 14:54:15 +00:00
2026-11-01 12:08:23 +01:00
2026-11-05 00:59:43 +00:00
2026-11-03 08:39:12 +00:00
2026-11-03 22:33:28 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 19:10:39 +00:00
2026-11-04 19:02:54 +00:00
2026-11-04 10:17:23 +00:00
2026-11-01 12:08:23 +01:00
2026-11-04 18:03:27 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:33:05 +00:00
2026-11-01 12:08:23 +01:00
2026-11-04 10:17:23 +00:00
2026-11-03 19:10:39 +00:00
2026-11-03 19:12:29 +00:00
2026-11-01 18:30:08 +01:00
2026-11-01 18:30:08 +01:00
2026-11-05 00:59:43 +00:00
2026-11-03 14:45:43 +00:00
2026-11-05 00:59:43 +00:00
2026-11-03 22:46:22 +00:00
2026-11-05 00:59:43 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:33:05 +00:00
2026-11-01 18:30:08 +01:00
2026-11-03 14:33:05 +00:00
2026-11-03 14:33:05 +00:00
2026-11-03 14:33:05 +00:00
2026-11-03 14:33:05 +00:00
2026-11-03 14:33:05 +00:00
2026-11-03 14:33:05 +00:00
2026-11-03 08:30:08 +00:00
2026-11-01 12:08:23 +01:00
2026-11-04 18:26:20 +00:00
2026-11-03 19:10:39 +00:00
2026-11-04 19:45:08 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-04 09:14:18 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:45:43 +00:00
2026-11-03 14:45:43 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 19:38:55 +00:00
2026-11-03 14:00:45 +00:00
2026-11-03 14:33:05 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 19:10:39 +00:00
2026-11-03 22:46:22 +00:00
2026-11-04 19:45:08 +00:00
2026-11-04 19:45:08 +00:00
2026-11-04 14:54:15 +00:00
2026-11-04 19:45:08 +00:00
2026-11-04 19:45:08 +00:00
2026-11-01 12:08:23 +01:00
2026-11-04 17:25:40 +00:00
2026-11-03 22:02:30 +00:00
2026-11-04 17:45:59 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 18:30:08 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:32:01 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 10:43:37 +00:00
2026-11-01 18:30:08 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 18:30:08 +01:00
2026-11-03 22:33:28 +00:00
2026-11-03 22:33:28 +00:00
2026-11-03 22:33:28 +00:00
2026-11-04 19:45:08 +00:00
2026-11-04 19:45:08 +00:00
2026-11-04 10:11:25 +00:00
2026-11-03 21:17:39 +00:00
2026-11-03 21:17:39 +00:00
2026-11-03 21:17:39 +00:00
2026-11-04 19:45:08 +00:00
2026-11-04 19:45:08 +00:00
2026-11-04 18:03:27 +00:00
2026-11-03 22:02:30 +00:00
2026-11-03 22:33:28 +00:00
2026-11-04 17:18:41 +00:00
2026-11-04 17:18:41 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 13:50:05 +00:00
2026-11-04 10:11:25 +00:00
2026-11-04 13:50:05 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 18:03:27 +00:00
2026-11-03 16:57:04 +00:00
2026-11-03 16:57:04 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 13:35:18 +00:00
2026-11-04 18:03:27 +00:00
2026-11-03 14:00:31 +00:00
2026-11-04 18:03:27 +00:00
2026-11-03 14:00:31 +00:00
2026-11-04 09:14:18 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 17:18:41 +00:00
2026-11-04 17:18:41 +00:00
2026-11-04 17:18:41 +00:00
2026-11-03 21:29:29 +00:00
2026-11-04 13:50:05 +00:00
2026-11-04 09:14:18 +00:00
2026-11-04 17:18:41 +00:00
2026-11-03 16:57:04 +00:00
2026-11-03 21:28:48 +00:00
2026-11-04 18:03:27 +00:00
2026-11-03 16:57:04 +00:00
2026-11-03 16:57:04 +00:00
2026-11-04 13:35:18 +00:00
2026-11-03 14:32:01 +00:00
2026-11-04 17:18:41 +00:00
2026-11-04 13:44:22 +00:00
2026-11-04 09:12:09 +00:00
2026-11-04 13:44:22 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 16:57:04 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 09:12:09 +00:00
2026-11-04 09:12:09 +00:00
2026-11-04 13:50:05 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 17:18:41 +00:00
2026-11-04 13:44:22 +00:00
2026-11-04 13:44:22 +00:00
2026-11-03 14:59:30 +00:00
2026-11-04 10:17:23 +00:00
2026-11-03 16:57:04 +00:00
2026-11-04 09:14:18 +00:00
2026-11-04 18:03:27 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-04 18:26:20 +00:00
2026-11-04 17:25:40 +00:00
2026-11-04 18:26:20 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:00:45 +00:00
2026-11-03 22:33:28 +00:00
2026-11-03 10:58:46 +00:00
2026-11-03 10:58:46 +00:00
2026-11-03 10:58:46 +00:00
2026-11-03 10:58:46 +00:00
2026-11-02 18:48:39 +01:00
2026-11-03 10:43:37 +00:00
2026-11-03 10:43:37 +00:00
2026-11-03 10:58:46 +00:00
2026-11-03 10:58:46 +00:00
2026-11-03 11:31:36 +00:00
2026-11-03 11:31:37 +00:00
2026-11-02 23:50:40 +00:00
2026-11-02 23:50:40 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 16:57:04 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:56:42 +00:00
2026-11-04 18:04:50 +00:00
2026-11-04 18:04:50 +00:00
2026-11-04 18:04:50 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-04 18:04:50 +00:00
2026-11-04 18:04:50 +00:00
2026-11-03 08:39:12 +00:00
2026-11-04 10:19:45 +00:00
2026-11-04 18:03:27 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 18:30:08 +01:00
2026-11-04 17:25:40 +00:00
2026-11-03 11:31:36 +00:00
2026-11-03 08:38:53 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-04 11:38:51 +00:00
2026-11-01 12:08:23 +01:00
2026-11-04 11:38:51 +00:00
2026-11-01 12:08:23 +01:00
2026-11-04 17:50:26 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 19:12:29 +00:00
2026-11-04 18:26:20 +00:00
2026-11-04 19:45:08 +00:00
2026-11-05 00:59:43 +00:00
2026-11-04 19:45:08 +00:00
2026-11-04 19:45:08 +00:00
2026-11-05 00:59:43 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:45:43 +00:00
2026-11-03 10:58:46 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:00:31 +00:00
2026-11-05 00:59:43 +00:00
2026-11-05 00:59:43 +00:00
2026-11-03 14:33:05 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 18:30:08 +01:00
2026-11-01 18:30:08 +01:00
2026-11-03 19:12:29 +00:00
2026-11-03 11:31:36 +00:00
2026-11-01 18:30:08 +01:00
2026-11-01 18:30:08 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 08:30:08 +00:00
2026-11-05 00:59:43 +00:00
2026-11-02 18:48:39 +01:00
2026-11-01 12:08:23 +01:00
2026-11-03 10:07:46 +00:00
2026-11-03 10:07:46 +00:00
2026-11-03 14:56:42 +00:00
2026-11-02 18:48:39 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-02 21:03:50 +01:00
2026-11-01 12:08:23 +01:00
2026-11-04 17:25:40 +00:00
2026-11-03 08:38:53 +00:00
2026-11-03 22:33:28 +00:00
2026-11-05 00:59:43 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-02 21:03:50 +01:00
2026-11-03 14:42:21 +00:00
2026-11-04 17:17:38 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 14:33:05 +00:00
2026-11-02 23:50:40 +00:00
2026-11-03 14:45:43 +00:00
2026-11-04 10:17:23 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 18:03:27 +00:00
2026-11-01 12:08:23 +01:00
2026-11-03 19:12:29 +00:00
2026-11-03 14:42:21 +00:00
2026-11-04 18:03:27 +00:00
2026-11-03 14:59:30 +00:00
2026-11-04 18:03:27 +00:00
2026-11-04 18:03:27 +00:00
2026-11-03 19:12:29 +00:00
2026-11-04 18:03:27 +00:00
2026-11-02 23:50:40 +00:00
2026-11-03 19:12:29 +00:00
2026-11-03 22:02:30 +00:00
2026-11-01 12:08:23 +01:00
2026-11-04 18:03:27 +00:00
2026-11-04 18:04:50 +00:00
2026-11-03 14:56:42 +00:00
2026-11-01 12:08:23 +01:00
2026-11-01 12:08:23 +01:00
2026-11-01 18:30:08 +01:00
2026-11-01 12:08:23 +01:00