feat(01-01): create Zustand store with 6 slices, IPC batcher, and unit tests

- Install zustand 5.x and immer 11.x dependencies
- Create 6 Zustand slices: navigation, company, selection, ui, communication, social
- Create combined store with devtools + immer middleware
- Create IPC event batcher with 50ms debounce window (schedule/flush/dispose)
- Create typed selector hooks for narrow state subscriptions
- Add 14 unit tests covering store initialization, slice behaviors, and batcher timing

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 4.6 committed 2026-03-22 01:30:37 -04:00
1 parent a4de64b876
commit 5e9d36c058
13 files changed
+818 -4

No files matched your search

+6 -4
View File
@@ -1,6 +1,6 @@
{
"name": "agent-company",
"version": "0.4.52",
"version": "0.4.53",
"private": true,
"type": "module",
"description": "Cross-platform Electron desktop control plane for local-first AI agent companies.",
@@ -26,29 +26,31 @@
"postinstall": "node scripts/postinstall.mjs"
},
"dependencies": {
"@fontsource-variable/jetbrains-mono": "5.2.8",
"@agentcompany/adapter-claude-local": "workspace:*",
"@agentcompany/adapter-codex-local": "workspace:*",
"@agentcompany/adapter-gemini-local": "workspace:*",
"@agentcompany/adapter-utils": "workspace:*",
"@fontsource-variable/jetbrains-mono": "5.2.8",
"@phosphor-icons/react": "2.1.10",
"clsx": "2.1.1",
"electron-log": "5.4.3",
"electron-updater": "6.8.3",
"framer-motion": "12.36.0",
"immer": "^11.1.4",
"react": "19.2.4",
"react-dom": "19.2.4",
"tailwind-merge": "3.5.0",
"zod": "4.3.6"
"zod": "4.3.6",
"zustand": "^5.0.12"
},
"devDependencies": {
"@eslint/js": "9.38.0",
"@playwright/test": "1.58.2",
"@tailwindcss/vite": "4.2.1",
"@types/node": "^25.2.3",
"@types/react": "^19.2.2",
"@types/react-dom": "^19.2.2",
"@vitejs/plugin-react": "^5.0.0",
"@eslint/js": "9.38.0",
"electron": "39.8.0",
"electron-builder": "26.8.1",
"electron-vite": "5.0.0",