multica/packages/store
Naiyuan Qing 162a86dff4 refactor(store): consolidate 3 stores into ConnectionStore + MessagesStore
Replace useGatewayStore, useHubStore, useDeviceId, and useHubInit with:
- ConnectionStore: WebSocket lifecycle, deviceId persistence via Zustand persist,
  fetch message history on registration via getAgentMessages RPC
- MessagesStore: simplified to current-agent-only, sendMessage accepts SendContext
  to break circular import with ConnectionStore
- useAutoConnect: returns { loading } for skeleton UI, skips connect if already
  connected (fixes Electron tab-switch reconnect), no cleanup disconnect

Removes: gateway.ts, hub.ts, hub-init.ts, device-id.ts, sonner dep from store

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 10:12:45 +08:00
..
src refactor(store): consolidate 3 stores into ConnectionStore + MessagesStore 2026-02-04 10:12:45 +08:00
package.json refactor(store): consolidate 3 stores into ConnectionStore + MessagesStore 2026-02-04 10:12:45 +08:00
README.md feat(desktop): initialize electron app with routing and cleanup 2026-02-03 14:17:31 +08:00
tsconfig.json feat(store): add shared Zustand store package with counter example 2026-01-30 11:34:09 +08:00

@multica/store

Zustand state management for Multica apps.

Usage

// From barrel
import { useHubStore, useMessagesStore, useGatewayStore } from '@multica/store'

// Per-file subpath import
import { useGatewayStore } from '@multica/store/gateway'
import { useHubStore } from '@multica/store/hub'
import { useMessagesStore } from '@multica/store/messages'
import { useHubInit } from '@multica/store/hub-init'
import { useDeviceId } from '@multica/store/device-id'