João Salavisa
4b1320ffb0
feat(plugins): add chat-input-actions slot for plugin toolbar icons ( #1794 )
...
* feat(plugins): add chat-input-actions slot for plugin toolbar icons
Let plugins render icon buttons into the chat composer toolbar, beside
the model picker, mic, and send button, via the existing named-slot
mechanism (registerComponent). The host mounts the slot in both the
desktop and mobile toolbars and forwards { taskId, taskTitle,
activeSessionId, sessionIds } as slotProps — the active session plus
every kandev session id on the task. Resolving a session id to an
agent/ACP transcript id is left to the plugin (server-side, via the Host
data API); the host only propagates ids.
Docs (PLUGIN-API.md, public plugins/plugins-authoring) document the new
slot and its props.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* fix(plugins): read store optionally in chat-input-actions slot
ChatInputPluginActions read the app store via useAppStore, which throws
outside a StateProvider — breaking existing toolbar tests that render the
composer in isolation. Switch to useOptionalAppStore (fallback to no
sessions) so the slot never hard-requires a provider.
Also: gate the slot behind hideAgentControls to match the other
session-specific toolbar controls, drop a redundant String() coercion,
tidy a dangling docs reference, and cover the taskId=null path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Kandev Agent <agent@kandev.dev >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-19 12:26:50 +01:00
..
2026-07-09 19:23:17 +01:00
2026-07-19 12:26:50 +01:00
2026-05-10 17:30:24 +01:00
2026-05-24 11:21:50 +01:00
2026-07-18 21:19:05 +01:00
2026-07-18 16:17:10 +01:00
2026-07-17 22:33:35 +01:00
2026-07-18 21:19:05 +01:00
2026-06-05 15:53:39 +01:00
2026-07-15 23:19:00 +01:00
2026-05-14 10:27:38 +01:00
2026-06-18 17:28:21 +01:00
2026-06-08 21:22:39 +01:00
2026-07-15 12:54:43 +01:00
2026-07-15 12:54:43 +01:00
2026-07-15 12:54:43 +01:00
2026-06-29 19:24:51 +01:00
2026-06-29 19:24:51 +01:00
2026-07-10 08:34:57 +01:00
2026-07-15 12:54:43 +01:00
2026-07-15 12:54:43 +01:00
2026-07-15 12:54:43 +01:00
2026-07-15 12:54:43 +01:00
2026-06-07 22:14:11 +01:00
2026-06-08 21:22:39 +01:00
2026-07-09 17:25:33 +01:00
2026-07-18 21:11:17 +01:00
2026-07-18 21:11:17 +01:00
2026-05-31 19:41:10 +01:00
2026-07-10 16:04:12 +01:00
2026-07-15 12:54:43 +01:00
2026-07-15 12:54:43 +01:00
2026-07-10 08:34:57 +01:00
2026-05-31 23:04:55 +01:00
2026-07-10 14:03:32 +01:00
2026-06-14 17:58:18 +01:00
2026-05-31 19:41:10 +01:00
2026-07-09 19:23:17 +01:00
2026-05-18 23:08:14 +01:00
2026-06-30 00:25:34 +01:00
2026-07-17 22:15:23 +01:00
2026-05-23 22:23:36 +01:00
2026-05-23 22:23:36 +01:00
2026-07-10 11:18:36 +01:00
2026-05-29 02:35:47 +01:00
2026-06-02 21:48:23 +01:00
2026-07-17 22:15:23 +01:00
2026-07-09 17:25:33 +01:00
2026-07-16 17:26:50 +01:00
2026-07-15 12:54:43 +01:00
2026-07-15 07:50:49 +01:00
2026-06-29 18:59:47 +01:00
2026-07-15 07:50:49 +01:00
2026-07-09 19:23:17 +01:00
2026-07-16 17:26:50 +01:00
2026-05-24 12:59:30 +01:00
2026-05-16 20:07:57 +01:00
2026-06-18 18:36:48 +01:00
2026-07-10 14:03:32 +01:00
2026-07-16 22:43:06 +01:00
2026-07-16 22:43:06 +01:00
2026-07-16 22:43:06 +01:00
2026-06-18 18:36:48 +01:00
2026-06-18 18:36:48 +01:00
2026-05-25 10:04:40 +01:00
2026-05-14 21:26:09 +01:00
2026-05-14 21:26:09 +01:00
2026-05-14 21:26:09 +01:00
2026-06-14 22:05:19 +01:00
2026-06-14 22:05:19 +01:00
2026-07-15 07:50:49 +01:00
2026-07-10 08:34:57 +01:00
2026-05-22 01:41:56 +01:00
2026-06-02 21:48:23 +01:00
2026-05-21 14:01:31 +01:00
2026-05-29 11:08:42 +01:00
2026-07-01 21:24:07 +01:00
2026-06-18 18:36:48 +01:00
2026-06-18 18:36:48 +01:00
2026-05-21 14:01:31 +01:00
2026-05-24 00:28:20 +01:00
2026-07-10 08:34:57 +01:00
2026-07-01 21:24:07 +01:00
2026-07-01 21:24:07 +01:00
2026-07-10 14:03:32 +01:00
2026-07-09 17:25:33 +01:00
2026-07-10 14:03:32 +01:00
2026-06-18 18:36:48 +01:00
2026-07-10 14:03:32 +01:00
2026-05-17 21:26:13 +01:00
2026-05-17 21:26:13 +01:00
2026-07-10 08:34:57 +01:00
2026-07-01 21:24:07 +01:00
2026-06-09 16:42:05 +01:00
2026-06-09 16:42:05 +01:00
2026-06-09 16:42:05 +01:00
2026-06-09 16:42:05 +01:00
2026-07-10 11:18:36 +01:00
2026-07-10 11:18:36 +01:00
2026-07-10 11:18:36 +01:00
2026-07-10 14:03:32 +01:00
2026-07-15 19:34:34 +01:00
2026-06-27 16:11:39 +01:00
2026-07-17 18:47:59 +01:00
2026-07-17 18:47:59 +01:00
2026-06-25 16:06:38 +01:00
2026-06-17 19:01:42 +01:00
2026-06-17 19:01:42 +01:00
2026-06-18 23:03:32 +01:00
2026-07-16 00:06:41 +01:00
2026-06-25 16:06:38 +01:00
2026-05-30 15:47:02 +01:00
2026-05-30 15:47:02 +01:00
2026-05-24 00:28:20 +01:00
2026-05-24 12:59:30 +01:00
2026-07-10 08:34:57 +01:00
2026-07-10 14:04:31 +01:00
2026-06-12 09:50:35 +01:00
2026-07-10 14:04:31 +01:00
2026-07-10 14:04:31 +01:00
2026-05-24 11:21:50 +01:00
2026-06-26 14:02:28 +01:00
2026-05-18 23:08:14 +01:00
2026-07-16 00:22:31 +01:00
2026-06-02 13:44:17 +01:00
2026-06-02 13:44:17 +01:00
2026-06-02 13:44:17 +01:00
2026-06-02 13:44:17 +01:00
2026-05-29 11:06:13 +01:00
2026-05-29 11:06:13 +01:00
2026-07-17 18:47:59 +01:00
2026-06-17 19:01:42 +01:00
2026-06-17 19:01:42 +01:00
2026-06-18 23:03:32 +01:00
2026-07-16 17:26:50 +01:00
2026-05-17 20:16:15 +01:00
2026-05-16 20:07:57 +01:00
2026-06-29 18:59:47 +01:00
2026-06-29 18:59:47 +01:00
2026-07-16 17:26:50 +01:00
2026-07-16 17:26:50 +01:00
2026-07-16 17:26:50 +01:00
2026-07-16 17:26:50 +01:00
2026-07-10 11:18:36 +01:00
2026-05-14 21:26:09 +01:00
2026-07-16 17:26:50 +01:00
2026-07-15 19:34:18 +01:00
2026-07-15 19:34:18 +01:00
2026-07-10 14:03:32 +01:00
2026-05-16 14:04:09 +01:00
2026-07-10 16:04:12 +01:00
2026-07-16 17:26:50 +01:00
2026-06-29 15:24:22 +01:00
2026-05-28 19:17:26 +01:00
2026-05-28 19:17:26 +01:00
2026-05-28 19:17:26 +01:00
2026-05-28 19:17:26 +01:00
2026-07-18 21:19:05 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-07-10 23:32:18 +01:00
2026-07-10 23:32:18 +01:00
2026-07-09 23:43:35 +01:00
2026-07-09 23:43:35 +01:00
2026-07-01 21:24:07 +01:00
2026-07-01 21:24:07 +01:00
2026-06-23 17:28:52 +01:00
2026-06-23 17:28:52 +01:00
2026-06-23 17:28:52 +01:00
2026-06-23 17:28:52 +01:00
2026-07-18 02:28:29 +01:00
2026-07-18 02:28:29 +01:00
2026-06-18 18:36:48 +01:00
2026-07-15 19:32:32 +01:00
2026-07-15 19:32:32 +01:00
2026-07-15 19:32:32 +01:00
2026-07-17 14:46:04 +01:00
2026-07-10 12:56:05 +01:00
2026-07-10 12:56:05 +01:00
2026-07-10 12:56:05 +01:00
2026-07-10 12:56:05 +01:00
2026-06-18 18:36:48 +01:00
2026-07-17 14:46:04 +01:00
2026-07-17 14:46:04 +01:00
2026-07-17 23:11:37 +01:00
2026-07-17 14:46:04 +01:00
2026-07-01 23:43:04 +01:00
2026-05-14 21:26:09 +01:00
2026-05-31 23:04:55 +01:00
2026-05-31 23:04:55 +01:00
2026-07-10 11:18:36 +01:00
2026-07-10 11:18:36 +01:00
2026-07-10 23:29:40 +01:00
2026-07-10 23:29:40 +01:00
2026-07-06 17:16:14 +01:00
2026-07-18 21:19:05 +01:00
2026-06-23 17:28:52 +01:00
2026-07-09 23:43:35 +01:00
2026-07-06 17:16:14 +01:00
2026-07-06 17:16:14 +01:00
2026-07-18 21:19:05 +01:00
2026-07-09 23:43:35 +01:00
2026-07-18 21:19:05 +01:00
2026-07-18 21:19:05 +01:00
2026-07-06 17:16:14 +01:00
2026-07-06 17:16:14 +01:00
2026-07-18 21:19:05 +01:00
2026-07-09 17:26:41 +01:00
2026-07-06 17:16:14 +01:00
2026-06-27 16:11:39 +01:00
2026-06-27 16:11:39 +01:00
2026-06-29 15:24:22 +01:00
2026-07-18 21:19:05 +01:00
2026-07-18 21:19:05 +01:00
2026-07-15 10:48:56 +01:00
2026-07-15 10:48:56 +01:00
2026-07-14 22:02:43 +01:00
2026-07-15 10:48:56 +01:00
2026-07-14 19:15:51 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-23 19:27:49 +01:00
2026-05-24 12:59:30 +01:00
2026-06-11 22:28:07 +01:00
2026-07-16 17:26:50 +01:00
2026-05-16 20:07:57 +01:00
2026-06-30 16:29:46 +01:00
2026-06-30 16:29:46 +01:00
2026-07-10 14:03:32 +01:00
2026-07-10 14:03:32 +01:00
2026-06-11 21:17:47 +01:00
2026-05-14 21:26:09 +01:00
2026-07-15 12:54:43 +01:00
2026-07-15 12:54:43 +01:00
2026-05-30 15:47:02 +01:00
2026-05-31 23:04:55 +01:00
2026-05-31 23:04:55 +01:00
2026-05-23 19:27:49 +01:00
2026-06-18 18:36:48 +01:00
2026-06-08 19:34:40 +01:00
2026-06-08 19:34:40 +01:00
2026-07-08 10:06:50 +01:00
2026-06-11 21:17:47 +01:00