@agiflowai/agent-cli 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/claudeNotification.js +1 -1
- package/dist/claudePermissionRequest.js +1 -1
- package/dist/claudePostToolUse.js +1 -1
- package/dist/claudePreToolUse.js +1 -1
- package/dist/claudeSessionEnd.js +1 -1
- package/dist/claudeSessionStart.js +1 -1
- package/dist/claudeStop.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/daemon.js +239 -854
- package/dist/daemon.js.map +1 -1
- package/dist/{index-qyLMfqDP.mjs → index-BKpNk4j3.mjs} +16 -15
- package/dist/index-BKpNk4j3.mjs.map +1 -0
- package/dist/{index-qm8Y_t_Z.mjs → index-CPSRdi5k.mjs} +8488 -8639
- package/dist/index-CPSRdi5k.mjs.map +1 -0
- package/dist/{index-D-edidE4.mjs → index-T6apYL3S.mjs} +2 -2
- package/dist/index-T6apYL3S.mjs.map +1 -0
- package/dist/index.js +2 -2
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/index-D-edidE4.mjs.map +0 -1
- package/dist/index-qm8Y_t_Z.mjs.map +0 -1
- package/dist/index-qyLMfqDP.mjs.map +0 -1
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sources":["../src/systems/cli/apps/daemon/components/DaemonConnectionManager.tsx","../src/systems/cli/apps/daemon/guards/OauthSetup.tsx","../src/systems/cli/apps/daemon/components/AgentTabs.tsx","../src/systems/cli/apps/daemon/screens/Agents/index.tsx","../src/systems/cli/apps/daemon/screens/Onboarding/index.tsx","../src/systems/cli/apps/daemon/index.tsx"],"sourcesContent":["import { cliContainer } from '@cli/container';\nimport React, { useEffect, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport type { DaemonManager } from '@/services';\nimport type { AppDispatch } from '@/store';\nimport { RootState } from '@/store';\nimport { launchDaemon } from '@/store/slices/daemonStatusSlice';\nimport { GLOBAL_TYPES } from '@/types';\nimport { useInk } from '../../../contexts/InkContext';\nimport { clearShutdownCallback, setShutdownCallback } from '../../../services/StdinManager';\n\ninterface DaemonConnectionManagerProps {\n children: React.ReactNode;\n}\n\nexport const DaemonConnectionManager: React.FC<DaemonConnectionManagerProps> = ({ children }) => {\n const { Box, Text } = useInk();\n const dispatch = useDispatch<AppDispatch>();\n const status = useSelector((state: RootState) => state.daemonStatus.status);\n const error = useSelector((state: RootState) => state.daemonStatus.error);\n const isShuttingDown = useRef(false);\n\n useEffect(() => {\n dispatch(launchDaemon());\n\n // Register shutdown callback for Ctrl+C handling\n const handleShutdown = async () => {\n if (isShuttingDown.current) return;\n isShuttingDown.current = true;\n\n try {\n const daemonManager = cliContainer.get<DaemonManager>(GLOBAL_TYPES.DaemonManager);\n if (daemonManager.isRunning()) {\n await daemonManager.stop();\n }\n } catch {\n // Ignore errors during shutdown\n }\n // daemonManager.stop() calls process.exit() at the end\n };\n\n setShutdownCallback(handleShutdown);\n\n return () => {\n clearShutdownCallback();\n };\n }, [dispatch]);\n\n if (status === 'starting') {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Text color=\"yellow\">Connecting to Agiflow...</Text>\n </Box>\n );\n }\n\n if (status === 'error') {\n return (\n <Box flexDirection=\"column\" padding={1} borderStyle=\"round\" borderColor=\"red\">\n <Text color=\"red\" bold>\n Connection Error\n </Text>\n <Text>{error}</Text>\n <Text dimColor>Retrying in background...</Text>\n </Box>\n );\n }\n\n if (status === 'connected') {\n return <>{children}</>;\n }\n\n return null;\n};\n","import { cliContainer } from '@cli/container';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { CredentialsService, DeviceCodeAuthService, type DeviceCodeResponse, type OrganizationInfo } from '@/services';\nimport { GLOBAL_TYPES } from '@/types';\nimport { useInk } from '../../../contexts/InkContext';\n\ninterface OauthSetupProps {\n children: (props: { isAuthenticated: boolean }) => React.ReactNode;\n}\n\ntype AuthStatus =\n | 'checking'\n | 'requesting_code'\n | 'polling'\n | 'selecting_org'\n | 'exchanging'\n | 'authenticated'\n | 'error';\n\nexport const OauthSetup: React.FC<OauthSetupProps> = ({ children }) => {\n const { Box, Text, Newline, Static, Link, useInput } = useInk();\n const queryClient = useQueryClient();\n const [deviceCode, setDeviceCode] = useState<DeviceCodeResponse | null>(null);\n const [accessToken, setAccessToken] = useState<string | null>(null);\n const [organizations, setOrganizations] = useState<OrganizationInfo[]>([]);\n const [selectedOrgIndex, setSelectedOrgIndex] = useState(0);\n const [status, setStatus] = useState<AuthStatus>('checking');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const abortControllerRef = useRef<AbortController | null>(null);\n\n // Get services from DI container\n const authService = cliContainer.get<DeviceCodeAuthService>(GLOBAL_TYPES.DeviceCodeAuthService);\n const credentialsService = cliContainer.get<CredentialsService>(GLOBAL_TYPES.CredentialsService);\n\n // Check existing authentication\n const { data: existingAuth, isLoading: isCheckingAuth } = useQuery({\n queryKey: ['auth', 'check'],\n queryFn: async () => {\n const creds = await credentialsService.load();\n if (creds && creds.apiKey && creds.expiresAt && authService.isTokenValid(creds.expiresAt)) {\n return { authenticated: true };\n }\n return { authenticated: false };\n },\n retry: false,\n });\n\n // Request device code\n const deviceCodeMutation = useMutation({\n mutationFn: async () => {\n setStatus('requesting_code');\n return authService.requestDeviceCode('openid profile email');\n },\n onSuccess: (data) => {\n setDeviceCode(data);\n setStatus('polling');\n pollTokenMutation.mutate(data);\n },\n onError: (error) => {\n setStatus('error');\n setErrorMessage(error instanceof Error ? error.message : 'Failed to request device code');\n },\n });\n\n // Poll for token - now just gets token and organizations, doesn't exchange yet\n const pollTokenMutation = useMutation({\n mutationFn: async (codeResponse: DeviceCodeResponse) => {\n abortControllerRef.current = new AbortController();\n\n // Poll for the access token\n const tokenResponse = await authService.pollForToken(codeResponse.device_code, codeResponse.interval || 5, {\n signal: abortControllerRef.current.signal,\n });\n\n // Get user's organizations\n const orgs = await authService.listOrganizations(tokenResponse.access_token);\n\n return { accessToken: tokenResponse.access_token, organizations: orgs };\n },\n onSuccess: (data) => {\n setAccessToken(data.accessToken);\n setOrganizations(data.organizations);\n\n if (data.organizations.length === 0) {\n setStatus('error');\n setErrorMessage('You have no organizations. Please create one first.');\n } else if (data.organizations.length === 1) {\n // Auto-select single org\n exchangeForAgentMutation.mutate({ accessToken: data.accessToken, organizationId: data.organizations[0].id });\n } else {\n // Show organization selection\n setStatus('selecting_org');\n }\n },\n onError: (error) => {\n setStatus('error');\n setErrorMessage(error instanceof Error ? error.message : 'Failed to poll for token');\n },\n });\n\n // Exchange token for agent API key\n const exchangeForAgentMutation = useMutation({\n mutationFn: async ({ accessToken, organizationId }: { accessToken: string; organizationId: string }) => {\n setStatus('exchanging');\n return authService.exchangeForAgentApiKey(accessToken, organizationId);\n },\n onSuccess: async (apiKeyToken) => {\n // Save to credentials.json\n await credentialsService.setApiKey({\n apiKey: apiKeyToken.api_key,\n organizationId: apiKeyToken.organization_id,\n expiresAt: apiKeyToken.expires_at,\n deviceId: apiKeyToken.device_id,\n });\n\n setStatus('authenticated');\n queryClient.invalidateQueries({ queryKey: ['auth', 'check'] });\n },\n onError: (error) => {\n setStatus('error');\n setErrorMessage(error instanceof Error ? error.message : 'Failed to exchange for agent API key');\n },\n });\n\n // Handle organization selection input\n const handleSelectOrg = useCallback(() => {\n if (accessToken && organizations[selectedOrgIndex]) {\n exchangeForAgentMutation.mutate({\n accessToken,\n organizationId: organizations[selectedOrgIndex].id,\n });\n }\n }, [accessToken, organizations, selectedOrgIndex, exchangeForAgentMutation]);\n\n // Keyboard input for organization selection\n useInput(\n (_input, key) => {\n if (status !== 'selecting_org') return;\n\n if (key.upArrow) {\n setSelectedOrgIndex((prev) => Math.max(0, prev - 1));\n } else if (key.downArrow) {\n setSelectedOrgIndex((prev) => Math.min(organizations.length - 1, prev + 1));\n } else if (key.return) {\n handleSelectOrg();\n }\n },\n { isActive: status === 'selecting_org' },\n );\n\n // Cleanup abort controller on unmount\n useEffect(() => {\n return () => {\n abortControllerRef.current?.abort();\n };\n }, []);\n\n // Trigger device code request when not authenticated\n useEffect(() => {\n if (existingAuth && !existingAuth.authenticated && status === 'checking' && !isCheckingAuth) {\n deviceCodeMutation.mutate();\n }\n }, [existingAuth, status, isCheckingAuth, deviceCodeMutation]);\n\n // Authenticated - render children\n if (existingAuth?.authenticated) {\n return <>{children({ isAuthenticated: true })}</>;\n }\n\n // Checking authentication\n if (isCheckingAuth) {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n <Box borderStyle=\"round\" borderColor=\"cyan\" padding={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text>Checking existing credentials...</Text>\n </Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Requesting device code\n if (deviceCodeMutation.isPending) {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n <Box borderStyle=\"round\" borderColor=\"cyan\" padding={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Checked existing credentials</Text>\n </Text>\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text>Requesting device authorization...</Text>\n </Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Show authentication instructions with automatic polling\n if (deviceCode) {\n const verificationUrl = `${deviceCode.verification_uri}?code=${encodeURIComponent(deviceCode.user_code)}`;\n\n return (\n <Static items={[1]}>\n {() => (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n\n <Box borderStyle=\"round\" borderColor=\"green\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Checked existing credentials</Text>\n </Text>\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Device authorization requested</Text>\n </Text>\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text bold>Polling for authorization...</Text>\n </Text>\n </Box>\n </Box>\n\n <Box borderStyle=\"double\" borderColor=\"yellow\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text bold color=\"yellow\">\n 📋 Authentication Steps:\n </Text>\n <Newline />\n\n <Text>\n <Text bold color=\"cyan\">\n 1.{' '}\n </Text>\n <Text>Open this URL in your browser:</Text>\n </Text>\n <Box paddingLeft={3} marginBottom={1}>\n <Link url={verificationUrl}>\n <Text color=\"blue\" bold>\n {verificationUrl}\n </Text>\n </Link>\n </Box>\n\n <Text>\n <Text bold color=\"cyan\">\n 2.{' '}\n </Text>\n <Text>Enter this verification code:</Text>\n </Text>\n <Box paddingLeft={3} marginBottom={1} borderStyle=\"single\" borderColor=\"green\" paddingX={2}>\n <Text color=\"green\" bold>\n {deviceCode.user_code}\n </Text>\n </Box>\n\n <Text>\n <Text bold color=\"cyan\">\n 3.{' '}\n </Text>\n <Text>Sign in and approve the device</Text>\n </Text>\n <Newline />\n\n <Text dimColor>The CLI will automatically detect when you approve the device.</Text>\n </Box>\n </Box>\n\n <Box borderStyle=\"round\" borderColor=\"gray\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text dimColor>⏱️ Expires in: {Math.floor(deviceCode.expires_in / 60)} minutes</Text>\n <Text dimColor>💡 Tip: The URL includes your verification code for convenience</Text>\n </Box>\n </Box>\n </Box>\n )}\n </Static>\n );\n }\n\n // Organization selection state\n if (status === 'selecting_org') {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n\n <Box borderStyle=\"round\" borderColor=\"green\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Device authorized successfully</Text>\n </Text>\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text bold>Select an organization</Text>\n </Text>\n </Box>\n </Box>\n\n <Box borderStyle=\"double\" borderColor=\"yellow\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text bold color=\"yellow\">\n 📋 Select Organization:\n </Text>\n <Newline />\n {organizations.map((org, index) => (\n <Text key={org.id}>\n <Text color={index === selectedOrgIndex ? 'green' : 'gray'}>\n {index === selectedOrgIndex ? '❯ ' : ' '}\n </Text>\n <Text bold={index === selectedOrgIndex}>{org.name}</Text>\n <Text dimColor> ({org.slug})</Text>\n </Text>\n ))}\n <Newline />\n <Text dimColor>Use ↑/↓ arrows to navigate, Enter to select</Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Exchanging token state\n if (status === 'exchanging') {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n <Box borderStyle=\"round\" borderColor=\"cyan\" padding={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Device authorized</Text>\n </Text>\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Organization selected</Text>\n </Text>\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text>Creating agent credentials...</Text>\n </Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Error state\n if (status === 'error' || deviceCodeMutation.isError || pollTokenMutation.isError) {\n const mutationError = deviceCodeMutation.error || pollTokenMutation.error;\n const displayMessage = errorMessage || mutationError?.message || 'Unknown error occurred';\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"red\">\n ❌ Authentication Error\n </Text>\n </Box>\n <Box borderStyle=\"round\" borderColor=\"red\" padding={1} marginBottom={1}>\n <Text color=\"red\">{displayMessage}</Text>\n </Box>\n <Box borderStyle=\"single\" borderColor=\"gray\" padding={1}>\n <Box flexDirection=\"column\">\n <Text dimColor>💡 Troubleshooting:</Text>\n <Text dimColor> • Check your internet connection</Text>\n <Text dimColor> • Verify the server URL is correct</Text>\n <Text dimColor> • Ensure the token is valid and not expired</Text>\n <Text dimColor> • Try running the daemon again</Text>\n <Newline />\n <Text dimColor>⌨️ Press Ctrl+C to exit</Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Default loading state\n return null;\n};\n","import React, { useMemo } from 'react';\nimport { shallowEqual, useSelector } from 'react-redux';\nimport type { AgentManager } from '@/services';\nimport { RootState } from '@/store';\nimport { GLOBAL_TYPES } from '@/types';\nimport { LaunchAgent } from '../../../components/LaunchAgent';\nimport { cliContainer } from '../../../container';\nimport { useInk } from '../../../contexts/InkContext';\nimport { AgentConfigService } from '../../../services/agent/AgentConfigService';\nimport { AGENT_TYPES } from '../../../types';\n\nconst isMacOS = process.platform === 'darwin';\n\ninterface TabIndicatorProps {\n tabId: string;\n}\n\ninterface TabItemProps {\n tabId: string;\n index: number;\n}\n\n/**\n * Memoized component to display unread count badge\n * Only re-renders when unreadCount or activeTabId changes for this specific tab\n */\nconst UnreadCount: React.FC<TabIndicatorProps> = React.memo(({ tabId }) => {\n const unreadCount = useSelector((state: RootState) => state.agentTabs.tabs.find((t) => t.id === tabId)?.unreadCount);\n const isActive = useSelector((state: RootState) => state.agentTabs.activeTabId === tabId);\n\n if (!unreadCount || unreadCount <= 0 || isActive) {\n return null;\n }\n\n return <> ({unreadCount})</>;\n});\n\nUnreadCount.displayName = 'UnreadCount';\n\n/**\n * Memoized component to display waiting input indicator (red dot)\n * Only re-renders when waitingInput or activeTabId changes for this specific tab\n */\nconst WaitingInputIndicator: React.FC<TabIndicatorProps> = React.memo(({ tabId }) => {\n const { Text } = useInk();\n const waitingInput = useSelector(\n (state: RootState) => state.agentTabs.tabs.find((t) => t.id === tabId)?.waitingInput,\n );\n const isActive = useSelector((state: RootState) => state.agentTabs.activeTabId === tabId);\n\n if (!waitingInput || isActive) {\n return null;\n }\n\n return <Text color=\"red\">● </Text>;\n});\n\nWaitingInputIndicator.displayName = 'WaitingInputIndicator';\n\n/**\n * Memoized component for individual tab rendering\n * Selects only the data it needs (id, label) to minimize re-renders\n */\nconst TabItem: React.FC<TabItemProps> = React.memo(({ tabId, index }) => {\n const { Box, Text } = useInk();\n const label = useSelector((state: RootState) => state.agentTabs.tabs.find((t) => t.id === tabId)?.label);\n const isActive = useSelector((state: RootState) => state.agentTabs.activeTabId === tabId);\n\n const fKeyLabel = `^F${index + 1}`;\n\n return (\n <Box marginRight={2} borderStyle={isActive ? 'round' : undefined}>\n <WaitingInputIndicator tabId={tabId} />\n <Text color={'#d1d5db'} bold={isActive} dimColor={!isActive}>\n [{fKeyLabel}] {label}\n <UnreadCount tabId={tabId} />\n </Text>\n <LaunchAgent tabId={tabId} />\n </Box>\n );\n});\n\nTabItem.displayName = 'TabItem';\n\nexport const AgentTabs: React.FC = () => {\n const { Box, Text } = useInk();\n // Only select tab IDs - won't re-render when other tab properties change\n const tabIds = useSelector((state: RootState) => state.agentTabs.tabs.map((t) => t.id), shallowEqual);\n const activeTabId = useSelector((state: RootState) => state.agentTabs.activeTabId);\n\n // Get the effective working directory for the active tab\n const activeWorkingDir = useMemo(() => {\n if (!activeTabId) return null;\n\n try {\n const agentManager = cliContainer.get<AgentManager>(GLOBAL_TYPES.AgentManager);\n const agentContainer = agentManager.getAgentContainer(activeTabId);\n\n if (agentContainer) {\n const agentConfigService = agentContainer.get<AgentConfigService>(AGENT_TYPES.AgentConfigService);\n return agentConfigService.getEffectiveWorkingDir();\n }\n } catch {\n // Container or service not available yet\n }\n\n return process.cwd();\n }, [activeTabId]);\n\n return (\n <Box flexDirection=\"column\" marginTop={1}>\n <Box alignItems=\"center\" borderTop borderTopColor={'#d1d5db'} borderDimColor>\n {tabIds.map((tabId, index) => (\n <TabItem key={tabId} tabId={tabId} index={index} />\n ))}\n </Box>\n {activeWorkingDir && <Text dimColor>{activeWorkingDir}</Text>}\n {isMacOS && <Text dimColor>Press fn + Shift + F[num] to switch tabs</Text>}\n </Box>\n );\n};\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '@/store';\nimport { StdinForwarder } from '@/systems/cli/components/StdinForwarder';\nimport { AgentView } from '../../../../components/AgentView';\nimport { BoxSizeMeasure } from '../../../../components/BoxSizeMeasure';\nimport { CAPermissionGuard } from '../../../../components/CAPermissionGuard';\nimport { useInk } from '../../../../contexts/InkContext';\nimport { AgentTabs } from '../../components/AgentTabs';\n\nexport const Agents: React.FC = () => {\n const { Box } = useInk();\n const activeTabId = useSelector((state: RootState) => state.agentTabs.activeTabId);\n // F-key tab switching is handled by StdinForwarder via escape sequences\n\n return (\n <Box flexDirection=\"column\" flexGrow={1}>\n <CAPermissionGuard>\n <AgentView key={activeTabId} />\n </CAPermissionGuard>\n <BoxSizeMeasure>\n <AgentTabs />\n </BoxSizeMeasure>\n <StdinForwarder />\n </Box>\n );\n};\n","import React from 'react';\nimport { useInk } from '../../../../contexts/InkContext';\n\nexport const Onboarding: React.FC = () => {\n const { Box, Text } = useInk();\n\n return (\n <Box flexDirection=\"column\" borderStyle=\"round\" borderColor=\"green\" padding={1} flexGrow={1}>\n <Text bold color=\"green\">\n Welcome to Agent CLI Daemon!\n </Text>\n <Box marginTop={1}>\n <Text>It looks like you don't have any active agent sessions.</Text>\n </Box>\n <Box marginTop={1}>\n <Text>\n Please use the Agiflow UI Dashboard to start a{' '}\n <Text bold color=\"blue\">\n Project Plan\n </Text>\n ,{' '}\n <Text bold color=\"blue\">\n Work Unit\n </Text>\n , or{' '}\n <Text bold color=\"blue\">\n Task Chat\n </Text>{' '}\n to begin.\n </Text>\n </Box>\n <Box marginTop={1}>\n <Text dimColor>The Agiflow UI Dashboard can be accessed in your browser.</Text>\n </Box>\n </Box>\n );\n};\n","import 'reflect-metadata'; // Must be first import for InversifyJS\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport React from 'react';\nimport { Provider, useSelector } from 'react-redux';\nimport { RootState, store } from '@/store';\nimport { InkProvider, useInk } from '../../contexts/InkContext';\nimport { DaemonConnectionManager } from './components/DaemonConnectionManager';\nimport { OauthSetup } from './guards/OauthSetup';\nimport { Agents } from './screens/Agents';\nimport { Onboarding } from './screens/Onboarding';\n\n// Create a client with memory management\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: false,\n refetchOnWindowFocus: false,\n gcTime: 5 * 60 * 1000, // Garbage collect unused queries after 5 minutes\n staleTime: 30 * 1000, // Consider data stale after 30 seconds\n },\n },\n});\n\nconst DaemonAppContent: React.FC = () => {\n const { Box } = useInk();\n\n const tabs = useSelector((state: RootState) => state.agentTabs.tabs);\n const hasAgentTabs = tabs.length > 0; // No dashboard, so any tab is an agent\n\n return (\n <OauthSetup>\n {({ isAuthenticated }) => (\n <DaemonConnectionManager>\n <Box flexGrow={1} flexDirection=\"column\">\n {isAuthenticated && !hasAgentTabs ? <Onboarding /> : <Agents />}\n </Box>\n </DaemonConnectionManager>\n )}\n </OauthSetup>\n );\n};\n\nconst DaemonApp: React.FC = () => {\n return (\n <InkProvider>\n <Provider store={store}>\n <QueryClientProvider client={queryClient}>\n <DaemonAppContent />\n </QueryClientProvider>\n </Provider>\n </InkProvider>\n );\n};\n\nexport const startDaemonApp = async () => {\n // Dynamically import Ink's render function to avoid top-level yoga-layout import\n const { render } = await import('ink');\n // Disable Ink's stdin handling - we use StdinManager instead\n const { waitUntilExit } = render(<DaemonApp />, {\n stdin: process.stdin,\n stdout: process.stdout,\n stderr: process.stderr,\n });\n return waitUntilExit();\n};\n"],"names":["DaemonConnectionManager","children","Box","Text","useInk","dispatch","useDispatch","status","useSelector","state","error","isShuttingDown","useRef","useEffect","launchDaemon","setShutdownCallback","daemonManager","cliContainer","GLOBAL_TYPES","clearShutdownCallback","jsxDEV","this","OauthSetup","Newline","Static","Link","useInput","queryClient","useQueryClient","deviceCode","setDeviceCode","useState","accessToken","setAccessToken","organizations","setOrganizations","selectedOrgIndex","setSelectedOrgIndex","setStatus","errorMessage","setErrorMessage","abortControllerRef","authService","credentialsService","existingAuth","isCheckingAuth","useQuery","creds","deviceCodeMutation","useMutation","data","pollTokenMutation","codeResponse","tokenResponse","orgs","exchangeForAgentMutation","organizationId","apiKeyToken","handleSelectOrg","useCallback","_input","key","prev","verificationUrl","org","index","mutationError","displayMessage","isMacOS","UnreadCount","React","tabId","unreadCount","t","isActive","Fragment","WaitingInputIndicator","waitingInput","TabItem","label","fKeyLabel","LaunchAgent","AgentTabs","tabIds","shallowEqual","activeTabId","activeWorkingDir","useMemo","agentContainer","AGENT_TYPES","Agents","CAPermissionGuard","AgentView","BoxSizeMeasure","StdinForwarder","Onboarding","QueryClient","DaemonAppContent","hasAgentTabs","isAuthenticated","DaemonApp","InkProvider","Provider","store","QueryClientProvider","startDaemonApp","render","waitUntilExit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sources":["../src/systems/cli/apps/daemon/components/DaemonConnectionManager.tsx","../src/systems/cli/apps/daemon/guards/OauthSetup.tsx","../src/systems/cli/apps/daemon/components/AgentTabs.tsx","../src/systems/cli/apps/daemon/screens/Agents/index.tsx","../src/systems/cli/apps/daemon/screens/Onboarding/index.tsx","../src/systems/cli/apps/daemon/index.tsx"],"sourcesContent":["import { cliContainer } from '@cli/container';\nimport React, { useEffect, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport type { DaemonManager } from '@/services';\nimport type { AppDispatch } from '@/store';\nimport { RootState } from '@/store';\nimport { launchDaemon } from '@/store/slices/daemonStatusSlice';\nimport { GLOBAL_TYPES } from '@/types';\nimport { useInk } from '../../../contexts/InkContext';\nimport { clearShutdownCallback, setShutdownCallback } from '../../../services/StdinManager';\n\ninterface DaemonConnectionManagerProps {\n children: React.ReactNode;\n}\n\nexport const DaemonConnectionManager: React.FC<DaemonConnectionManagerProps> = ({ children }) => {\n const { Box, Text } = useInk();\n const dispatch = useDispatch<AppDispatch>();\n const status = useSelector((state: RootState) => state.daemonStatus.status);\n const error = useSelector((state: RootState) => state.daemonStatus.error);\n const isShuttingDown = useRef(false);\n\n useEffect(() => {\n dispatch(launchDaemon());\n\n // Register shutdown callback for Ctrl+C handling\n const handleShutdown = async () => {\n if (isShuttingDown.current) return;\n isShuttingDown.current = true;\n\n try {\n const daemonManager = cliContainer.get<DaemonManager>(GLOBAL_TYPES.DaemonManager);\n if (daemonManager.isRunning()) {\n await daemonManager.stop();\n }\n } catch {\n // Ignore errors during shutdown\n }\n // daemonManager.stop() calls process.exit() at the end\n };\n\n setShutdownCallback(handleShutdown);\n\n return () => {\n clearShutdownCallback();\n };\n }, [dispatch]);\n\n if (status === 'starting') {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Text color=\"yellow\">Connecting to Agiflow...</Text>\n </Box>\n );\n }\n\n if (status === 'error') {\n return (\n <Box flexDirection=\"column\" padding={1} borderStyle=\"round\" borderColor=\"red\">\n <Text color=\"red\" bold>\n Connection Error\n </Text>\n <Text>{error}</Text>\n <Text dimColor>Retrying in background...</Text>\n </Box>\n );\n }\n\n if (status === 'connected') {\n return <>{children}</>;\n }\n\n return null;\n};\n","import { cliContainer } from '@cli/container';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { CredentialsService, DeviceCodeAuthService, type DeviceCodeResponse, type OrganizationInfo } from '@/services';\nimport { GLOBAL_TYPES } from '@/types';\nimport { useInk } from '../../../contexts/InkContext';\n\ninterface OauthSetupProps {\n children: (props: { isAuthenticated: boolean }) => React.ReactNode;\n}\n\ntype AuthStatus =\n | 'checking'\n | 'requesting_code'\n | 'polling'\n | 'selecting_org'\n | 'exchanging'\n | 'authenticated'\n | 'error';\n\nexport const OauthSetup: React.FC<OauthSetupProps> = ({ children }) => {\n const { Box, Text, Newline, Static, Link, useInput } = useInk();\n const queryClient = useQueryClient();\n const [deviceCode, setDeviceCode] = useState<DeviceCodeResponse | null>(null);\n const [accessToken, setAccessToken] = useState<string | null>(null);\n const [organizations, setOrganizations] = useState<OrganizationInfo[]>([]);\n const [selectedOrgIndex, setSelectedOrgIndex] = useState(0);\n const [status, setStatus] = useState<AuthStatus>('checking');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const abortControllerRef = useRef<AbortController | null>(null);\n\n // Get services from DI container\n const authService = cliContainer.get<DeviceCodeAuthService>(GLOBAL_TYPES.DeviceCodeAuthService);\n const credentialsService = cliContainer.get<CredentialsService>(GLOBAL_TYPES.CredentialsService);\n\n // Check existing authentication\n const { data: existingAuth, isLoading: isCheckingAuth } = useQuery({\n queryKey: ['auth', 'check'],\n queryFn: async () => {\n const creds = await credentialsService.load();\n if (creds && creds.apiKey && creds.expiresAt && authService.isTokenValid(creds.expiresAt)) {\n return { authenticated: true };\n }\n return { authenticated: false };\n },\n retry: false,\n });\n\n // Request device code\n const deviceCodeMutation = useMutation({\n mutationFn: async () => {\n setStatus('requesting_code');\n return authService.requestDeviceCode('openid profile email');\n },\n onSuccess: (data) => {\n setDeviceCode(data);\n setStatus('polling');\n pollTokenMutation.mutate(data);\n },\n onError: (error) => {\n setStatus('error');\n setErrorMessage(error instanceof Error ? error.message : 'Failed to request device code');\n },\n });\n\n // Poll for token - now just gets token and organizations, doesn't exchange yet\n const pollTokenMutation = useMutation({\n mutationFn: async (codeResponse: DeviceCodeResponse) => {\n abortControllerRef.current = new AbortController();\n\n // Poll for the access token\n const tokenResponse = await authService.pollForToken(codeResponse.device_code, codeResponse.interval || 5, {\n signal: abortControllerRef.current.signal,\n });\n\n // Get user's organizations\n const orgs = await authService.listOrganizations(tokenResponse.access_token);\n\n return { accessToken: tokenResponse.access_token, organizations: orgs };\n },\n onSuccess: (data) => {\n setAccessToken(data.accessToken);\n setOrganizations(data.organizations);\n\n if (data.organizations.length === 0) {\n setStatus('error');\n setErrorMessage('You have no organizations. Please create one first.');\n } else if (data.organizations.length === 1) {\n // Auto-select single org\n exchangeForAgentMutation.mutate({ accessToken: data.accessToken, organizationId: data.organizations[0].id });\n } else {\n // Show organization selection\n setStatus('selecting_org');\n }\n },\n onError: (error) => {\n setStatus('error');\n setErrorMessage(error instanceof Error ? error.message : 'Failed to poll for token');\n },\n });\n\n // Exchange token for agent API key\n const exchangeForAgentMutation = useMutation({\n mutationFn: async ({ accessToken, organizationId }: { accessToken: string; organizationId: string }) => {\n setStatus('exchanging');\n return authService.exchangeForAgentApiKey(accessToken, organizationId);\n },\n onSuccess: async (apiKeyToken) => {\n // Save to credentials.json\n await credentialsService.setApiKey({\n apiKey: apiKeyToken.api_key,\n organizationId: apiKeyToken.organization_id,\n expiresAt: apiKeyToken.expires_at,\n deviceId: apiKeyToken.device_id,\n });\n\n setStatus('authenticated');\n queryClient.invalidateQueries({ queryKey: ['auth', 'check'] });\n },\n onError: (error) => {\n setStatus('error');\n setErrorMessage(error instanceof Error ? error.message : 'Failed to exchange for agent API key');\n },\n });\n\n // Handle organization selection input\n const handleSelectOrg = useCallback(() => {\n if (accessToken && organizations[selectedOrgIndex]) {\n exchangeForAgentMutation.mutate({\n accessToken,\n organizationId: organizations[selectedOrgIndex].id,\n });\n }\n }, [accessToken, organizations, selectedOrgIndex, exchangeForAgentMutation]);\n\n // Keyboard input for organization selection\n useInput(\n (_input, key) => {\n if (status !== 'selecting_org') return;\n\n if (key.upArrow) {\n setSelectedOrgIndex((prev) => Math.max(0, prev - 1));\n } else if (key.downArrow) {\n setSelectedOrgIndex((prev) => Math.min(organizations.length - 1, prev + 1));\n } else if (key.return) {\n handleSelectOrg();\n }\n },\n { isActive: status === 'selecting_org' },\n );\n\n // Cleanup abort controller on unmount\n useEffect(() => {\n return () => {\n abortControllerRef.current?.abort();\n };\n }, []);\n\n // Trigger device code request when not authenticated\n useEffect(() => {\n if (existingAuth && !existingAuth.authenticated && status === 'checking' && !isCheckingAuth) {\n deviceCodeMutation.mutate();\n }\n }, [existingAuth, status, isCheckingAuth, deviceCodeMutation]);\n\n // Authenticated - render children\n if (existingAuth?.authenticated) {\n return <>{children({ isAuthenticated: true })}</>;\n }\n\n // Checking authentication\n if (isCheckingAuth) {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n <Box borderStyle=\"round\" borderColor=\"cyan\" padding={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text>Checking existing credentials...</Text>\n </Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Requesting device code\n if (deviceCodeMutation.isPending) {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n <Box borderStyle=\"round\" borderColor=\"cyan\" padding={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Checked existing credentials</Text>\n </Text>\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text>Requesting device authorization...</Text>\n </Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Show authentication instructions with automatic polling\n if (deviceCode) {\n const verificationUrl = `${deviceCode.verification_uri}?code=${encodeURIComponent(deviceCode.user_code)}`;\n\n return (\n <Static items={[1]}>\n {() => (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n\n <Box borderStyle=\"round\" borderColor=\"green\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Checked existing credentials</Text>\n </Text>\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Device authorization requested</Text>\n </Text>\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text bold>Polling for authorization...</Text>\n </Text>\n </Box>\n </Box>\n\n <Box borderStyle=\"double\" borderColor=\"yellow\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text bold color=\"yellow\">\n 📋 Authentication Steps:\n </Text>\n <Newline />\n\n <Text>\n <Text bold color=\"cyan\">\n 1.{' '}\n </Text>\n <Text>Open this URL in your browser:</Text>\n </Text>\n <Box paddingLeft={3} marginBottom={1}>\n <Link url={verificationUrl}>\n <Text color=\"blue\" bold>\n {verificationUrl}\n </Text>\n </Link>\n </Box>\n\n <Text>\n <Text bold color=\"cyan\">\n 2.{' '}\n </Text>\n <Text>Enter this verification code:</Text>\n </Text>\n <Box paddingLeft={3} marginBottom={1} borderStyle=\"single\" borderColor=\"green\" paddingX={2}>\n <Text color=\"green\" bold>\n {deviceCode.user_code}\n </Text>\n </Box>\n\n <Text>\n <Text bold color=\"cyan\">\n 3.{' '}\n </Text>\n <Text>Sign in and approve the device</Text>\n </Text>\n <Newline />\n\n <Text dimColor>The CLI will automatically detect when you approve the device.</Text>\n </Box>\n </Box>\n\n <Box borderStyle=\"round\" borderColor=\"gray\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text dimColor>⏱️ Expires in: {Math.floor(deviceCode.expires_in / 60)} minutes</Text>\n <Text dimColor>💡 Tip: The URL includes your verification code for convenience</Text>\n </Box>\n </Box>\n </Box>\n )}\n </Static>\n );\n }\n\n // Organization selection state\n if (status === 'selecting_org') {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n\n <Box borderStyle=\"round\" borderColor=\"green\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Device authorized successfully</Text>\n </Text>\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text bold>Select an organization</Text>\n </Text>\n </Box>\n </Box>\n\n <Box borderStyle=\"double\" borderColor=\"yellow\" padding={1} marginBottom={1}>\n <Box flexDirection=\"column\">\n <Text bold color=\"yellow\">\n 📋 Select Organization:\n </Text>\n <Newline />\n {organizations.map((org, index) => (\n <Text key={org.id}>\n <Text color={index === selectedOrgIndex ? 'green' : 'gray'}>\n {index === selectedOrgIndex ? '❯ ' : ' '}\n </Text>\n <Text bold={index === selectedOrgIndex}>{org.name}</Text>\n <Text dimColor> ({org.slug})</Text>\n </Text>\n ))}\n <Newline />\n <Text dimColor>Use ↑/↓ arrows to navigate, Enter to select</Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Exchanging token state\n if (status === 'exchanging') {\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"cyan\">\n 🔐 Agiflow Authentication\n </Text>\n </Box>\n <Box borderStyle=\"round\" borderColor=\"cyan\" padding={1}>\n <Box flexDirection=\"column\">\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Device authorized</Text>\n </Text>\n <Text>\n <Text color=\"green\">✓ </Text>\n <Text dimColor>Organization selected</Text>\n </Text>\n <Text>\n <Text color=\"cyan\">◉ </Text>\n <Text>Creating agent credentials...</Text>\n </Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Error state\n if (status === 'error' || deviceCodeMutation.isError || pollTokenMutation.isError) {\n const mutationError = deviceCodeMutation.error || pollTokenMutation.error;\n const displayMessage = errorMessage || mutationError?.message || 'Unknown error occurred';\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box marginBottom={1}>\n <Text bold color=\"red\">\n ❌ Authentication Error\n </Text>\n </Box>\n <Box borderStyle=\"round\" borderColor=\"red\" padding={1} marginBottom={1}>\n <Text color=\"red\">{displayMessage}</Text>\n </Box>\n <Box borderStyle=\"single\" borderColor=\"gray\" padding={1}>\n <Box flexDirection=\"column\">\n <Text dimColor>💡 Troubleshooting:</Text>\n <Text dimColor> • Check your internet connection</Text>\n <Text dimColor> • Verify the server URL is correct</Text>\n <Text dimColor> • Ensure the token is valid and not expired</Text>\n <Text dimColor> • Try running the daemon again</Text>\n <Newline />\n <Text dimColor>⌨️ Press Ctrl+C to exit</Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Default loading state\n return null;\n};\n","import React, { useMemo } from 'react';\nimport { shallowEqual, useSelector } from 'react-redux';\nimport type { AgentManager } from '@/services';\nimport { RootState } from '@/store';\nimport { GLOBAL_TYPES } from '@/types';\nimport { LaunchAgent } from '../../../components/LaunchAgent';\nimport { cliContainer } from '../../../container';\nimport { useInk } from '../../../contexts/InkContext';\nimport { AgentConfigService } from '../../../services/agent/AgentConfigService';\nimport { AGENT_TYPES } from '../../../types';\n\nconst isMacOS = process.platform === 'darwin';\n\ninterface TabIndicatorProps {\n tabId: string;\n}\n\ninterface TabItemProps {\n tabId: string;\n index: number;\n}\n\n/**\n * Memoized component to display unread count badge\n * Only re-renders when unreadCount or activeTabId changes for this specific tab\n */\nconst UnreadCount: React.FC<TabIndicatorProps> = React.memo(({ tabId }) => {\n const unreadCount = useSelector((state: RootState) => state.agentTabs.tabs.find((t) => t.id === tabId)?.unreadCount);\n const isActive = useSelector((state: RootState) => state.agentTabs.activeTabId === tabId);\n\n if (!unreadCount || unreadCount <= 0 || isActive) {\n return null;\n }\n\n return <> ({unreadCount})</>;\n});\n\nUnreadCount.displayName = 'UnreadCount';\n\n/**\n * Memoized component to display waiting input indicator (red dot)\n * Only re-renders when waitingInput or activeTabId changes for this specific tab\n */\nconst WaitingInputIndicator: React.FC<TabIndicatorProps> = React.memo(({ tabId }) => {\n const { Text } = useInk();\n const waitingInput = useSelector(\n (state: RootState) => state.agentTabs.tabs.find((t) => t.id === tabId)?.waitingInput,\n );\n const isActive = useSelector((state: RootState) => state.agentTabs.activeTabId === tabId);\n\n if (!waitingInput || isActive) {\n return null;\n }\n\n return <Text color=\"red\">● </Text>;\n});\n\nWaitingInputIndicator.displayName = 'WaitingInputIndicator';\n\n/**\n * Memoized component for individual tab rendering\n * Selects only the data it needs (id, label) to minimize re-renders\n */\nconst TabItem: React.FC<TabItemProps> = React.memo(({ tabId, index }) => {\n const { Box, Text } = useInk();\n const label = useSelector((state: RootState) => state.agentTabs.tabs.find((t) => t.id === tabId)?.label);\n const isActive = useSelector((state: RootState) => state.agentTabs.activeTabId === tabId);\n\n const fKeyLabel = `^F${index + 1}`;\n\n return (\n <Box marginRight={2} borderStyle={isActive ? 'round' : undefined}>\n <WaitingInputIndicator tabId={tabId} />\n <Text color={'#d1d5db'} bold={isActive} dimColor={!isActive}>\n [{fKeyLabel}] {label}\n <UnreadCount tabId={tabId} />\n </Text>\n <LaunchAgent tabId={tabId} />\n </Box>\n );\n});\n\nTabItem.displayName = 'TabItem';\n\nexport const AgentTabs: React.FC = () => {\n const { Box, Text } = useInk();\n // Only select tab IDs - won't re-render when other tab properties change\n const tabIds = useSelector((state: RootState) => state.agentTabs.tabs.map((t) => t.id), shallowEqual);\n const activeTabId = useSelector((state: RootState) => state.agentTabs.activeTabId);\n\n // Get the effective working directory for the active tab\n const activeWorkingDir = useMemo(() => {\n if (!activeTabId) return null;\n\n try {\n const agentManager = cliContainer.get<AgentManager>(GLOBAL_TYPES.AgentManager);\n const agentContainer = agentManager.getAgentContainer(activeTabId);\n\n if (agentContainer) {\n const agentConfigService = agentContainer.get<AgentConfigService>(AGENT_TYPES.AgentConfigService);\n return agentConfigService.getEffectiveWorkingDir();\n }\n } catch {\n // Container or service not available yet\n }\n\n return process.cwd();\n }, [activeTabId]);\n\n return (\n <Box flexDirection=\"column\" marginTop={1}>\n <Box alignItems=\"center\" borderTop borderTopColor={'#d1d5db'} borderDimColor>\n {tabIds.map((tabId, index) => (\n <TabItem key={tabId} tabId={tabId} index={index} />\n ))}\n </Box>\n {activeWorkingDir && <Text dimColor>{activeWorkingDir}</Text>}\n {isMacOS && <Text dimColor>Press fn + Shift + F[num] to switch tabs</Text>}\n </Box>\n );\n};\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '@/store';\nimport { StdinForwarder } from '@/systems/cli/components/StdinForwarder';\nimport { AgentView } from '../../../../components/AgentView';\nimport { BoxSizeMeasure } from '../../../../components/BoxSizeMeasure';\nimport { CAPermissionGuard } from '../../../../components/CAPermissionGuard';\nimport { useInk } from '../../../../contexts/InkContext';\nimport { AgentTabs } from '../../components/AgentTabs';\n\nexport const Agents: React.FC = () => {\n const { Box } = useInk();\n const activeTabId = useSelector((state: RootState) => state.agentTabs.activeTabId);\n // F-key tab switching is handled by StdinForwarder via escape sequences\n\n return (\n <Box flexDirection=\"column\" flexGrow={1}>\n <CAPermissionGuard>\n <AgentView key={activeTabId} />\n </CAPermissionGuard>\n <BoxSizeMeasure>\n <AgentTabs />\n </BoxSizeMeasure>\n <StdinForwarder />\n </Box>\n );\n};\n","import React from 'react';\nimport { useInk } from '../../../../contexts/InkContext';\n\nexport const Onboarding: React.FC = () => {\n const { Box, Text } = useInk();\n\n return (\n <Box flexDirection=\"column\" borderStyle=\"round\" borderColor=\"green\" padding={1} flexGrow={1}>\n <Text bold color=\"green\">\n Welcome to Agent CLI Daemon!\n </Text>\n <Box marginTop={1}>\n <Text>It looks like you don't have any active agent sessions.</Text>\n </Box>\n <Box marginTop={1}>\n <Text>\n Please use the Agiflow UI Dashboard to start a{' '}\n <Text bold color=\"blue\">\n Project Plan\n </Text>\n ,{' '}\n <Text bold color=\"blue\">\n Work Unit\n </Text>\n , or{' '}\n <Text bold color=\"blue\">\n Task Chat\n </Text>{' '}\n to begin.\n </Text>\n </Box>\n <Box marginTop={1}>\n <Text dimColor>The Agiflow UI Dashboard can be accessed in your browser.</Text>\n </Box>\n </Box>\n );\n};\n","import 'reflect-metadata'; // Must be first import for InversifyJS\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport React from 'react';\nimport { Provider, useSelector } from 'react-redux';\nimport { RootState, store } from '@/store';\nimport { InkProvider, useInk } from '../../contexts/InkContext';\nimport { DaemonConnectionManager } from './components/DaemonConnectionManager';\nimport { OauthSetup } from './guards/OauthSetup';\nimport { Agents } from './screens/Agents';\nimport { Onboarding } from './screens/Onboarding';\n\n// Create a client with memory management\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: false,\n refetchOnWindowFocus: false,\n gcTime: 5 * 60 * 1000, // Garbage collect unused queries after 5 minutes\n staleTime: 30 * 1000, // Consider data stale after 30 seconds\n },\n },\n});\n\nconst DaemonAppContent: React.FC = () => {\n const { Box } = useInk();\n\n const tabs = useSelector((state: RootState) => state.agentTabs.tabs);\n const hasAgentTabs = tabs.length > 0; // No dashboard, so any tab is an agent\n\n return (\n <OauthSetup>\n {({ isAuthenticated }) => (\n <DaemonConnectionManager>\n <Box flexGrow={1} flexDirection=\"column\">\n {isAuthenticated && !hasAgentTabs ? <Onboarding /> : <Agents />}\n </Box>\n </DaemonConnectionManager>\n )}\n </OauthSetup>\n );\n};\n\nconst DaemonApp: React.FC = () => {\n return (\n <InkProvider>\n <Provider store={store}>\n <QueryClientProvider client={queryClient}>\n <DaemonAppContent />\n </QueryClientProvider>\n </Provider>\n </InkProvider>\n );\n};\n\nexport const startDaemonApp = async () => {\n // Dynamically import Ink's render function to avoid top-level yoga-layout import\n const { render } = await import('ink');\n // Disable Ink's stdin handling - we use StdinManager instead\n const { waitUntilExit } = render(<DaemonApp />, {\n stdin: process.stdin,\n stdout: process.stdout,\n stderr: process.stderr,\n });\n return waitUntilExit();\n};\n"],"names":["DaemonConnectionManager","children","Box","Text","useInk","dispatch","useDispatch","status","useSelector","state","error","isShuttingDown","useRef","useEffect","launchDaemon","setShutdownCallback","daemonManager","cliContainer","GLOBAL_TYPES","clearShutdownCallback","jsx","jsxs","OauthSetup","Newline","Static","Link","useInput","queryClient","useQueryClient","deviceCode","setDeviceCode","useState","accessToken","setAccessToken","organizations","setOrganizations","selectedOrgIndex","setSelectedOrgIndex","setStatus","errorMessage","setErrorMessage","abortControllerRef","authService","credentialsService","existingAuth","isCheckingAuth","useQuery","creds","deviceCodeMutation","useMutation","data","pollTokenMutation","codeResponse","tokenResponse","orgs","exchangeForAgentMutation","organizationId","apiKeyToken","handleSelectOrg","useCallback","_input","key","prev","verificationUrl","org","index","mutationError","displayMessage","isMacOS","UnreadCount","React","tabId","unreadCount","t","isActive","Fragment","WaitingInputIndicator","waitingInput","TabItem","label","fKeyLabel","LaunchAgent","AgentTabs","tabIds","shallowEqual","activeTabId","activeWorkingDir","useMemo","agentContainer","AGENT_TYPES","Agents","CAPermissionGuard","AgentView","BoxSizeMeasure","StdinForwarder","Onboarding","QueryClient","DaemonAppContent","hasAgentTabs","isAuthenticated","DaemonApp","InkProvider","Provider","store","QueryClientProvider","startDaemonApp","render","waitUntilExit"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as a, a as t, b as n, c as S, d as m, e as o, f as E, g as c, h as A, i as g, j as h, k as v, l as
|
|
1
|
+
import { A as a, a as t, b as n, c as S, d as m, e as o, f as E, g as c, h as A, i as g, j as h, k as v, l as i, m as u, n as r, o as R, p, q as D, r as T, s as M, t as q, u as O, v as d, w as k, x as N, y as _, z as C, B as P, C as l, D as I, E as G, F as U, G as f, H as L, I as Y, J as B, K as V, L as x, M as y, N as z, O as b, P as j, Q as w, R as F, S as H, T as J, U as K, V as Q, W, X, Y as Z, Z as $, _ as ee, $ as se, a0 as ae, a1 as te, a2 as ne } from "./index-CPSRdi5k.mjs";
|
|
2
2
|
export {
|
|
3
3
|
a as AGENT_EVENT_TYPES,
|
|
4
4
|
t as AGENT_STATUS,
|
|
@@ -12,8 +12,8 @@ export {
|
|
|
12
12
|
g as AgentSessionMessageDeletedAckEventSchema,
|
|
13
13
|
h as AgentSessionMessageDeletedEventSchema,
|
|
14
14
|
v as AgentSessionMessageInputAckEventSchema,
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
i as AgentSessionMessageInputRequestEventSchema,
|
|
16
|
+
u as AgentSessionMessageInputResponseEventSchema,
|
|
17
17
|
r as AgentSessionMessageOutputAckEventSchema,
|
|
18
18
|
R as AgentSessionMessageOutputEndedEventSchema,
|
|
19
19
|
p as AgentSessionMessageOutputPermissionRequestedEventSchema,
|
|
@@ -26,15 +26,15 @@ export {
|
|
|
26
26
|
k as AgentSessionResizeRequestEventSchema,
|
|
27
27
|
N as AgentSessionStatusAckEventSchema,
|
|
28
28
|
_ as AgentSessionStatusRequestEventSchema,
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
C as AgentSessionStatusResponseEventSchema,
|
|
30
|
+
P as AgentSessionStopAgentRequestEventSchema,
|
|
31
31
|
l as AgentStatusSchema,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
I as AgentTypeSchema,
|
|
33
|
+
G as BaseAgentSessionEventSchema,
|
|
34
|
+
U as BaseDaemonEventSchema,
|
|
35
|
+
f as COMMANDS,
|
|
36
|
+
L as DAEMON_EVENT_TYPES,
|
|
37
|
+
Y as DAEMON_STATUS,
|
|
38
38
|
B as DaemonErrorRequestEventSchema,
|
|
39
39
|
V as DaemonErrorResponseEventSchema,
|
|
40
40
|
x as DaemonListAgentSessionsAckEventSchema,
|
|
@@ -53,8 +53,9 @@ export {
|
|
|
53
53
|
Z as DaemonTerminateRequestEventSchema,
|
|
54
54
|
$ as DaemonTerminateResponseEventSchema,
|
|
55
55
|
ee as EventTargetSchema,
|
|
56
|
-
se as
|
|
57
|
-
ae as
|
|
58
|
-
te as
|
|
56
|
+
se as GitCloneConfigSchema,
|
|
57
|
+
ae as OUTPUT_STREAMS,
|
|
58
|
+
te as OutputStreamSchema,
|
|
59
|
+
ne as TraceIdSchema
|
|
59
60
|
};
|
|
60
|
-
//# sourceMappingURL=index-
|
|
61
|
+
//# sourceMappingURL=index-BKpNk4j3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BKpNk4j3.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|