Kandev Agent
c53f699714
feat: add plugin system with grpc runtime and native ui plugins
...
- go plugin backends ship as release tarballs (per-platform binaries, checksums) that
kandev installs from url/upload or filesystem sideload+sync, then spawns and
supervises via hashicorp/go-plugin (unix socket / loopback tcp+automtls)
- strict typed grpc contract (kandev.plugin.v1): DeliverEvent/InvokeTool/HandleWebhook
plus a capability-gated host service (state, secrets, emit); author sdk in
pkg/pluginsdk; packaging cli in cmd/plugin-pack
- native frontend bundles: window.registerKandevPlugin + registry/host loader with
dynamic routes, nav items, slots and ws handlers; plugins settings page with
install dialog, sync button and enable/disable/uninstall
- gated behind the plugins feature flag (prod off, dev/e2e on); covered by unit and
integration tests plus playwright e2e against a real packaged fixture plugin
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-16 17:55:45 +01:00
..
2026-07-08 12:07:38 +01:00
2026-07-16 17:55:45 +01:00
2026-07-09 19:59:29 +01:00
2026-06-18 18:36:48 +01:00
2026-07-16 00:21:50 +01:00
2026-07-10 14:03:32 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 08:31:20 +01:00
2026-07-16 00:06:41 +01:00
2026-07-14 23:13:56 +01:00
2026-07-09 23:43:35 +01:00
2026-07-16 17:55:45 +01:00
2026-07-15 17:40:34 +01:00
2026-07-16 00:21:50 +01:00
2026-06-18 18:36:48 +01:00
2026-07-10 23:32:18 +01:00
2026-07-16 17:55:45 +01:00
2026-07-15 12:54:43 +01:00
2026-07-09 23:20:48 +01:00
2026-06-18 18:36:48 +01:00
2026-07-14 23:13:56 +01:00
2026-07-16 17:55:45 +01:00
2026-06-18 18:36:48 +01:00
2026-07-15 08:50:21 +01:00
2026-07-15 23:19:00 +01:00
2026-06-15 18:54:16 +01:00
2026-06-18 18:36:48 +01:00
2026-06-26 14:04:59 +01:00
2026-07-16 00:22:31 +01:00
2026-07-16 00:22:31 +01:00
2026-07-15 23:19:00 +01:00
2026-06-18 18:36:48 +01:00
2026-06-18 18:36:48 +01:00
2026-06-23 14:34:42 +01:00
2026-06-23 14:34:42 +01:00
2026-07-16 00:22:31 +01:00
2026-06-18 18:36:48 +01:00
2026-06-18 18:36:48 +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-10 23:29:40 +01:00
2026-07-09 23:43:35 +01:00
2026-07-09 23:43:35 +01:00
2026-06-29 17:58:56 +01:00
2026-06-29 17:58:56 +01:00
2026-07-10 23:29:40 +01:00
2026-07-13 12:18:57 +01:00
2026-06-06 21:58:39 +01:00
2026-07-09 23:43:35 +01:00
2026-06-18 18:36:48 +01:00
2026-06-18 18:36:48 +01:00
2026-07-08 10:06:33 +01:00
2026-07-08 10:06:33 +01:00
2026-06-02 23:10:02 +01:00
2026-06-18 18:36:48 +01:00
2026-07-16 00:22:31 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-06-25 16:06:38 +01:00
2026-06-29 08:47:26 +01:00
2026-06-30 02:35:21 +01:00
2026-07-16 00:06:41 +01:00
2026-07-01 21:25:05 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-06-23 14:34:42 +01:00
2026-06-23 14:34:42 +01:00
2026-06-29 08:47:26 +01:00
2026-06-23 14:34:42 +01:00
2026-06-23 14:34:42 +01:00
2026-06-29 08:47:26 +01:00
2026-07-15 09:13:52 +01:00
2026-07-15 09:13:52 +01:00
2026-07-01 21:25:05 +01:00
2026-07-16 00:06:41 +01:00
2026-07-16 00:06:41 +01:00
2026-06-25 16:06:38 +01:00
2026-07-15 09:13:52 +01:00
2026-07-15 09:13:52 +01:00
2026-06-30 02:35:21 +01:00
2026-06-30 02:35:21 +01:00
2026-07-16 00:06:41 +01:00
2026-06-29 08:47:26 +01:00
2026-07-15 09:13:52 +01:00
2026-06-30 02:35:21 +01:00
2026-06-29 19:10:08 +01:00
2026-06-16 15:21:20 +01:00
2026-06-18 18:36:48 +01:00
2026-06-18 18:36:48 +01:00
2026-06-25 18:33:15 +01:00