refactor(skills): add skill-adapter and refactor SkillMarket

- Add skill-adapter.ts to bridge configStore and UI skill formats
- Refactor SkillMarket to use new skill-adapter instead of skill-discovery
- Add health check state to connectionStore
- Update multiple components with improved typing
- Clean up test artifacts and add new test results
- Update README and add skill-market-mvp plan

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
iven
2026-03-21 00:28:03 +08:00
parent 54ccc0a7b0
commit 48a430fc97
50 changed files with 1523 additions and 360 deletions

View File

@@ -107,9 +107,9 @@ function TriggerCard({ trigger, onToggle, onDelete, isToggling, isDeleting }: Tr
export function TriggersPanel() {
const triggers = useHandStore((s) => s.triggers);
const loadTriggers = useHandStore((s) => s.loadTriggers);
const updateTrigger = useHandStore((s) => s.updateTrigger);
const deleteTrigger = useHandStore((s) => s.deleteTrigger);
const isLoading = useHandStore((s) => s.isLoading);
const client = useHandStore((s) => s.client);
const [togglingTrigger, setTogglingTrigger] = useState<string | null>(null);
const [deletingTrigger, setDeletingTrigger] = useState<string | null>(null);
const [refreshing, setRefreshing] = useState(false);
@@ -122,14 +122,14 @@ export function TriggersPanel() {
const handleToggle = useCallback(async (id: string, enabled: boolean) => {
setTogglingTrigger(id);
try {
await client.request('triggers.toggle', { id, enabled });
await updateTrigger(id, { enabled });
await loadTriggers();
} catch (error) {
console.error('Failed to toggle trigger:', error);
} finally {
setTogglingTrigger(null);
}
}, [client, loadTriggers]);
}, [updateTrigger, loadTriggers]);
const handleDelete = useCallback(async (id: string) => {
setDeletingTrigger(id);