Spaces:
Configuration error
Configuration error
Download frontend/store/useAppStore.ts from Smnbrzq/Autonomous-coding-system: direct link, hf CLI and curl.
- Browser
- Download file 4.32 kB
-
https://huggingface.co/spaces/Smnbrzq/Autonomous-coding-system/resolve/main/frontend/store/useAppStore.ts
- Command line
-
hf download hf://spaces/Smnbrzq/Autonomous-coding-system/frontend/store/useAppStore.ts
-
curl -L -o useAppStore.ts https://huggingface.co/spaces/Smnbrzq/Autonomous-coding-system/resolve/main/frontend/store/useAppStore.ts
4.32 kB
| import { create } from 'zustand' | |
| import { persist } from 'zustand/middleware' | |
| import { SPACE_CATALOG, type WorkerRole } from '@/lib/spaceCatalog' | |
| export type Page = | |
| | 'chat' | |
| | 'dashboard' | |
| | 'spaces' | |
| | 'agents' | |
| | 'tasks' | |
| | 'memory' | |
| | 'knowledge' | |
| | 'workflows' | |
| | 'analytics' | |
| | 'settings' | |
| | 'connectors' | |
| | 'computer-use' | |
| export type Space = string | |
| export type Role = WorkerRole | |
| export type Theme = 'dark' | 'amoled' | 'neon' | 'glass' | |
| export type Locale = 'en' | 'my' | |
| export interface SpaceStatus { | |
| name: Space | |
| active: boolean | |
| taskCount: number | |
| lastActive: number | null | |
| color: string | |
| icon: string | |
| } | |
| // βββ Computer-Use Step (Manus-style) βββββββββββββββββββββββββββββββββββββββββ | |
| export interface ComputerUseStep { | |
| id: string | |
| type: 'thinking' | 'browsing' | 'coding' | 'executing' | 'terminal' | 'file' | 'git' | 'deploy' | 'complete' | 'error' | 'reading' | 'writing' | 'searching' | 'sandbox' | 'done' | |
| title: string | |
| detail?: string | |
| status: 'running' | 'done' | 'error' | |
| timestamp: number | |
| data?: Record<string, unknown> | |
| } | |
| interface AppState { | |
| currentPage: Page | |
| activeSpace: Space | null | |
| currentRole: Role | |
| sidebarOpen: boolean | |
| theme: Theme | |
| locale: Locale | |
| spaces: Record<string, SpaceStatus> | |
| computerUseSteps: ComputerUseStep[] | |
| isComputerUseOpen: boolean | |
| backendUrl: string | |
| // Actions | |
| setCurrentPage: (page: Page) => void | |
| setActiveSpace: (space: Space | null) => void | |
| setCurrentRole: (role: Role) => void | |
| setSidebarOpen: (open: boolean) => void | |
| setTheme: (theme: Theme) => void | |
| setLocale: (locale: Locale) => void | |
| activateSpace: (space: Space, role?: Role) => void | |
| deactivateSpace: (space: Space) => void | |
| addComputerUseStep: (step: Omit<ComputerUseStep, 'id' | 'timestamp'>) => void | |
| clearComputerUseSteps: () => void | |
| setComputerUseOpen: (open: boolean) => void | |
| setBackendUrl: (url: string) => void | |
| } | |
| const initialSpaces: Record<string, SpaceStatus> = Object.fromEntries( | |
| SPACE_CATALOG.map(space => [ | |
| space.id, | |
| { | |
| name: space.id, | |
| active: false, | |
| taskCount: 0, | |
| lastActive: null, | |
| color: space.color, | |
| icon: space.icon, | |
| }, | |
| ]) | |
| ) | |
| export const useAppStore = create<AppState>()( | |
| persist( | |
| (set) => ({ | |
| currentPage: 'chat', | |
| activeSpace: null, | |
| currentRole: 'cognition' as Role, | |
| sidebarOpen: true, | |
| theme: 'dark', | |
| locale: 'en', | |
| spaces: initialSpaces, | |
| computerUseSteps: [], | |
| isComputerUseOpen: false, | |
| backendUrl: process.env.NEXT_PUBLIC_API_URL || 'https://pyae1994-autonomous-coding-system.hf.space', | |
| setCurrentPage: (page) => set({ currentPage: page }), | |
| setActiveSpace: (space) => set({ activeSpace: space }), | |
| setCurrentRole: (role) => set({ currentRole: role }), | |
| setSidebarOpen: (open) => set({ sidebarOpen: open }), | |
| setTheme: (theme) => set({ theme }), | |
| setLocale: (locale) => set({ locale }), | |
| setBackendUrl: (url) => set({ backendUrl: url }), | |
| activateSpace: (space, role) => | |
| set(state => ({ | |
| activeSpace: space, | |
| currentRole: role || state.currentRole, | |
| spaces: { | |
| ...state.spaces, | |
| [space]: { | |
| ...state.spaces[space], | |
| active: true, | |
| lastActive: Date.now(), | |
| }, | |
| }, | |
| })), | |
| deactivateSpace: (space) => | |
| set(state => ({ | |
| spaces: { | |
| ...state.spaces, | |
| [space]: { ...state.spaces[space], active: false }, | |
| }, | |
| })), | |
| addComputerUseStep: (step) => | |
| set(state => ({ | |
| computerUseSteps: [ | |
| ...state.computerUseSteps.slice(-99), | |
| { | |
| ...step, | |
| id: Math.random().toString(36).slice(2, 10), | |
| timestamp: Date.now(), | |
| }, | |
| ], | |
| })), | |
| clearComputerUseSteps: () => set({ computerUseSteps: [] }), | |
| setComputerUseOpen: (open) => set({ isComputerUseOpen: open }), | |
| }), | |
| { | |
| name: 'god-agent-store', | |
| partialize: (state) => ({ | |
| theme: state.theme, | |
| locale: state.locale, | |
| sidebarOpen: state.sidebarOpen, | |
| backendUrl: state.backendUrl, | |
| }), | |
| } | |
| ) | |
| ) | |