@agiflowai/agent-cli 0.2.0 → 0.2.1

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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1
4
+ Fix:
5
+ - Fix docker image used for sandbox.
6
+
3
7
  ## 0.2.0
4
8
  Change:
5
9
  - Support progressive tool discovery with one-mcp.
@@ -12483,7 +12483,7 @@ let er = class {
12483
12483
  this.runtimeConfig = mh.parse(e), this.appConfig = gh.parse({
12484
12484
  VITE_INJECT_AGIFLOW_APP_ENDPOINT: "https://agiflow.io",
12485
12485
  VITE_INJECT_AGIFLOW_APP_DOCKER_ENDPOINT: "https://agiflow.io",
12486
- VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.0",
12486
+ VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.1",
12487
12487
  VITE_AGENT_CLI_DOCKER_NETWORK: "",
12488
12488
  VITE_SAVE_RAW: "",
12489
12489
  VITE_MULTIPLEX_SOCKET_PATH: process.env.VITE_MULTIPLEX_SOCKET_PATH
@@ -12482,7 +12482,7 @@ let er = class {
12482
12482
  this.runtimeConfig = vh.parse(e), this.appConfig = ph.parse({
12483
12483
  VITE_INJECT_AGIFLOW_APP_ENDPOINT: "https://agiflow.io",
12484
12484
  VITE_INJECT_AGIFLOW_APP_DOCKER_ENDPOINT: "https://agiflow.io",
12485
- VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.0",
12485
+ VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.1",
12486
12486
  VITE_AGENT_CLI_DOCKER_NETWORK: "",
12487
12487
  VITE_SAVE_RAW: "",
12488
12488
  VITE_MULTIPLEX_SOCKET_PATH: process.env.VITE_MULTIPLEX_SOCKET_PATH
@@ -12482,7 +12482,7 @@ let er = class {
12482
12482
  this.runtimeConfig = vh.parse(e), this.appConfig = ph.parse({
12483
12483
  VITE_INJECT_AGIFLOW_APP_ENDPOINT: "https://agiflow.io",
12484
12484
  VITE_INJECT_AGIFLOW_APP_DOCKER_ENDPOINT: "https://agiflow.io",
12485
- VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.0",
12485
+ VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.1",
12486
12486
  VITE_AGENT_CLI_DOCKER_NETWORK: "",
12487
12487
  VITE_SAVE_RAW: "",
12488
12488
  VITE_MULTIPLEX_SOCKET_PATH: process.env.VITE_MULTIPLEX_SOCKET_PATH
@@ -12410,7 +12410,7 @@ let Kn = class {
12410
12410
  this.runtimeConfig = dh.parse(e), this.appConfig = fh.parse({
12411
12411
  VITE_INJECT_AGIFLOW_APP_ENDPOINT: "https://agiflow.io",
12412
12412
  VITE_INJECT_AGIFLOW_APP_DOCKER_ENDPOINT: "https://agiflow.io",
12413
- VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.0",
12413
+ VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.1",
12414
12414
  VITE_AGENT_CLI_DOCKER_NETWORK: "",
12415
12415
  VITE_SAVE_RAW: "",
12416
12416
  VITE_MULTIPLEX_SOCKET_PATH: process.env.VITE_MULTIPLEX_SOCKET_PATH
@@ -12410,7 +12410,7 @@ let Wn = class {
12410
12410
  this.runtimeConfig = ch.parse(e), this.appConfig = lh.parse({
12411
12411
  VITE_INJECT_AGIFLOW_APP_ENDPOINT: "https://agiflow.io",
12412
12412
  VITE_INJECT_AGIFLOW_APP_DOCKER_ENDPOINT: "https://agiflow.io",
12413
- VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.0",
12413
+ VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.1",
12414
12414
  VITE_AGENT_CLI_DOCKER_NETWORK: "",
12415
12415
  VITE_SAVE_RAW: "",
12416
12416
  VITE_MULTIPLEX_SOCKET_PATH: process.env.VITE_MULTIPLEX_SOCKET_PATH
@@ -12490,7 +12490,7 @@ let er = class {
12490
12490
  this.runtimeConfig = ph.parse(e), this.appConfig = hh.parse({
12491
12491
  VITE_INJECT_AGIFLOW_APP_ENDPOINT: "https://agiflow.io",
12492
12492
  VITE_INJECT_AGIFLOW_APP_DOCKER_ENDPOINT: "https://agiflow.io",
12493
- VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.0",
12493
+ VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.1",
12494
12494
  VITE_AGENT_CLI_DOCKER_NETWORK: "",
12495
12495
  VITE_SAVE_RAW: "",
12496
12496
  VITE_MULTIPLEX_SOCKET_PATH: process.env.VITE_MULTIPLEX_SOCKET_PATH
@@ -12484,7 +12484,7 @@ let er = class {
12484
12484
  this.runtimeConfig = fh.parse(e), this.appConfig = mh.parse({
12485
12485
  VITE_INJECT_AGIFLOW_APP_ENDPOINT: "https://agiflow.io",
12486
12486
  VITE_INJECT_AGIFLOW_APP_DOCKER_ENDPOINT: "https://agiflow.io",
12487
- VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.0",
12487
+ VITE_AGENT_CLI_DOCKER_IMAGE: "agiflowai/agent-cli:v0.2.1",
12488
12488
  VITE_AGENT_CLI_DOCKER_NETWORK: "",
12489
12489
  VITE_SAVE_RAW: "",
12490
12490
  VITE_MULTIPLEX_SOCKET_PATH: process.env.VITE_MULTIPLEX_SOCKET_PATH
@@ -13815,7 +13815,7 @@ async function Dh() {
13815
13815
  process.exit(0);
13816
13816
  return;
13817
13817
  }
13818
- await new Ph(t, r, i).processStop(e), process.exit(0);
13818
+ await new Ph(t, r, i).processStop(e), process.stdout.write(JSON.stringify({})), process.exit(0);
13819
13819
  } catch (e) {
13820
13820
  Ce.error("Unexpected error in Stop hook", e), process.exit(0);
13821
13821
  }
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { bw as z, bm as H, bx as P, bn as M } from "./index-B3XUySII.mjs";
2
+ import { bw as z, bm as H, bx as P, bn as M } from "./index-C8KSZpOG.mjs";
3
3
  import Q from "node:events";
4
4
  import X from "node:child_process";
5
5
  import Z from "node:path";
package/dist/daemon.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bh as g, bi as O, bj as e, bk as C, bl as T, bm as y, bn as w, bo as A, bp as I, bq as B, br as M, bs as P, bt as _, bu as L, bv as F } from "./index-B3XUySII.mjs";
1
+ import { bh as g, bi as O, bj as e, bk as C, bl as T, bm as y, bn as w, bo as A, bp as I, bq as B, br as M, bs as P, bt as _, bu as L, bv as F } from "./index-C8KSZpOG.mjs";
2
2
  import { useQueryClient as R, useQuery as q, useMutation as E, QueryClientProvider as z, QueryClient as K } from "@tanstack/react-query";
3
3
  import { useDispatch as W, useSelector as N, Provider as $ } from "react-redux";
4
4
  import { useRef as U, useEffect as V, useState as D, useMemo as G } from "react";
@@ -656,7 +656,7 @@ const Q = ({ children: i }) => {
656
656
  return n.find((t) => t.id === o)?.request.payload.agentConfig?.workingDirectory || process.cwd();
657
657
  }, [o, n]);
658
658
  return /* @__PURE__ */ e.jsxDEV(i, { flexDirection: "column", marginTop: 1, children: [
659
- /* @__PURE__ */ e.jsxDEV(i, { borderStyle: "single", borderColor: "gray", children: n.map((a, t) => {
659
+ /* @__PURE__ */ e.jsxDEV(i, { alignItems: "center", borderTop: !0, borderTopColor: "#d1d5db", borderDimColor: !0, children: n.map((a, t) => {
660
660
  const r = `^F${t + 1}`;
661
661
  return /* @__PURE__ */ e.jsxDEV(i, { marginRight: 2, borderStyle: o === a.id ? "round" : void 0, children: [
662
662
  /* @__PURE__ */ e.jsxDEV(s, { color: "#d1d5db", bold: o === a.id, dimColor: o !== a.id, children: [
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sources":["../src/systems/cli/apps/daemon/components/DaemonConnectionManager.tsx","../src/systems/cli/apps/daemon/components/TokenInput.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 React, { useRef, useState } from 'react';\nimport { useInk } from '../../../contexts/InkContext';\n\ninterface TokenInputProps {\n onSubmit: (token: string) => void;\n onCancel?: () => void;\n}\n\nexport const TokenInput: React.FC<TokenInputProps> = ({ onSubmit, onCancel }) => {\n const { Box, Text, useInput } = useInk();\n const [value, setValue] = useState('');\n const valueRef = useRef('');\n\n useInput((input, key) => {\n // Ctrl+C clears text if there's any, otherwise allows default behavior (exit)\n if (key.ctrl && input === 'c' && valueRef.current.length > 0) {\n valueRef.current = '';\n setValue('');\n return;\n }\n\n if (key.return) {\n const currentValue = valueRef.current.trim();\n if (currentValue) {\n onSubmit(currentValue);\n }\n return;\n }\n\n if (key.escape) {\n onCancel?.();\n return;\n }\n\n if (key.backspace || key.delete) {\n const newValue = valueRef.current.slice(0, -1);\n valueRef.current = newValue;\n setValue(newValue);\n return;\n }\n\n if (input && !key.ctrl && !key.meta) {\n const newValue = valueRef.current + input;\n valueRef.current = newValue;\n setValue(newValue);\n }\n });\n\n return (\n <Box flexDirection=\"column\">\n <Text>\n <Text bold color=\"cyan\">\n Token:{' '}\n </Text>\n <Text color=\"green\">{value.length > 0 ? `${value.slice(0, 20)}...` : <Text dimColor>(paste token)</Text>}</Text>\n </Text>\n <Text dimColor>\n <Text bold>Enter</Text> to submit • <Text bold>Esc</Text> to cancel\n </Text>\n </Box>\n );\n};\n","import { cliContainer } from '@cli/container';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport React, { useEffect, useState } from 'react';\nimport { CredentialsService, DeviceCodeAuthService, type DeviceCodeResponse } from '@/services';\nimport { GLOBAL_TYPES } from '@/types';\nimport { useInk } from '../../../contexts/InkContext';\nimport { TokenInput } from '../components/TokenInput';\n\ninterface OauthSetupProps {\n children: (props: { isAuthenticated: boolean }) => React.ReactNode;\n}\n\nexport const OauthSetup: React.FC<OauthSetupProps> = ({ children }) => {\n const { Box, Text, Newline, Static, Link } = useInk();\n const queryClient = useQueryClient();\n const [deviceCode, setDeviceCode] = useState<DeviceCodeResponse | null>(null);\n const [showTokenInput, setShowTokenInput] = useState(false);\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 const baseUrl = authService.getServerUrl();\n const clientId = authService.getClientId();\n\n const response = await fetch(`${baseUrl}/api/v1/oauth/device/authorize`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n client_id: clientId,\n scope: 'openid profile email',\n }),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error_description || `Device authorization failed: ${response.status}`);\n }\n\n return response.json() as Promise<DeviceCodeResponse>;\n },\n onSuccess: (data) => {\n setDeviceCode(data);\n setShowTokenInput(true);\n },\n });\n\n // Verify token mutation\n const verifyTokenMutation = useMutation({\n mutationFn: async (token: string) => {\n if (!deviceCode) {\n throw new Error('Device code not available');\n }\n const apiKeyToken = await authService.exchangeTokenForApiKey(token, deviceCode.device_code);\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 return { success: true };\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['auth', 'check'] });\n },\n });\n\n // Trigger device code request when not authenticated\n useEffect(() => {\n if (existingAuth && !existingAuth.authenticated && !deviceCodeMutation.isPending && !deviceCode) {\n deviceCodeMutation.mutate();\n }\n }, [existingAuth, deviceCodeMutation, deviceCode]);\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\n if (deviceCode) {\n const verificationUrl = `${deviceCode.verification_uri}?code=${encodeURIComponent(deviceCode.user_code)}`;\n\n return (\n <>\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>Waiting for browser confirmation</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 authorize the device</Text>\n </Text>\n <Newline />\n\n <Text>\n <Text bold color=\"cyan\">\n 4.{' '}\n </Text>\n <Text>Copy the verification token (JWT) shown after confirmation</Text>\n </Text>\n <Newline />\n\n <Text dimColor>The browser will show a long token that starts with \"eyJ...\"</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 {showTokenInput && (\n <Box borderStyle=\"round\" borderColor=\"cyan\" padding={1}>\n <TokenInput\n onSubmit={(token) => verifyTokenMutation.mutate(token)}\n onCancel={() => setShowTokenInput(false)}\n />\n </Box>\n )}\n </>\n );\n }\n\n // Verifying token\n if (verifyTokenMutation.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=\"cyan\">◉ </Text>\n <Text>Verifying token...</Text>\n </Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Error state\n if (deviceCodeMutation.isError || verifyTokenMutation.isError) {\n const error = deviceCodeMutation.error || verifyTokenMutation.error;\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\">{error?.message || 'Unknown error occurred'}</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 { 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\nexport const AgentTabs: React.FC = () => {\n const { Box, Text } = useInk();\n const tabs = useSelector((state: RootState) => state.agentTabs.tabs);\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 // Fallback to request config working directory\n const activeTab = tabs.find((t) => t.id === activeTabId);\n return activeTab?.request.payload.agentConfig?.workingDirectory || process.cwd();\n }, [activeTabId, tabs]);\n\n return (\n <Box flexDirection=\"column\" marginTop={1}>\n <Box borderStyle=\"single\" borderColor=\"gray\">\n {tabs.map((tab, index) => {\n const fKeyLabel = `^F${index + 1}`; // Ctrl+F on macOS\n return (\n <Box key={tab.id} marginRight={2} borderStyle={activeTabId === tab.id ? 'round' : undefined}>\n <Text color={'#d1d5db'} bold={activeTabId === tab.id} dimColor={activeTabId !== tab.id}>\n [{fKeyLabel}] {tab.label}\n {tab.unreadCount && tab.unreadCount > 0 && tab.id !== activeTabId ? ` (${tab.unreadCount})` : ''}\n </Text>\n <LaunchAgent tab={tab} />\n </Box>\n );\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","TokenInput","onSubmit","onCancel","useInput","value","setValue","useState","valueRef","input","key","currentValue","newValue","OauthSetup","Newline","Static","Link","queryClient","useQueryClient","deviceCode","setDeviceCode","showTokenInput","setShowTokenInput","authService","credentialsService","existingAuth","isCheckingAuth","useQuery","creds","deviceCodeMutation","useMutation","baseUrl","clientId","response","errorData","data","verifyTokenMutation","token","apiKeyToken","verificationUrl","Fragment","isMacOS","AgentTabs","tabs","activeTabId","activeWorkingDir","useMemo","agentContainer","AGENT_TYPES","tab","index","fKeyLabel","LaunchAgent","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/components/TokenInput.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 React, { useRef, useState } from 'react';\nimport { useInk } from '../../../contexts/InkContext';\n\ninterface TokenInputProps {\n onSubmit: (token: string) => void;\n onCancel?: () => void;\n}\n\nexport const TokenInput: React.FC<TokenInputProps> = ({ onSubmit, onCancel }) => {\n const { Box, Text, useInput } = useInk();\n const [value, setValue] = useState('');\n const valueRef = useRef('');\n\n useInput((input, key) => {\n // Ctrl+C clears text if there's any, otherwise allows default behavior (exit)\n if (key.ctrl && input === 'c' && valueRef.current.length > 0) {\n valueRef.current = '';\n setValue('');\n return;\n }\n\n if (key.return) {\n const currentValue = valueRef.current.trim();\n if (currentValue) {\n onSubmit(currentValue);\n }\n return;\n }\n\n if (key.escape) {\n onCancel?.();\n return;\n }\n\n if (key.backspace || key.delete) {\n const newValue = valueRef.current.slice(0, -1);\n valueRef.current = newValue;\n setValue(newValue);\n return;\n }\n\n if (input && !key.ctrl && !key.meta) {\n const newValue = valueRef.current + input;\n valueRef.current = newValue;\n setValue(newValue);\n }\n });\n\n return (\n <Box flexDirection=\"column\">\n <Text>\n <Text bold color=\"cyan\">\n Token:{' '}\n </Text>\n <Text color=\"green\">{value.length > 0 ? `${value.slice(0, 20)}...` : <Text dimColor>(paste token)</Text>}</Text>\n </Text>\n <Text dimColor>\n <Text bold>Enter</Text> to submit • <Text bold>Esc</Text> to cancel\n </Text>\n </Box>\n );\n};\n","import { cliContainer } from '@cli/container';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport React, { useEffect, useState } from 'react';\nimport { CredentialsService, DeviceCodeAuthService, type DeviceCodeResponse } from '@/services';\nimport { GLOBAL_TYPES } from '@/types';\nimport { useInk } from '../../../contexts/InkContext';\nimport { TokenInput } from '../components/TokenInput';\n\ninterface OauthSetupProps {\n children: (props: { isAuthenticated: boolean }) => React.ReactNode;\n}\n\nexport const OauthSetup: React.FC<OauthSetupProps> = ({ children }) => {\n const { Box, Text, Newline, Static, Link } = useInk();\n const queryClient = useQueryClient();\n const [deviceCode, setDeviceCode] = useState<DeviceCodeResponse | null>(null);\n const [showTokenInput, setShowTokenInput] = useState(false);\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 const baseUrl = authService.getServerUrl();\n const clientId = authService.getClientId();\n\n const response = await fetch(`${baseUrl}/api/v1/oauth/device/authorize`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n client_id: clientId,\n scope: 'openid profile email',\n }),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error_description || `Device authorization failed: ${response.status}`);\n }\n\n return response.json() as Promise<DeviceCodeResponse>;\n },\n onSuccess: (data) => {\n setDeviceCode(data);\n setShowTokenInput(true);\n },\n });\n\n // Verify token mutation\n const verifyTokenMutation = useMutation({\n mutationFn: async (token: string) => {\n if (!deviceCode) {\n throw new Error('Device code not available');\n }\n const apiKeyToken = await authService.exchangeTokenForApiKey(token, deviceCode.device_code);\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 return { success: true };\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['auth', 'check'] });\n },\n });\n\n // Trigger device code request when not authenticated\n useEffect(() => {\n if (existingAuth && !existingAuth.authenticated && !deviceCodeMutation.isPending && !deviceCode) {\n deviceCodeMutation.mutate();\n }\n }, [existingAuth, deviceCodeMutation, deviceCode]);\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\n if (deviceCode) {\n const verificationUrl = `${deviceCode.verification_uri}?code=${encodeURIComponent(deviceCode.user_code)}`;\n\n return (\n <>\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>Waiting for browser confirmation</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 authorize the device</Text>\n </Text>\n <Newline />\n\n <Text>\n <Text bold color=\"cyan\">\n 4.{' '}\n </Text>\n <Text>Copy the verification token (JWT) shown after confirmation</Text>\n </Text>\n <Newline />\n\n <Text dimColor>The browser will show a long token that starts with \"eyJ...\"</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 {showTokenInput && (\n <Box borderStyle=\"round\" borderColor=\"cyan\" padding={1}>\n <TokenInput\n onSubmit={(token) => verifyTokenMutation.mutate(token)}\n onCancel={() => setShowTokenInput(false)}\n />\n </Box>\n )}\n </>\n );\n }\n\n // Verifying token\n if (verifyTokenMutation.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=\"cyan\">◉ </Text>\n <Text>Verifying token...</Text>\n </Text>\n </Box>\n </Box>\n </Box>\n );\n }\n\n // Error state\n if (deviceCodeMutation.isError || verifyTokenMutation.isError) {\n const error = deviceCodeMutation.error || verifyTokenMutation.error;\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\">{error?.message || 'Unknown error occurred'}</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 { 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\nexport const AgentTabs: React.FC = () => {\n const { Box, Text } = useInk();\n const tabs = useSelector((state: RootState) => state.agentTabs.tabs);\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 // Fallback to request config working directory\n const activeTab = tabs.find((t) => t.id === activeTabId);\n return activeTab?.request.payload.agentConfig?.workingDirectory || process.cwd();\n }, [activeTabId, tabs]);\n\n return (\n <Box flexDirection=\"column\" marginTop={1}>\n <Box alignItems=\"center\" borderTop borderTopColor={'#d1d5db'} borderDimColor>\n {tabs.map((tab, index) => {\n const fKeyLabel = `^F${index + 1}`; // Ctrl+F on macOS\n return (\n <Box key={tab.id} marginRight={2} borderStyle={activeTabId === tab.id ? 'round' : undefined}>\n <Text color={'#d1d5db'} bold={activeTabId === tab.id} dimColor={activeTabId !== tab.id}>\n [{fKeyLabel}] {tab.label}\n {tab.unreadCount && tab.unreadCount > 0 && tab.id !== activeTabId ? ` (${tab.unreadCount})` : ''}\n </Text>\n <LaunchAgent tab={tab} />\n </Box>\n );\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","TokenInput","onSubmit","onCancel","useInput","value","setValue","useState","valueRef","input","key","currentValue","newValue","OauthSetup","Newline","Static","Link","queryClient","useQueryClient","deviceCode","setDeviceCode","showTokenInput","setShowTokenInput","authService","credentialsService","existingAuth","isCheckingAuth","useQuery","creds","deviceCodeMutation","useMutation","baseUrl","clientId","response","errorData","data","verifyTokenMutation","token","apiKeyToken","verificationUrl","Fragment","isMacOS","AgentTabs","tabs","activeTabId","activeWorkingDir","useMemo","agentContainer","AGENT_TYPES","tab","index","fKeyLabel","LaunchAgent","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 u, m as i, 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 P, B as I, C as l, D as C, E as U, F as G, G as L, H as Y, I as f, 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 } from "./index-B3XUySII.mjs";
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 u, m as i, 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 P, B as I, C as l, D as C, E as U, F as G, G as L, H as Y, I as f, 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 } from "./index-C8KSZpOG.mjs";
2
2
  export {
3
3
  a as AGENT_EVENT_TYPES,
4
4
  t as AGENT_STATUS,
@@ -57,4 +57,4 @@ export {
57
57
  ae as OutputStreamSchema,
58
58
  te as TraceIdSchema
59
59
  };
60
- //# sourceMappingURL=index-CCniDARu.mjs.map
60
+ //# sourceMappingURL=index-BmVP7FpK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BmVP7FpK.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}