mirivlad
|
ca7eb79a40
|
feat: add plugin UI host (sidebar, view container, settings panel) + storage API
- internal/core/storage/api.go — plugin namespace JSON storage (settings/data/cache)
- internal/core/storage/api_test.go — 8 tests (write/read, path traversal, atomic)
- internal/api/app.go — Wails bindings for storage (Read/WritePluginSettings, Read/WritePluginDataJSON)
- main.go — initialize storage service, pass to NewApp
- Sidebar.svelte — plugin sidebar items from contributions (filtered by ui.register)
- ViewContainer.svelte — plugin view host with degraded status
- PluginCard.svelte — Settings button + permission warnings
- PluginManager.svelte — settings panel modal with test form
- App.svelte — integrated sidebar + view container layout
|
2026-06-17 03:01:37 +08:00 |
mirivlad
|
d6793e8695
|
feat: add core vault layer with capability registration
|
2026-06-16 20:37:48 +08:00 |
mirivlad
|
47530559bb
|
test: add plugin lifecycle tests (core caps, degraded, disabled, reload)
|
2026-06-16 17:46:24 +08:00 |
mirivlad
|
dd3a5f8ff5
|
fix: register core capabilities + plugin lifecycle before discovery
Core fix: core capabilities (plugin-manager, capability-registry,
contribution-registry, permissions, events) now registered BEFORE plugin
discovery, so plugins can resolve required capabilities at load time.
Changes:
- main.go: register 5 core capabilities before DiscoverPlugins();
add plugin lifecycle (register caps, resolve required/optional,
set status LOADED/DEGRADED/MISSING_REQUIRED, register contributions)
- api/app.go: ReloadPlugins now re-registers core + plugin capabilities
- capability/registry.go: add UnregisterAll() for reload
- cmd/smoke-platform/main.go: verify core caps, required resolution,
degraded status, total caps >= 7
- PluginCard.svelte: remove ✗ on optional-missing, show degraded info
- PluginManager.svelte: preserved (counter shows core+plugin caps)
Rule: optional missing => DEGRADED (not FAILED).
Required missing => MISSING_REQUIRED_CAPABILITY.
Verified: smoke-platform ✅, test.sh (10/10) ✅, check.sh ✅
|
2026-06-16 17:12:46 +08:00 |
mirivlad
|
3c613f0e44
|
hotfix: plugin manager infinite loading
- frontend: RPC timeout (8s), try/catch/finally on reload, proper UI
states (loading/error/empty/list)
- frontend: reload() now sets loading=true, catches errors
- backend: tilde expansion (~/.config/verstak/plugins → /home/mirivlad/...)
- backend: ReloadPlugins returns diagnostics (count, summary string)
- backend: diagnostic logging in DiscoverPlugins (start/dirs/entries/results)
- backend: FormatDiscoverySummary helper
- testing: 11 headless tests for DiscoverPlugins (empty, missing, valid,
broken JSON, duplicate ID, multiple dirs, nonexistent mix)
|
2026-06-16 13:52:49 +08:00 |
mirivlad
|
aefb9e9a9c
|
feat: add scripts/build.sh, test.sh, check.sh + gofmt + go mod tidy
|
2026-06-16 12:11:55 +08:00 |
mirivlad
|
cf0a962b46
|
feat: plugin discovery, capability/contribution/permission registries, Plugin Manager UI
|
2026-06-16 12:00:43 +08:00 |