@agiflowai/agent-cli 0.0.9 → 0.1.0
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 +8 -0
- package/README.md +8 -347
- package/dist/claudeNotification.js +13653 -24
- package/dist/claudePermissionRequest.js +13675 -0
- package/dist/claudePostToolUse.js +13661 -17
- package/dist/claudePreToolUse.js +13773 -20
- package/dist/claudeSessionStart.js +13667 -17
- package/dist/claudeStop.js +13525 -0
- package/dist/cli.js +2298 -1
- package/dist/cli.js.map +1 -1
- package/dist/codex.md +386 -0
- package/dist/daemon.js +847 -0
- package/dist/daemon.js.map +1 -0
- package/dist/index-7uB_UKC1.mjs +31 -0
- package/dist/index-7uB_UKC1.mjs.map +1 -0
- package/dist/index-BQL-MgGG.mjs +122 -0
- package/dist/index-BQL-MgGG.mjs.map +1 -0
- package/dist/index-CVYu2Dkh.mjs +40977 -0
- package/dist/index-CVYu2Dkh.mjs.map +1 -0
- package/dist/index-DDi9orhQ.mjs +57 -0
- package/dist/index-DDi9orhQ.mjs.map +1 -0
- package/dist/index.js +319 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +20 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -5
- package/dist/AgentHttpService-Cz0DO3Zx.js +0 -28
- package/dist/AgentHttpService-Cz0DO3Zx.js.map +0 -1
- package/dist/cli-9RY_AMH5.js +0 -104
- package/dist/cli-9RY_AMH5.js.map +0 -1
- package/dist/networkLog.js +0 -435
- package/dist/networkLog.js.map +0 -1
|
@@ -0,0 +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 { useSelector } from 'react-redux';\nimport { RootState } from '@/store';\nimport { LaunchAgent } from '../../../components/LaunchAgent';\nimport { useInk } from '../../../contexts/InkContext';\n\nexport const AgentTabs = () => {\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 return (\n <Box marginTop={1} 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} paddingRight={2}>\n <Text\n color={activeTabId === tab.id ? '#ffffff' : '#d1d5db'}\n bold={activeTabId === tab.id}\n dimColor={activeTabId !== tab.id}\n backgroundColor={activeTabId === tab.id ? '#10b981' : undefined}\n >\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 );\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\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: false,\n refetchOnWindowFocus: false,\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","AgentTabs","tabs","activeTabId","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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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ah as s, ag as t, a8 as o, ad as c, ac as S, $ as m, a3 as n, af as r, a7 as h, a5 as g, ak as l, a6 as p, ab as M, ai as P, ae as T, a4 as u, a0 as i, a9 as C, aa as v, a2 as I, a1 as d, aj as x, al as A, am as R, ao as f, an as V, ap as b } from "./index-CVYu2Dkh.mjs";
|
|
2
|
+
export {
|
|
3
|
+
s as AgentMessageCreateSchema,
|
|
4
|
+
t as AgentMessageTypeSchema,
|
|
5
|
+
o as ComponentSchema,
|
|
6
|
+
c as ErrorMessagePartSchema,
|
|
7
|
+
S as FileMessagePartSchema,
|
|
8
|
+
m as JSONValueSchema,
|
|
9
|
+
n as LanguageModelV1SourceSchema,
|
|
10
|
+
r as MessagePartSchema,
|
|
11
|
+
h as PlaceholderComponentSchema,
|
|
12
|
+
g as ReasoningMessagePartSchema,
|
|
13
|
+
l as RequestApprovalSchema,
|
|
14
|
+
p as SelectComponentSchema,
|
|
15
|
+
M as SourceMessagePartSchema,
|
|
16
|
+
P as StartMessageSchema,
|
|
17
|
+
T as StepStartMessagePartSchema,
|
|
18
|
+
u as TextMessagePartSchema,
|
|
19
|
+
i as ToolCallSchema,
|
|
20
|
+
C as ToolInvocationInputSchema,
|
|
21
|
+
v as ToolInvocationMessagePartSchema,
|
|
22
|
+
I as ToolInvocationSchema,
|
|
23
|
+
d as ToolResultSchema,
|
|
24
|
+
x as UpdateMessageSchema,
|
|
25
|
+
A as contentToParts,
|
|
26
|
+
R as convertToCreateData,
|
|
27
|
+
f as createSelectComponent,
|
|
28
|
+
V as createTextPart,
|
|
29
|
+
b as createToolInvocationInput
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=index-7uB_UKC1.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-7uB_UKC1.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { jsx as T } from "react/jsx-runtime";
|
|
2
|
+
import { Transform as y, Text as W } from "ink";
|
|
3
|
+
import o from "node:process";
|
|
4
|
+
import { createSupportsColor as _ } from "supports-color";
|
|
5
|
+
import A from "process";
|
|
6
|
+
import O from "node:os";
|
|
7
|
+
const l = globalThis.window?.document !== void 0;
|
|
8
|
+
globalThis.process?.versions?.node;
|
|
9
|
+
globalThis.process?.versions?.bun;
|
|
10
|
+
globalThis.Deno?.version?.deno;
|
|
11
|
+
globalThis.process?.versions?.electron;
|
|
12
|
+
globalThis.navigator?.userAgent?.includes("jsdom");
|
|
13
|
+
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
|
|
14
|
+
typeof DedicatedWorkerGlobalScope < "u" && globalThis instanceof DedicatedWorkerGlobalScope;
|
|
15
|
+
typeof SharedWorkerGlobalScope < "u" && globalThis instanceof SharedWorkerGlobalScope;
|
|
16
|
+
typeof ServiceWorkerGlobalScope < "u" && globalThis instanceof ServiceWorkerGlobalScope;
|
|
17
|
+
const d = globalThis.navigator?.userAgentData?.platform;
|
|
18
|
+
d === "macOS" || globalThis.navigator?.platform === "MacIntel" || globalThis.navigator?.userAgent?.includes(" Mac ") === !0 || globalThis.process?.platform;
|
|
19
|
+
d === "Windows" || globalThis.navigator?.platform === "Win32" || globalThis.process?.platform;
|
|
20
|
+
d === "Linux" || globalThis.navigator?.platform?.startsWith("Linux") === !0 || globalThis.navigator?.userAgent?.includes(" Linux ") === !0 || globalThis.process?.platform;
|
|
21
|
+
d === "Android" || globalThis.navigator?.platform === "Android" || globalThis.navigator?.userAgent?.includes(" Android ") === !0 || globalThis.process?.platform;
|
|
22
|
+
const f = "\x1B[", g = "\x1B]", k = "\x07", c = ";";
|
|
23
|
+
!l && o.env.TERM_PROGRAM;
|
|
24
|
+
const I = !l && o.platform === "win32", M = !l && (o.env.TERM?.startsWith("screen") || o.env.TERM?.startsWith("tmux") || o.env.TMUX !== void 0);
|
|
25
|
+
l || o.cwd;
|
|
26
|
+
const S = (r) => M ? "\x1BPtmux;" + r.replaceAll("\x1B", "\x1B\x1B") + "\x1B\\" : r, v = f + "2J", N = () => {
|
|
27
|
+
if (l || !I)
|
|
28
|
+
return !1;
|
|
29
|
+
const r = O.release().split("."), e = Number(r[0]), n = Number(r[2] ?? 0);
|
|
30
|
+
return e < 10 || e === 10 && n < 10586;
|
|
31
|
+
};
|
|
32
|
+
N() ? `${v}${f}` : `${v}${f}${f}`;
|
|
33
|
+
const j = (r, e) => {
|
|
34
|
+
const n = S(`${g}8${c}${c}${e}${k}`), t = S(`${g}8${c}${c}${k}`);
|
|
35
|
+
return n + r + t;
|
|
36
|
+
};
|
|
37
|
+
function i(r, e = A.argv) {
|
|
38
|
+
const n = r.startsWith("-") ? "" : r.length === 1 ? "-" : "--", t = e.indexOf(n + r), u = e.indexOf("--");
|
|
39
|
+
return t !== -1 && (u === -1 || t < u);
|
|
40
|
+
}
|
|
41
|
+
function w(r = "") {
|
|
42
|
+
if (/^\d{3,4}$/.test(r)) {
|
|
43
|
+
const n = /(\d{1,2})(\d{2})/.exec(r) ?? [];
|
|
44
|
+
return {
|
|
45
|
+
major: 0,
|
|
46
|
+
minor: Number.parseInt(n[1], 10),
|
|
47
|
+
patch: Number.parseInt(n[2], 10)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const e = (r ?? "").split(".").map((n) => Number.parseInt(n, 10));
|
|
51
|
+
return {
|
|
52
|
+
major: e[0],
|
|
53
|
+
minor: e[1],
|
|
54
|
+
patch: e[2]
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function E(r) {
|
|
58
|
+
const {
|
|
59
|
+
CI: e,
|
|
60
|
+
CURSOR_TRACE_ID: n,
|
|
61
|
+
FORCE_HYPERLINK: t,
|
|
62
|
+
NETLIFY: u,
|
|
63
|
+
TEAMCITY_VERSION: R,
|
|
64
|
+
TERM_PROGRAM: b,
|
|
65
|
+
TERM_PROGRAM_VERSION: p,
|
|
66
|
+
VTE_VERSION: m,
|
|
67
|
+
TERM: $
|
|
68
|
+
} = o.env;
|
|
69
|
+
if (t)
|
|
70
|
+
return !(t.length > 0 && Number.parseInt(t, 10) === 0);
|
|
71
|
+
if (i("no-hyperlink") || i("no-hyperlinks") || i("hyperlink=false") || i("hyperlink=never"))
|
|
72
|
+
return !1;
|
|
73
|
+
if (i("hyperlink=true") || i("hyperlink=always") || u)
|
|
74
|
+
return !0;
|
|
75
|
+
if (!_(r) || r && !r.isTTY)
|
|
76
|
+
return !1;
|
|
77
|
+
if ("WT_SESSION" in o.env)
|
|
78
|
+
return !0;
|
|
79
|
+
if (o.platform === "win32" || e || R)
|
|
80
|
+
return !1;
|
|
81
|
+
if (b) {
|
|
82
|
+
const s = w(p);
|
|
83
|
+
switch (b) {
|
|
84
|
+
case "iTerm.app":
|
|
85
|
+
return s.major === 3 ? s.minor >= 1 : s.major > 3;
|
|
86
|
+
case "WezTerm":
|
|
87
|
+
return /^0-unstable-\d{4}-\d{2}-\d{2}$/.test(p) ? p.slice(11) >= "2020-06-20" : s.major >= 20200620;
|
|
88
|
+
case "vscode":
|
|
89
|
+
return n ? !0 : s.major > 1 || s.major === 1 && s.minor >= 72;
|
|
90
|
+
case "ghostty":
|
|
91
|
+
return !0;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (m) {
|
|
95
|
+
if (m === "0.50.0")
|
|
96
|
+
return !1;
|
|
97
|
+
const s = w(m);
|
|
98
|
+
return s.major > 0 || s.minor >= 50;
|
|
99
|
+
}
|
|
100
|
+
switch ($) {
|
|
101
|
+
case "alacritty":
|
|
102
|
+
return !0;
|
|
103
|
+
case "xterm-kitty":
|
|
104
|
+
return !0;
|
|
105
|
+
}
|
|
106
|
+
return !1;
|
|
107
|
+
}
|
|
108
|
+
const h = {
|
|
109
|
+
stdout: E(o.stdout),
|
|
110
|
+
stderr: E(o.stderr)
|
|
111
|
+
};
|
|
112
|
+
function a(r, e, { target: n = "stdout", ...t } = {}) {
|
|
113
|
+
return h[n] ? j(r, e) : t.fallback === !1 ? r : typeof t.fallback == "function" ? t.fallback(r, e) : `${r} ${e}`;
|
|
114
|
+
}
|
|
115
|
+
a.isSupported = h.stdout;
|
|
116
|
+
a.stderr = (r, e, n = {}) => a(r, e, { target: "stderr", ...n });
|
|
117
|
+
a.stderr.isSupported = h.stderr;
|
|
118
|
+
const V = ({ children: r, url: e, fallback: n = !0 }) => T(y, { transform: (t) => a(t, e, { fallback: n }), children: T(W, { children: r }) });
|
|
119
|
+
export {
|
|
120
|
+
V as default
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=index-BQL-MgGG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BQL-MgGG.mjs","sources":["../../../node_modules/.pnpm/environment@1.1.0/node_modules/environment/index.js","../../../node_modules/.pnpm/ansi-escapes@7.2.0/node_modules/ansi-escapes/base.js","../../../node_modules/.pnpm/has-flag@5.0.1/node_modules/has-flag/index.js","../../../node_modules/.pnpm/supports-hyperlinks@4.3.0/node_modules/supports-hyperlinks/index.js","../../../node_modules/.pnpm/terminal-link@5.0.0/node_modules/terminal-link/index.js","../../../node_modules/.pnpm/ink-link@5.0.0_ink@6.5.0_@types+react@19.1.9_react@19.2.0_/node_modules/ink-link/dist/index.js"],"sourcesContent":["/* globals WorkerGlobalScope, DedicatedWorkerGlobalScope, SharedWorkerGlobalScope, ServiceWorkerGlobalScope */\n\nexport const isBrowser = globalThis.window?.document !== undefined;\n\nexport const isNode = globalThis.process?.versions?.node !== undefined;\n\nexport const isBun = globalThis.process?.versions?.bun !== undefined;\n\nexport const isDeno = globalThis.Deno?.version?.deno !== undefined;\n\nexport const isElectron = globalThis.process?.versions?.electron !== undefined;\n\nexport const isJsDom = globalThis.navigator?.userAgent?.includes('jsdom') === true;\n\nexport const isWebWorker = typeof WorkerGlobalScope !== 'undefined' && globalThis instanceof WorkerGlobalScope;\n\nexport const isDedicatedWorker = typeof DedicatedWorkerGlobalScope !== 'undefined' && globalThis instanceof DedicatedWorkerGlobalScope;\n\nexport const isSharedWorker = typeof SharedWorkerGlobalScope !== 'undefined' && globalThis instanceof SharedWorkerGlobalScope;\n\nexport const isServiceWorker = typeof ServiceWorkerGlobalScope !== 'undefined' && globalThis instanceof ServiceWorkerGlobalScope;\n\n// Note: I'm intentionally not DRYing up the other variables to keep them \"lazy\".\nconst platform = globalThis.navigator?.userAgentData?.platform;\n\nexport const isMacOs = platform === 'macOS'\n\t|| globalThis.navigator?.platform === 'MacIntel' // Even on Apple silicon Macs.\n\t|| globalThis.navigator?.userAgent?.includes(' Mac ') === true\n\t|| globalThis.process?.platform === 'darwin';\n\nexport const isWindows = platform === 'Windows'\n\t|| globalThis.navigator?.platform === 'Win32'\n\t|| globalThis.process?.platform === 'win32';\n\nexport const isLinux = platform === 'Linux'\n\t|| globalThis.navigator?.platform?.startsWith('Linux') === true\n\t|| globalThis.navigator?.userAgent?.includes(' Linux ') === true\n\t|| globalThis.process?.platform === 'linux';\n\nexport const isIos = platform === 'iOS'\n\t|| (globalThis.navigator?.platform === 'MacIntel' && globalThis.navigator?.maxTouchPoints > 1)\n\t|| /iPad|iPhone|iPod/.test(globalThis.navigator?.platform);\n\nexport const isAndroid = platform === 'Android'\n\t|| globalThis.navigator?.platform === 'Android'\n\t|| globalThis.navigator?.userAgent?.includes(' Android ') === true\n\t|| globalThis.process?.platform === 'android';\n","import process from 'node:process';\nimport os from 'node:os';\nimport {isBrowser} from 'environment';\n\nconst ESC = '\\u001B[';\nconst OSC = '\\u001B]';\nconst BEL = '\\u0007';\nconst SEP = ';';\n\nconst isTerminalApp = !isBrowser && process.env.TERM_PROGRAM === 'Apple_Terminal';\nconst isWindows = !isBrowser && process.platform === 'win32';\nconst isTmux = !isBrowser && (process.env.TERM?.startsWith('screen') || process.env.TERM?.startsWith('tmux') || process.env.TMUX !== undefined);\n\nconst cwdFunction = isBrowser ? () => {\n\tthrow new Error('`process.cwd()` only works in Node.js, not the browser.');\n} : process.cwd;\n\nconst wrapOsc = sequence => {\n\tif (isTmux) {\n\t\t// Tmux requires OSC sequences to be wrapped with DCS tmux; <sequence> ST\n\t\t// and all ESCs in <sequence> to be replaced with ESC ESC.\n\t\t// It only accepts ESC backslash for ST.\n\t\treturn '\\u001BPtmux;' + sequence.replaceAll('\\u001B', '\\u001B\\u001B') + '\\u001B\\\\';\n\t}\n\n\treturn sequence;\n};\n\nexport const cursorTo = (x, y) => {\n\tif (typeof x !== 'number') {\n\t\tthrow new TypeError('The `x` argument is required');\n\t}\n\n\tif (typeof y !== 'number') {\n\t\treturn ESC + (x + 1) + 'G';\n\t}\n\n\treturn ESC + (y + 1) + SEP + (x + 1) + 'H';\n};\n\nexport const cursorMove = (x, y) => {\n\tif (typeof x !== 'number') {\n\t\tthrow new TypeError('The `x` argument is required');\n\t}\n\n\tlet returnValue = '';\n\n\tif (x < 0) {\n\t\treturnValue += ESC + (-x) + 'D';\n\t} else if (x > 0) {\n\t\treturnValue += ESC + x + 'C';\n\t}\n\n\tif (y < 0) {\n\t\treturnValue += ESC + (-y) + 'A';\n\t} else if (y > 0) {\n\t\treturnValue += ESC + y + 'B';\n\t}\n\n\treturn returnValue;\n};\n\nexport const cursorUp = (count = 1) => ESC + count + 'A';\nexport const cursorDown = (count = 1) => ESC + count + 'B';\nexport const cursorForward = (count = 1) => ESC + count + 'C';\nexport const cursorBackward = (count = 1) => ESC + count + 'D';\n\nexport const cursorLeft = ESC + 'G';\nexport const cursorSavePosition = isTerminalApp ? '\\u001B7' : ESC + 's';\nexport const cursorRestorePosition = isTerminalApp ? '\\u001B8' : ESC + 'u';\nexport const cursorGetPosition = ESC + '6n';\nexport const cursorNextLine = ESC + 'E';\nexport const cursorPrevLine = ESC + 'F';\nexport const cursorHide = ESC + '?25l';\nexport const cursorShow = ESC + '?25h';\n\nexport const eraseLines = count => {\n\tlet clear = '';\n\n\tfor (let i = 0; i < count; i++) {\n\t\tclear += eraseLine + (i < count - 1 ? cursorUp() : '');\n\t}\n\n\tif (count) {\n\t\tclear += cursorLeft;\n\t}\n\n\treturn clear;\n};\n\nexport const eraseEndLine = ESC + 'K';\nexport const eraseStartLine = ESC + '1K';\nexport const eraseLine = ESC + '2K';\nexport const eraseDown = ESC + 'J';\nexport const eraseUp = ESC + '1J';\nexport const eraseScreen = ESC + '2J';\nexport const scrollUp = ESC + 'S';\nexport const scrollDown = ESC + 'T';\n\nexport const clearScreen = '\\u001Bc';\n\nexport const clearViewport = `${eraseScreen}${ESC}H`;\n\nconst isOldWindows = () => {\n\tif (isBrowser || !isWindows) {\n\t\treturn false;\n\t}\n\n\tconst parts = os.release().split('.');\n\tconst major = Number(parts[0]);\n\tconst build = Number(parts[2] ?? 0);\n\n\tif (major < 10) {\n\t\treturn true;\n\t}\n\n\tif (major === 10 && build < 10_586) {\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nexport const clearTerminal = isOldWindows()\n\t? `${eraseScreen}${ESC}0f`\n\t// 1. Erases the screen (Only done in case `2` is not supported)\n\t// 2. Erases the whole screen including scrollback buffer\n\t// 3. Moves cursor to the top-left position\n\t// More info: https://www.real-world-systems.com/docs/ANSIcode.html\n\t: `${eraseScreen}${ESC}3J${ESC}H`;\n\nexport const enterAlternativeScreen = ESC + '?1049h';\nexport const exitAlternativeScreen = ESC + '?1049l';\n\nexport const beep = BEL;\n\nexport const link = (text, url) => {\n\tconst openLink = wrapOsc(`${OSC}8${SEP}${SEP}${url}${BEL}`);\n\tconst closeLink = wrapOsc(`${OSC}8${SEP}${SEP}${BEL}`);\n\treturn openLink + text + closeLink;\n};\n\nexport const image = (data, options = {}) => {\n\tlet returnValue = `${OSC}1337;File=inline=1`;\n\n\tif (options.width) {\n\t\treturnValue += `;width=${options.width}`;\n\t}\n\n\tif (options.height) {\n\t\treturnValue += `;height=${options.height}`;\n\t}\n\n\tif (options.preserveAspectRatio === false) {\n\t\treturnValue += ';preserveAspectRatio=0';\n\t}\n\n\tconst imageBuffer = Buffer.from(data);\n\n\t// `size` is optional in the spec, but xterm.js requires it.\n\treturn wrapOsc(returnValue + `;size=${imageBuffer.byteLength}` + ':' + imageBuffer.toString('base64') + BEL);\n};\n\nexport const iTerm = {\n\tsetCwd: (cwd = cwdFunction()) => wrapOsc(`${OSC}50;CurrentDir=${cwd}${BEL}`),\n\n\tannotation(message, options = {}) {\n\t\tlet returnValue = `${OSC}1337;`;\n\n\t\tconst hasX = options.x !== undefined;\n\t\tconst hasY = options.y !== undefined;\n\t\tif ((hasX || hasY) && !(hasX && hasY && options.length !== undefined)) {\n\t\t\tthrow new Error('`x`, `y` and `length` must be defined when `x` or `y` is defined');\n\t\t}\n\n\t\tmessage = message.replaceAll('|', '');\n\n\t\treturnValue += options.isHidden ? 'AddHiddenAnnotation=' : 'AddAnnotation=';\n\n\t\tif (options.length > 0) {\n\t\t\treturnValue += (\n\t\t\t\thasX\n\t\t\t\t\t? [message, options.length, options.x, options.y]\n\t\t\t\t\t: [options.length, message]\n\t\t\t).join('|');\n\t\t} else {\n\t\t\treturnValue += message;\n\t\t}\n\n\t\treturn wrapOsc(returnValue + BEL);\n\t},\n};\n\nexport const ConEmu = {\n\tsetCwd: (cwd = cwdFunction()) => wrapOsc(`${OSC}9;9;${cwd}${BEL}`),\n};\n\nexport const setCwd = (cwd = cwdFunction()) => iTerm.setCwd(cwd) + ConEmu.setCwd(cwd);\n","import process from 'process'; // eslint-disable-line node/prefer-global/process\n\nexport default function hasFlag(flag, argv = process.argv) {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n}\n","import process from 'node:process';\nimport {createSupportsColor} from 'supports-color';\nimport hasFlag from 'has-flag';\n\nfunction parseVersion(versionString = '') {\n\tif (/^\\d{3,4}$/.test(versionString)) {\n\t\t// Env var doesn't always use dots. example: 4601 => 46.1.0\n\t\tconst match = /(\\d{1,2})(\\d{2})/.exec(versionString) ?? [];\n\t\treturn {\n\t\t\tmajor: 0,\n\t\t\tminor: Number.parseInt(match[1], 10),\n\t\t\tpatch: Number.parseInt(match[2], 10),\n\t\t};\n\t}\n\n\tconst versions = (versionString ?? '').split('.').map(n => Number.parseInt(n, 10));\n\treturn {\n\t\tmajor: versions[0],\n\t\tminor: versions[1],\n\t\tpatch: versions[2],\n\t};\n}\n\n// eslint-disable-next-line complexity\nexport function createSupportsHyperlinks(stream) {\n\tconst {\n\t\tCI,\n\t\tCURSOR_TRACE_ID,\n\t\tFORCE_HYPERLINK,\n\t\tNETLIFY,\n\t\tTEAMCITY_VERSION,\n\t\tTERM_PROGRAM,\n\t\tTERM_PROGRAM_VERSION,\n\t\tVTE_VERSION,\n\t\tTERM,\n\t} = process.env;\n\n\tif (FORCE_HYPERLINK) {\n\t\treturn !(FORCE_HYPERLINK.length > 0 && Number.parseInt(FORCE_HYPERLINK, 10) === 0);\n\t}\n\n\tif (hasFlag('no-hyperlink') || hasFlag('no-hyperlinks') || hasFlag('hyperlink=false') || hasFlag('hyperlink=never')) {\n\t\treturn false;\n\t}\n\n\tif (hasFlag('hyperlink=true') || hasFlag('hyperlink=always')) {\n\t\treturn true;\n\t}\n\n\t// Netlify does not run a TTY, it does not need `supportsColor` check\n\tif (NETLIFY) {\n\t\treturn true;\n\t}\n\n\t// If they specify no colors, they probably don't want hyperlinks.\n\tif (!createSupportsColor(stream)) {\n\t\treturn false;\n\t}\n\n\tif (stream && !stream.isTTY) {\n\t\treturn false;\n\t}\n\n\t// Windows Terminal\n\tif ('WT_SESSION' in process.env) {\n\t\treturn true;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn false;\n\t}\n\n\tif (CI) {\n\t\treturn false;\n\t}\n\n\tif (TEAMCITY_VERSION) {\n\t\treturn false;\n\t}\n\n\tif (TERM_PROGRAM) {\n\t\tconst version = parseVersion(TERM_PROGRAM_VERSION);\n\n\t\tswitch (TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app': {\n\t\t\t\tif (version.major === 3) {\n\t\t\t\t\treturn version.minor >= 1;\n\t\t\t\t}\n\n\t\t\t\treturn version.major > 3;\n\t\t\t}\n\n\t\t\tcase 'WezTerm': {\n\t\t\t\t// WezTerm packaged by Nix uses their own version scheme.\n\t\t\t\tif (/^0-unstable-\\d{4}-\\d{2}-\\d{2}$/.test(TERM_PROGRAM_VERSION)) {\n\t\t\t\t\tconst date = TERM_PROGRAM_VERSION.slice('0-unstable-'.length);\n\t\t\t\t\treturn date >= '2020-06-20';\n\t\t\t\t}\n\n\t\t\t\t// This number is a date and reads better grouped as such.\n\t\t\t\t// eslint-disable-next-line unicorn/numeric-separators-style\n\t\t\t\treturn version.major >= 2020_06_20;\n\t\t\t}\n\n\t\t\tcase 'vscode': {\n\t\t\t\t// Cursor forked VS Code and supports hyperlinks in 0.x.x\n\t\t\t\tif (CURSOR_TRACE_ID) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-mixed-operators\n\t\t\t\treturn version.major > 1 || version.major === 1 && version.minor >= 72;\n\t\t\t}\n\n\t\t\tcase 'ghostty': {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (VTE_VERSION) {\n\t\t// 0.50.0 was supposed to support hyperlinks, but throws a segfault\n\t\tif (VTE_VERSION === '0.50.0') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst version = parseVersion(VTE_VERSION);\n\t\treturn version.major > 0 || version.minor >= 50;\n\t}\n\n\tswitch (TERM) {\n\t\tcase 'alacritty': {\n\t\t\t// Support added in v0.11 (2022-10-13)\n\t\t\treturn true;\n\t\t}\n\n\t\tcase 'xterm-kitty': {\n\t\t\treturn true;\n\t\t}\n\t\t// No default\n\t}\n\n\treturn false;\n}\n\nconst supportsHyperlinks = {\n\tstdout: createSupportsHyperlinks(process.stdout),\n\tstderr: createSupportsHyperlinks(process.stderr),\n};\n\nexport default supportsHyperlinks;\n","import ansiEscapes from 'ansi-escapes';\nimport supportsHyperlinks from 'supports-hyperlinks';\n\nexport default function terminalLink(text, url, {target = 'stdout', ...options} = {}) {\n\tif (!supportsHyperlinks[target]) {\n\t\t// If the fallback has been explicitly disabled, don't modify the text itself.\n\t\tif (options.fallback === false) {\n\t\t\treturn text;\n\t\t}\n\n\t\tif (typeof options.fallback === 'function') {\n\t\t\treturn options.fallback(text, url);\n\t\t}\n\n\t\t// Use raw URL bounded by whitespace for maximum compatibility.\n\t\t// Most terminal linkifiers only guarantee correct detection when URLs are\n\t\t// delimited by whitespace. No brackets, quotes, or special characters that\n\t\t// could interfere with URL detection or be included in the linked text.\n\t\treturn `${text} ${url}`;\n\t}\n\n\treturn ansiEscapes.link(text, url);\n}\n\nterminalLink.isSupported = supportsHyperlinks.stdout;\nterminalLink.stderr = (text, url, options = {}) => terminalLink(text, url, {target: 'stderr', ...options});\nterminalLink.stderr.isSupported = supportsHyperlinks.stderr;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Transform, Text } from 'ink';\nimport terminalLink from 'terminal-link';\n/**\nAn Ink component that creates clickable links in the terminal.\n\n[Supported terminals.](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda)\n\nFor unsupported terminals, the link will be printed after the text: `My website https://sindresorhus.com`.\n\n@example\n```\nimport React from 'react';\nimport {render, Color} from 'ink';\nimport Link from 'ink-link';\n\nrender(\n <Link url=\"https://sindresorhus.com\">\n My <Color cyan>Website</Color>\n </Link>\n);\n```\n*/\nconst Link = ({ children, url, fallback = true }) => (_jsx(Transform, { transform: children => terminalLink(children, url, { fallback }), children: _jsx(Text, { children: children }) }));\nexport default Link;\n"],"names":["isBrowser","platform","ESC","OSC","BEL","SEP","process","isWindows","isTmux","wrapOsc","sequence","eraseScreen","isOldWindows","parts","os","major","build","link","text","url","openLink","closeLink","hasFlag","flag","argv","prefix","position","terminatorPosition","parseVersion","versionString","match","versions","createSupportsHyperlinks","stream","CI","CURSOR_TRACE_ID","FORCE_HYPERLINK","NETLIFY","TEAMCITY_VERSION","TERM_PROGRAM","TERM_PROGRAM_VERSION","VTE_VERSION","TERM","createSupportsColor","version","supportsHyperlinks","terminalLink","target","options","ansiEscapes.link","Link","children","fallback","_jsx","Transform","Text"],"mappings":";;;;;;AAEO,MAAMA,IAAY,WAAW,QAAQ,aAAa;AAEnC,WAAW,SAAS,UAAU;AAE/B,WAAW,SAAS,UAAU;AAE7B,WAAW,MAAM,SAAS;AAEtB,WAAW,SAAS,UAAU;AAEjC,WAAW,WAAW,WAAW,SAAS,OAAO;AAE7C,OAAO,oBAAsB,OAAe,sBAAsB;AAE5D,OAAO,6BAA+B,OAAe,sBAAsB;AAE9E,OAAO,0BAA4B,OAAe,sBAAsB;AAEvE,OAAO,2BAA6B,OAAe,sBAAsB;AAGxG,MAAMC,IAAW,WAAW,WAAW,eAAe;AAE/BA,MAAa,WAChC,WAAW,WAAW,aAAa,cACnC,WAAW,WAAW,WAAW,SAAS,OAAO,MAAM,MACvD,WAAW,SAAS;AAECA,MAAa,aAClC,WAAW,WAAW,aAAa,WACnC,WAAW,SAAS;AAEDA,MAAa,WAChC,WAAW,WAAW,UAAU,WAAW,OAAO,MAAM,MACxD,WAAW,WAAW,WAAW,SAAS,SAAS,MAAM,MACzD,WAAW,SAAS;AAMCA,MAAa,aAClC,WAAW,WAAW,aAAa,aACnC,WAAW,WAAW,WAAW,SAAS,WAAW,MAAM,MAC3D,WAAW,SAAS;AC1CxB,MAAMC,IAAM,SACNC,IAAM,SACNC,IAAM,QACNC,IAAM;AAEU,CAACL,KAAaM,EAAQ,IAAI;AAChD,MAAMC,IAAY,CAACP,KAAaM,EAAQ,aAAa,SAC/CE,IAAS,CAACR,MAAcM,EAAQ,IAAI,MAAM,WAAW,QAAQ,KAAKA,EAAQ,IAAI,MAAM,WAAW,MAAM,KAAKA,EAAQ,IAAI,SAAS;AAEjHN,KAEhBM,EAAQ;AAEZ,MAAMG,IAAU,CAAAC,MACXF,IAII,eAAiBE,EAAS,WAAW,QAAU,UAAc,IAAI,WAGlEA,GAsEKC,IAAcT,IAAM,MAQ3BU,IAAe,MAAM;AAC1B,MAAIZ,KAAa,CAACO;AACjB,WAAO;AAGR,QAAMM,IAAQC,EAAG,QAAO,EAAG,MAAM,GAAG,GAC9BC,IAAQ,OAAOF,EAAM,CAAC,CAAC,GACvBG,IAAQ,OAAOH,EAAM,CAAC,KAAK,CAAC;AAMlC,SAJIE,IAAQ,MAIRA,MAAU,MAAMC,IAAQ;AAK7B;AAE6BJ,EAAY,IACnC,GAAAD,IAAcT,MAKd,GAAAS,IAAcT,IAAQA;AAOrB,MAAMe,IAAO,CAACC,GAAMC,MAAQ;AAClC,QAAMC,IAAWX,EAAQ,GAAGN,CAAG,IAAIE,CAAG,GAAGA,CAAG,GAAGc,CAAG,GAAGf,CAAG,EAAE,GACpDiB,IAAYZ,EAAQ,GAAGN,CAAG,IAAIE,CAAG,GAAGA,CAAG,GAAGD,CAAG,EAAE;AACrD,SAAOgB,IAAWF,IAAOG;AAC1B;AC1Ie,SAASC,EAAQC,GAAMC,IAAOlB,EAAQ,MAAM;AAC1D,QAAMmB,IAASF,EAAK,WAAW,GAAG,IAAI,KAAMA,EAAK,WAAW,IAAI,MAAM,MAChEG,IAAWF,EAAK,QAAQC,IAASF,CAAI,GACrCI,IAAqBH,EAAK,QAAQ,IAAI;AAC5C,SAAOE,MAAa,OAAOC,MAAuB,MAAMD,IAAWC;AACpE;ACHA,SAASC,EAAaC,IAAgB,IAAI;AACzC,MAAI,YAAY,KAAKA,CAAa,GAAG;AAEpC,UAAMC,IAAQ,mBAAmB,KAAKD,CAAa,KAAK,CAAA;AACxD,WAAO;AAAA,MACN,OAAO;AAAA,MACP,OAAO,OAAO,SAASC,EAAM,CAAC,GAAG,EAAE;AAAA,MACnC,OAAO,OAAO,SAASA,EAAM,CAAC,GAAG,EAAE;AAAA,IACtC;AAAA,EACC;AAEA,QAAMC,KAAYF,KAAiB,IAAI,MAAM,GAAG,EAAE,IAAI,OAAK,OAAO,SAAS,GAAG,EAAE,CAAC;AACjF,SAAO;AAAA,IACN,OAAOE,EAAS,CAAC;AAAA,IACjB,OAAOA,EAAS,CAAC;AAAA,IACjB,OAAOA,EAAS,CAAC;AAAA,EACnB;AACA;AAGO,SAASC,EAAyBC,GAAQ;AAChD,QAAM;AAAA,IACL,IAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,MAAAC;AAAA,EACF,IAAKpC,EAAQ;AAEZ,MAAI8B;AACH,WAAO,EAAEA,EAAgB,SAAS,KAAK,OAAO,SAASA,GAAiB,EAAE,MAAM;AAGjF,MAAId,EAAQ,cAAc,KAAKA,EAAQ,eAAe,KAAKA,EAAQ,iBAAiB,KAAKA,EAAQ,iBAAiB;AACjH,WAAO;AAQR,MALIA,EAAQ,gBAAgB,KAAKA,EAAQ,kBAAkB,KAKvDe;AACH,WAAO;AAQR,MAJI,CAACM,EAAoBV,CAAM,KAI3BA,KAAU,CAACA,EAAO;AACrB,WAAO;AAIR,MAAI,gBAAgB3B,EAAQ;AAC3B,WAAO;AAWR,MARIA,EAAQ,aAAa,WAIrB4B,KAIAI;AACH,WAAO;AAGR,MAAIC,GAAc;AACjB,UAAMK,IAAUhB,EAAaY,CAAoB;AAEjD,YAAQD,GAAY;AAAA,MACnB,KAAK;AACJ,eAAIK,EAAQ,UAAU,IACdA,EAAQ,SAAS,IAGlBA,EAAQ,QAAQ;AAAA,MAGxB,KAAK;AAEJ,eAAI,iCAAiC,KAAKJ,CAAoB,IAChDA,EAAqB,MAAM,EAAoB,KAC7C,eAKTI,EAAQ,SAAS;AAAA,MAGzB,KAAK;AAEJ,eAAIT,IACI,KAIDS,EAAQ,QAAQ,KAAKA,EAAQ,UAAU,KAAKA,EAAQ,SAAS;AAAA,MAGrE,KAAK;AACJ,eAAO;AAAA,IAGX;AAAA,EACC;AAEA,MAAIH,GAAa;AAEhB,QAAIA,MAAgB;AACnB,aAAO;AAGR,UAAMG,IAAUhB,EAAaa,CAAW;AACxC,WAAOG,EAAQ,QAAQ,KAAKA,EAAQ,SAAS;AAAA,EAC9C;AAEA,UAAQF,GAAI;AAAA,IACX,KAAK;AAEJ,aAAO;AAAA,IAGR,KAAK;AACJ,aAAO;AAAA,EAGV;AAEC,SAAO;AACR;AAEA,MAAMG,IAAqB;AAAA,EAC1B,QAAQb,EAAyB1B,EAAQ,MAAM;AAAA,EAC/C,QAAQ0B,EAAyB1B,EAAQ,MAAM;AAChD;AClJe,SAASwC,EAAa5B,GAAMC,GAAK,EAAC,QAAA4B,IAAS,UAAU,GAAGC,EAAO,IAAI,IAAI;AACrF,SAAKH,EAAmBE,CAAM,IAiBvBE,EAAiB/B,GAAMC,CAAG,IAf5B6B,EAAQ,aAAa,KACjB9B,IAGJ,OAAO8B,EAAQ,YAAa,aACxBA,EAAQ,SAAS9B,GAAMC,CAAG,IAO3B,GAAGD,CAAI,IAAIC,CAAG;AAIvB;AAEA2B,EAAa,cAAcD,EAAmB;AAC9CC,EAAa,SAAS,CAAC5B,GAAMC,GAAK6B,IAAU,CAAA,MAAOF,EAAa5B,GAAMC,GAAK,EAAC,QAAQ,UAAU,GAAG6B,EAAO,CAAC;AACzGF,EAAa,OAAO,cAAcD,EAAmB;ACHhD,MAACK,IAAO,CAAC,EAAE,UAAAC,GAAU,KAAAhC,GAAK,UAAAiC,IAAW,GAAI,MAAQC,EAAKC,GAAW,EAAE,WAAW,CAAAH,MAAYL,EAAaK,GAAUhC,GAAK,EAAE,UAAAiC,EAAQ,CAAE,GAAG,UAAUC,EAAKE,GAAM,EAAE,UAAUJ,EAAQ,CAAE,EAAC,CAAE;","x_google_ignoreList":[0,1,2,3,4,5]}
|