@friggframework/devtools 2.0.0-next.4 → 2.0.0-next.40
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/frigg-cli/.eslintrc.js +141 -0
- package/frigg-cli/__tests__/jest.config.js +102 -0
- package/frigg-cli/__tests__/unit/commands/build.test.js +483 -0
- package/frigg-cli/__tests__/unit/commands/install.test.js +418 -0
- package/frigg-cli/__tests__/unit/commands/ui.test.js +592 -0
- package/frigg-cli/__tests__/utils/command-tester.js +170 -0
- package/frigg-cli/__tests__/utils/mock-factory.js +270 -0
- package/frigg-cli/__tests__/utils/test-fixtures.js +463 -0
- package/frigg-cli/__tests__/utils/test-setup.js +286 -0
- package/frigg-cli/build-command/index.js +54 -0
- package/frigg-cli/deploy-command/index.js +175 -0
- package/frigg-cli/generate-command/__tests__/generate-command.test.js +312 -0
- package/frigg-cli/generate-command/azure-generator.js +43 -0
- package/frigg-cli/generate-command/gcp-generator.js +47 -0
- package/frigg-cli/generate-command/index.js +332 -0
- package/frigg-cli/generate-command/terraform-generator.js +555 -0
- package/frigg-cli/generate-iam-command.js +115 -0
- package/frigg-cli/index.js +47 -1
- package/frigg-cli/index.test.js +1 -4
- package/frigg-cli/init-command/backend-first-handler.js +756 -0
- package/frigg-cli/init-command/index.js +93 -0
- package/frigg-cli/init-command/template-handler.js +143 -0
- package/frigg-cli/install-command/index.js +1 -4
- package/frigg-cli/package.json +51 -0
- package/frigg-cli/start-command/index.js +24 -4
- package/frigg-cli/test/init-command.test.js +180 -0
- package/frigg-cli/test/npm-registry.test.js +319 -0
- package/frigg-cli/ui-command/index.js +154 -0
- package/frigg-cli/utils/app-resolver.js +319 -0
- package/frigg-cli/utils/backend-path.js +16 -17
- package/frigg-cli/utils/npm-registry.js +167 -0
- package/frigg-cli/utils/process-manager.js +199 -0
- package/frigg-cli/utils/repo-detection.js +405 -0
- package/infrastructure/DEPLOYMENT-INSTRUCTIONS.md +268 -0
- package/infrastructure/GENERATE-IAM-DOCS.md +278 -0
- package/infrastructure/IAM-POLICY-TEMPLATES.md +176 -0
- package/infrastructure/README.md +443 -0
- package/infrastructure/WEBSOCKET-CONFIGURATION.md +105 -0
- package/infrastructure/__tests__/fixtures/mock-aws-resources.js +391 -0
- package/infrastructure/__tests__/helpers/test-utils.js +277 -0
- package/infrastructure/aws-discovery.js +1176 -0
- package/infrastructure/aws-discovery.test.js +1220 -0
- package/infrastructure/build-time-discovery.js +206 -0
- package/infrastructure/build-time-discovery.test.js +378 -0
- package/infrastructure/create-frigg-infrastructure.js +3 -5
- package/infrastructure/env-validator.js +77 -0
- package/infrastructure/frigg-deployment-iam-stack.yaml +401 -0
- package/infrastructure/iam-generator.js +836 -0
- package/infrastructure/iam-generator.test.js +172 -0
- package/infrastructure/iam-policy-basic.json +218 -0
- package/infrastructure/iam-policy-full.json +288 -0
- package/infrastructure/integration.test.js +383 -0
- package/infrastructure/run-discovery.js +110 -0
- package/infrastructure/serverless-template.js +1472 -138
- package/infrastructure/serverless-template.test.js +1759 -0
- package/management-ui/.eslintrc.js +22 -0
- package/management-ui/README.md +203 -0
- package/management-ui/components.json +21 -0
- package/management-ui/docs/phase2-integration-guide.md +320 -0
- package/management-ui/index.html +13 -0
- package/management-ui/package-lock.json +16517 -0
- package/management-ui/package.json +76 -0
- package/management-ui/packages/devtools/frigg-cli/ui-command/index.js +302 -0
- package/management-ui/postcss.config.js +6 -0
- package/management-ui/server/api/backend.js +256 -0
- package/management-ui/server/api/cli.js +315 -0
- package/management-ui/server/api/codegen.js +663 -0
- package/management-ui/server/api/connections.js +857 -0
- package/management-ui/server/api/discovery.js +185 -0
- package/management-ui/server/api/environment/index.js +1 -0
- package/management-ui/server/api/environment/router.js +378 -0
- package/management-ui/server/api/environment.js +328 -0
- package/management-ui/server/api/integrations.js +876 -0
- package/management-ui/server/api/logs.js +248 -0
- package/management-ui/server/api/monitoring.js +282 -0
- package/management-ui/server/api/open-ide.js +31 -0
- package/management-ui/server/api/project.js +1029 -0
- package/management-ui/server/api/users/sessions.js +371 -0
- package/management-ui/server/api/users/simulation.js +254 -0
- package/management-ui/server/api/users.js +362 -0
- package/management-ui/server/api-contract.md +275 -0
- package/management-ui/server/index.js +873 -0
- package/management-ui/server/middleware/errorHandler.js +93 -0
- package/management-ui/server/middleware/security.js +32 -0
- package/management-ui/server/processManager.js +296 -0
- package/management-ui/server/server.js +346 -0
- package/management-ui/server/services/aws-monitor.js +413 -0
- package/management-ui/server/services/npm-registry.js +347 -0
- package/management-ui/server/services/template-engine.js +538 -0
- package/management-ui/server/utils/cliIntegration.js +220 -0
- package/management-ui/server/utils/environment/auditLogger.js +471 -0
- package/management-ui/server/utils/environment/awsParameterStore.js +264 -0
- package/management-ui/server/utils/environment/encryption.js +278 -0
- package/management-ui/server/utils/environment/envFileManager.js +286 -0
- package/management-ui/server/utils/import-commonjs.js +28 -0
- package/management-ui/server/utils/response.js +83 -0
- package/management-ui/server/websocket/handler.js +325 -0
- package/management-ui/src/App.jsx +109 -0
- package/management-ui/src/assets/FriggLogo.svg +1 -0
- package/management-ui/src/components/AppRouter.jsx +65 -0
- package/management-ui/src/components/Button.jsx +70 -0
- package/management-ui/src/components/Card.jsx +97 -0
- package/management-ui/src/components/EnvironmentCompare.jsx +400 -0
- package/management-ui/src/components/EnvironmentEditor.jsx +372 -0
- package/management-ui/src/components/EnvironmentImportExport.jsx +469 -0
- package/management-ui/src/components/EnvironmentSchema.jsx +491 -0
- package/management-ui/src/components/EnvironmentSecurity.jsx +463 -0
- package/management-ui/src/components/ErrorBoundary.jsx +73 -0
- package/management-ui/src/components/IntegrationCard.jsx +481 -0
- package/management-ui/src/components/IntegrationCardEnhanced.jsx +770 -0
- package/management-ui/src/components/IntegrationExplorer.jsx +379 -0
- package/management-ui/src/components/IntegrationStatus.jsx +336 -0
- package/management-ui/src/components/Layout.jsx +716 -0
- package/management-ui/src/components/LoadingSpinner.jsx +113 -0
- package/management-ui/src/components/RepositoryPicker.jsx +248 -0
- package/management-ui/src/components/SessionMonitor.jsx +350 -0
- package/management-ui/src/components/StatusBadge.jsx +208 -0
- package/management-ui/src/components/UserContextSwitcher.jsx +212 -0
- package/management-ui/src/components/UserSimulation.jsx +327 -0
- package/management-ui/src/components/Welcome.jsx +434 -0
- package/management-ui/src/components/codegen/APIEndpointGenerator.jsx +637 -0
- package/management-ui/src/components/codegen/APIModuleSelector.jsx +227 -0
- package/management-ui/src/components/codegen/CodeGenerationWizard.jsx +247 -0
- package/management-ui/src/components/codegen/CodePreviewEditor.jsx +316 -0
- package/management-ui/src/components/codegen/DynamicModuleForm.jsx +271 -0
- package/management-ui/src/components/codegen/FormBuilder.jsx +737 -0
- package/management-ui/src/components/codegen/IntegrationGenerator.jsx +855 -0
- package/management-ui/src/components/codegen/ProjectScaffoldWizard.jsx +797 -0
- package/management-ui/src/components/codegen/SchemaBuilder.jsx +303 -0
- package/management-ui/src/components/codegen/TemplateSelector.jsx +586 -0
- package/management-ui/src/components/codegen/index.js +10 -0
- package/management-ui/src/components/connections/ConnectionConfigForm.jsx +362 -0
- package/management-ui/src/components/connections/ConnectionHealthMonitor.jsx +182 -0
- package/management-ui/src/components/connections/ConnectionTester.jsx +200 -0
- package/management-ui/src/components/connections/EntityRelationshipMapper.jsx +292 -0
- package/management-ui/src/components/connections/OAuthFlow.jsx +204 -0
- package/management-ui/src/components/connections/index.js +5 -0
- package/management-ui/src/components/index.js +21 -0
- package/management-ui/src/components/monitoring/APIGatewayMetrics.jsx +222 -0
- package/management-ui/src/components/monitoring/LambdaMetrics.jsx +169 -0
- package/management-ui/src/components/monitoring/MetricsChart.jsx +197 -0
- package/management-ui/src/components/monitoring/MonitoringDashboard.jsx +393 -0
- package/management-ui/src/components/monitoring/SQSMetrics.jsx +246 -0
- package/management-ui/src/components/monitoring/index.js +6 -0
- package/management-ui/src/components/monitoring/monitoring.css +218 -0
- package/management-ui/src/components/theme-provider.jsx +52 -0
- package/management-ui/src/components/theme-toggle.jsx +39 -0
- package/management-ui/src/components/ui/badge.tsx +36 -0
- package/management-ui/src/components/ui/button.test.jsx +56 -0
- package/management-ui/src/components/ui/button.tsx +57 -0
- package/management-ui/src/components/ui/card.tsx +76 -0
- package/management-ui/src/components/ui/dropdown-menu.tsx +199 -0
- package/management-ui/src/components/ui/select.tsx +157 -0
- package/management-ui/src/components/ui/skeleton.jsx +15 -0
- package/management-ui/src/hooks/useFrigg.jsx +601 -0
- package/management-ui/src/hooks/useSocket.jsx +58 -0
- package/management-ui/src/index.css +193 -0
- package/management-ui/src/lib/utils.ts +6 -0
- package/management-ui/src/main.jsx +10 -0
- package/management-ui/src/pages/CodeGeneration.jsx +14 -0
- package/management-ui/src/pages/Connections.jsx +252 -0
- package/management-ui/src/pages/ConnectionsEnhanced.jsx +633 -0
- package/management-ui/src/pages/Dashboard.jsx +311 -0
- package/management-ui/src/pages/Environment.jsx +314 -0
- package/management-ui/src/pages/IntegrationConfigure.jsx +669 -0
- package/management-ui/src/pages/IntegrationDiscovery.jsx +567 -0
- package/management-ui/src/pages/IntegrationTest.jsx +742 -0
- package/management-ui/src/pages/Integrations.jsx +253 -0
- package/management-ui/src/pages/Monitoring.jsx +17 -0
- package/management-ui/src/pages/Simulation.jsx +155 -0
- package/management-ui/src/pages/Users.jsx +492 -0
- package/management-ui/src/services/api.js +41 -0
- package/management-ui/src/services/apiModuleService.js +193 -0
- package/management-ui/src/services/websocket-handlers.js +120 -0
- package/management-ui/src/test/api/project.test.js +273 -0
- package/management-ui/src/test/components/Welcome.test.jsx +378 -0
- package/management-ui/src/test/mocks/server.js +178 -0
- package/management-ui/src/test/setup.js +61 -0
- package/management-ui/src/test/utils/test-utils.jsx +134 -0
- package/management-ui/src/utils/repository.js +98 -0
- package/management-ui/src/utils/repository.test.js +118 -0
- package/management-ui/src/workflows/phase2-integration-workflows.js +884 -0
- package/management-ui/tailwind.config.js +63 -0
- package/management-ui/tsconfig.json +37 -0
- package/management-ui/tsconfig.node.json +10 -0
- package/management-ui/vite.config.js +26 -0
- package/management-ui/vitest.config.js +38 -0
- package/package.json +20 -9
- package/infrastructure/app-handler-helpers.js +0 -57
- package/infrastructure/backend-utils.js +0 -90
- package/infrastructure/routers/auth.js +0 -26
- package/infrastructure/routers/integration-defined-routers.js +0 -37
- package/infrastructure/routers/middleware/loadUser.js +0 -15
- package/infrastructure/routers/middleware/requireLoggedInUser.js +0 -12
- package/infrastructure/routers/user.js +0 -41
- package/infrastructure/routers/websocket.js +0 -55
- package/infrastructure/workers/integration-defined-workers.js +0 -24
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
import React, { useState } from 'react'
|
|
2
|
+
import { Download, CheckCircle, ExternalLink, Settings, AlertCircle } from 'lucide-react'
|
|
3
|
+
<<<<<<< HEAD
|
|
4
|
+
<<<<<<< HEAD
|
|
5
|
+
=======
|
|
6
|
+
<<<<<<< HEAD
|
|
7
|
+
<<<<<<< HEAD
|
|
8
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
9
|
+
=======
|
|
10
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
11
|
+
import { Card, CardContent } from './ui/card'
|
|
12
|
+
import { Button } from './ui/button'
|
|
13
|
+
import LoadingSpinner from './LoadingSpinner'
|
|
14
|
+
import { cn } from '../lib/utils'
|
|
15
|
+
|
|
16
|
+
<<<<<<< HEAD
|
|
17
|
+
<<<<<<< HEAD
|
|
18
|
+
=======
|
|
19
|
+
const IntegrationCard = ({
|
|
20
|
+
integration,
|
|
21
|
+
onInstall,
|
|
22
|
+
onConfigure,
|
|
23
|
+
onUninstall,
|
|
24
|
+
installing = false,
|
|
25
|
+
className,
|
|
26
|
+
...props
|
|
27
|
+
}) => {
|
|
28
|
+
const [showDetails, setShowDetails] = useState(false)
|
|
29
|
+
|
|
30
|
+
=======
|
|
31
|
+
import { Card, CardContent } from './Card'
|
|
32
|
+
import { Button } from './Button'
|
|
33
|
+
=======
|
|
34
|
+
import { Card, CardContent } from './ui/card'
|
|
35
|
+
import { Button } from './ui/button'
|
|
36
|
+
>>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
|
|
37
|
+
import LoadingSpinner from './LoadingSpinner'
|
|
38
|
+
import { cn } from '../lib/utils'
|
|
39
|
+
|
|
40
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
41
|
+
=======
|
|
42
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
43
|
+
const IntegrationCard = ({
|
|
44
|
+
integration,
|
|
45
|
+
onInstall,
|
|
46
|
+
onConfigure,
|
|
47
|
+
onUninstall,
|
|
48
|
+
installing = false,
|
|
49
|
+
className,
|
|
50
|
+
...props
|
|
51
|
+
}) => {
|
|
52
|
+
const [showDetails, setShowDetails] = useState(false)
|
|
53
|
+
|
|
54
|
+
<<<<<<< HEAD
|
|
55
|
+
<<<<<<< HEAD
|
|
56
|
+
=======
|
|
57
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
58
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
59
|
+
=======
|
|
60
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
61
|
+
const isInstalled = integration.installed || integration.status === 'installed'
|
|
62
|
+
const isInstalling = installing || integration.status === 'installing'
|
|
63
|
+
const hasError = integration.status === 'error'
|
|
64
|
+
|
|
65
|
+
const handleInstall = async () => {
|
|
66
|
+
if (onInstall && !isInstalled && !isInstalling) {
|
|
67
|
+
await onInstall(integration.name)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const handleConfigure = () => {
|
|
72
|
+
if (onConfigure && isInstalled) {
|
|
73
|
+
onConfigure(integration.name)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const handleUninstall = async () => {
|
|
78
|
+
if (onUninstall && isInstalled) {
|
|
79
|
+
await onUninstall(integration.name)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
<<<<<<< HEAD
|
|
84
|
+
<<<<<<< HEAD
|
|
85
|
+
=======
|
|
86
|
+
<<<<<<< HEAD
|
|
87
|
+
<<<<<<< HEAD
|
|
88
|
+
// Filter out invalid DOM props
|
|
89
|
+
const { onUpdate, onTest, uninstalling, updating, error, ...cardProps } = props
|
|
90
|
+
|
|
91
|
+
return (
|
|
92
|
+
<Card className={cn('hover:shadow-lg industrial-transition', className)} {...cardProps}>
|
|
93
|
+
=======
|
|
94
|
+
return (
|
|
95
|
+
<Card className={cn('hover:shadow-md transition-shadow', className)} {...props}>
|
|
96
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
97
|
+
=======
|
|
98
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
99
|
+
=======
|
|
100
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
101
|
+
// Filter out invalid DOM props
|
|
102
|
+
const { onUpdate, onTest, uninstalling, updating, error, ...cardProps } = props
|
|
103
|
+
|
|
104
|
+
return (
|
|
105
|
+
<Card className={cn('hover:shadow-lg industrial-transition', className)} {...cardProps}>
|
|
106
|
+
<<<<<<< HEAD
|
|
107
|
+
<<<<<<< HEAD
|
|
108
|
+
=======
|
|
109
|
+
>>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
|
|
110
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
111
|
+
=======
|
|
112
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
113
|
+
<CardContent className="p-6">
|
|
114
|
+
<div className="flex items-start justify-between mb-4">
|
|
115
|
+
<div className="flex-1">
|
|
116
|
+
<div className="flex items-center mb-2">
|
|
117
|
+
<<<<<<< HEAD
|
|
118
|
+
<<<<<<< HEAD
|
|
119
|
+
=======
|
|
120
|
+
<<<<<<< HEAD
|
|
121
|
+
<<<<<<< HEAD
|
|
122
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
123
|
+
=======
|
|
124
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
125
|
+
<h4 className="font-semibold text-foreground text-lg">
|
|
126
|
+
{integration.displayName || integration.name}
|
|
127
|
+
</h4>
|
|
128
|
+
{integration.version && (
|
|
129
|
+
<span className="ml-2 text-xs bg-muted text-muted-foreground px-2 py-1 sharp-badge">
|
|
130
|
+
<<<<<<< HEAD
|
|
131
|
+
<<<<<<< HEAD
|
|
132
|
+
=======
|
|
133
|
+
=======
|
|
134
|
+
<h4 className="font-semibold text-gray-900 text-lg">
|
|
135
|
+
{integration.displayName || integration.name}
|
|
136
|
+
</h4>
|
|
137
|
+
{integration.version && (
|
|
138
|
+
<span className="ml-2 text-xs bg-gray-100 text-gray-600 px-2 py-1 rounded">
|
|
139
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
140
|
+
=======
|
|
141
|
+
<h4 className="font-semibold text-foreground text-lg">
|
|
142
|
+
{integration.displayName || integration.name}
|
|
143
|
+
</h4>
|
|
144
|
+
{integration.version && (
|
|
145
|
+
<span className="ml-2 text-xs bg-muted text-muted-foreground px-2 py-1 sharp-badge">
|
|
146
|
+
>>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
|
|
147
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
148
|
+
=======
|
|
149
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
150
|
+
v{integration.version}
|
|
151
|
+
</span>
|
|
152
|
+
)}
|
|
153
|
+
</div>
|
|
154
|
+
<<<<<<< HEAD
|
|
155
|
+
<<<<<<< HEAD
|
|
156
|
+
<p className="text-sm text-muted-foreground mb-3">
|
|
157
|
+
{integration.description || 'No description available'}
|
|
158
|
+
</p>
|
|
159
|
+
|
|
160
|
+
=======
|
|
161
|
+
<<<<<<< HEAD
|
|
162
|
+
<<<<<<< HEAD
|
|
163
|
+
=======
|
|
164
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
165
|
+
<p className="text-sm text-muted-foreground mb-3">
|
|
166
|
+
{integration.description || 'No description available'}
|
|
167
|
+
</p>
|
|
168
|
+
|
|
169
|
+
<<<<<<< HEAD
|
|
170
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
171
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
172
|
+
=======
|
|
173
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
174
|
+
{integration.tags && integration.tags.length > 0 && (
|
|
175
|
+
<div className="flex flex-wrap gap-1 mb-3">
|
|
176
|
+
{integration.tags.map((tag, index) => (
|
|
177
|
+
<span
|
|
178
|
+
key={index}
|
|
179
|
+
<<<<<<< HEAD
|
|
180
|
+
<<<<<<< HEAD
|
|
181
|
+
className="text-xs bg-primary/10 text-primary px-2 py-1 sharp-badge"
|
|
182
|
+
=======
|
|
183
|
+
<<<<<<< HEAD
|
|
184
|
+
<<<<<<< HEAD
|
|
185
|
+
className="text-xs bg-primary/10 text-primary px-2 py-1 sharp-badge"
|
|
186
|
+
=======
|
|
187
|
+
className="text-xs bg-blue-100 text-blue-700 px-2 py-1 rounded-full"
|
|
188
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
189
|
+
=======
|
|
190
|
+
className="text-xs bg-primary/10 text-primary px-2 py-1 sharp-badge"
|
|
191
|
+
>>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
|
|
192
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
193
|
+
=======
|
|
194
|
+
className="text-xs bg-primary/10 text-primary px-2 py-1 sharp-badge"
|
|
195
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
196
|
+
>
|
|
197
|
+
{tag}
|
|
198
|
+
</span>
|
|
199
|
+
))}
|
|
200
|
+
</div>
|
|
201
|
+
)}
|
|
202
|
+
</div>
|
|
203
|
+
<<<<<<< HEAD
|
|
204
|
+
<<<<<<< HEAD
|
|
205
|
+
|
|
206
|
+
=======
|
|
207
|
+
<<<<<<< HEAD
|
|
208
|
+
|
|
209
|
+
=======
|
|
210
|
+
|
|
211
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
212
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
213
|
+
=======
|
|
214
|
+
|
|
215
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
216
|
+
<div className="flex items-center ml-4">
|
|
217
|
+
{hasError && (
|
|
218
|
+
<AlertCircle size={20} className="text-red-500 mr-2" />
|
|
219
|
+
)}
|
|
220
|
+
{isInstalled && !hasError && (
|
|
221
|
+
<CheckCircle size={20} className="text-green-500 mr-2" />
|
|
222
|
+
)}
|
|
223
|
+
{isInstalling && (
|
|
224
|
+
<LoadingSpinner size="sm" className="mr-2" />
|
|
225
|
+
)}
|
|
226
|
+
</div>
|
|
227
|
+
</div>
|
|
228
|
+
|
|
229
|
+
<div className="flex items-center justify-between">
|
|
230
|
+
<div className="flex items-center space-x-2">
|
|
231
|
+
{!isInstalled && !isInstalling && (
|
|
232
|
+
<Button
|
|
233
|
+
size="sm"
|
|
234
|
+
onClick={handleInstall}
|
|
235
|
+
disabled={isInstalling}
|
|
236
|
+
className="inline-flex items-center"
|
|
237
|
+
>
|
|
238
|
+
<Download size={16} className="mr-1" />
|
|
239
|
+
Install
|
|
240
|
+
</Button>
|
|
241
|
+
)}
|
|
242
|
+
<<<<<<< HEAD
|
|
243
|
+
<<<<<<< HEAD
|
|
244
|
+
|
|
245
|
+
=======
|
|
246
|
+
<<<<<<< HEAD
|
|
247
|
+
|
|
248
|
+
=======
|
|
249
|
+
|
|
250
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
251
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
252
|
+
=======
|
|
253
|
+
|
|
254
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
255
|
+
{isInstalled && !hasError && (
|
|
256
|
+
<Button
|
|
257
|
+
size="sm"
|
|
258
|
+
variant="outline"
|
|
259
|
+
onClick={handleConfigure}
|
|
260
|
+
className="inline-flex items-center"
|
|
261
|
+
>
|
|
262
|
+
<Settings size={16} className="mr-1" />
|
|
263
|
+
Configure
|
|
264
|
+
</Button>
|
|
265
|
+
)}
|
|
266
|
+
<<<<<<< HEAD
|
|
267
|
+
<<<<<<< HEAD
|
|
268
|
+
|
|
269
|
+
=======
|
|
270
|
+
<<<<<<< HEAD
|
|
271
|
+
|
|
272
|
+
=======
|
|
273
|
+
|
|
274
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
275
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
276
|
+
=======
|
|
277
|
+
|
|
278
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
279
|
+
{isInstalling && (
|
|
280
|
+
<Button size="sm" disabled className="inline-flex items-center">
|
|
281
|
+
<LoadingSpinner size="sm" className="mr-1" />
|
|
282
|
+
Installing...
|
|
283
|
+
</Button>
|
|
284
|
+
)}
|
|
285
|
+
<<<<<<< HEAD
|
|
286
|
+
<<<<<<< HEAD
|
|
287
|
+
|
|
288
|
+
=======
|
|
289
|
+
<<<<<<< HEAD
|
|
290
|
+
|
|
291
|
+
=======
|
|
292
|
+
|
|
293
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
294
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
295
|
+
=======
|
|
296
|
+
|
|
297
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
298
|
+
{hasError && (
|
|
299
|
+
<Button
|
|
300
|
+
size="sm"
|
|
301
|
+
variant="destructive"
|
|
302
|
+
onClick={handleInstall}
|
|
303
|
+
className="inline-flex items-center"
|
|
304
|
+
>
|
|
305
|
+
<AlertCircle size={16} className="mr-1" />
|
|
306
|
+
Retry
|
|
307
|
+
</Button>
|
|
308
|
+
)}
|
|
309
|
+
</div>
|
|
310
|
+
<<<<<<< HEAD
|
|
311
|
+
<<<<<<< HEAD
|
|
312
|
+
|
|
313
|
+
=======
|
|
314
|
+
<<<<<<< HEAD
|
|
315
|
+
|
|
316
|
+
=======
|
|
317
|
+
|
|
318
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
319
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
320
|
+
=======
|
|
321
|
+
|
|
322
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
323
|
+
<div className="flex items-center space-x-2">
|
|
324
|
+
{integration.docsUrl && (
|
|
325
|
+
<Button
|
|
326
|
+
size="sm"
|
|
327
|
+
variant="ghost"
|
|
328
|
+
onClick={() => window.open(integration.docsUrl, '_blank')}
|
|
329
|
+
className="inline-flex items-center text-xs"
|
|
330
|
+
>
|
|
331
|
+
<ExternalLink size={14} className="mr-1" />
|
|
332
|
+
Docs
|
|
333
|
+
</Button>
|
|
334
|
+
)}
|
|
335
|
+
<<<<<<< HEAD
|
|
336
|
+
<<<<<<< HEAD
|
|
337
|
+
|
|
338
|
+
=======
|
|
339
|
+
<<<<<<< HEAD
|
|
340
|
+
|
|
341
|
+
=======
|
|
342
|
+
|
|
343
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
344
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
345
|
+
=======
|
|
346
|
+
|
|
347
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
348
|
+
{isInstalled && (
|
|
349
|
+
<Button
|
|
350
|
+
size="sm"
|
|
351
|
+
variant="ghost"
|
|
352
|
+
onClick={() => setShowDetails(!showDetails)}
|
|
353
|
+
className="text-xs"
|
|
354
|
+
>
|
|
355
|
+
{showDetails ? 'Less' : 'More'}
|
|
356
|
+
</Button>
|
|
357
|
+
)}
|
|
358
|
+
</div>
|
|
359
|
+
</div>
|
|
360
|
+
|
|
361
|
+
{showDetails && isInstalled && (
|
|
362
|
+
<<<<<<< HEAD
|
|
363
|
+
<<<<<<< HEAD
|
|
364
|
+
=======
|
|
365
|
+
<<<<<<< HEAD
|
|
366
|
+
<<<<<<< HEAD
|
|
367
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
368
|
+
=======
|
|
369
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
370
|
+
<div className="mt-4 pt-4 border-t border-border">
|
|
371
|
+
<div className="space-y-2 text-sm">
|
|
372
|
+
{integration.endpoints && (
|
|
373
|
+
<div>
|
|
374
|
+
<span className="font-medium text-foreground">Endpoints:</span>
|
|
375
|
+
<span className="ml-2 text-muted-foreground">{integration.endpoints.length}</span>
|
|
376
|
+
<<<<<<< HEAD
|
|
377
|
+
<<<<<<< HEAD
|
|
378
|
+
=======
|
|
379
|
+
=======
|
|
380
|
+
<div className="mt-4 pt-4 border-t border-gray-200">
|
|
381
|
+
<div className="space-y-2 text-sm">
|
|
382
|
+
{integration.endpoints && (
|
|
383
|
+
<div>
|
|
384
|
+
<span className="font-medium text-gray-700">Endpoints:</span>
|
|
385
|
+
<span className="ml-2 text-gray-600">{integration.endpoints.length}</span>
|
|
386
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
387
|
+
=======
|
|
388
|
+
<div className="mt-4 pt-4 border-t border-border">
|
|
389
|
+
<div className="space-y-2 text-sm">
|
|
390
|
+
{integration.endpoints && (
|
|
391
|
+
<div>
|
|
392
|
+
<span className="font-medium text-foreground">Endpoints:</span>
|
|
393
|
+
<span className="ml-2 text-muted-foreground">{integration.endpoints.length}</span>
|
|
394
|
+
>>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
|
|
395
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
396
|
+
=======
|
|
397
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
398
|
+
</div>
|
|
399
|
+
)}
|
|
400
|
+
{integration.lastUpdated && (
|
|
401
|
+
<div>
|
|
402
|
+
<<<<<<< HEAD
|
|
403
|
+
<<<<<<< HEAD
|
|
404
|
+
<span className="font-medium text-foreground">Last Updated:</span>
|
|
405
|
+
<span className="ml-2 text-muted-foreground">
|
|
406
|
+
=======
|
|
407
|
+
<<<<<<< HEAD
|
|
408
|
+
<<<<<<< HEAD
|
|
409
|
+
<span className="font-medium text-foreground">Last Updated:</span>
|
|
410
|
+
<span className="ml-2 text-muted-foreground">
|
|
411
|
+
=======
|
|
412
|
+
<span className="font-medium text-gray-700">Last Updated:</span>
|
|
413
|
+
<span className="ml-2 text-gray-600">
|
|
414
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
415
|
+
=======
|
|
416
|
+
<span className="font-medium text-foreground">Last Updated:</span>
|
|
417
|
+
<span className="ml-2 text-muted-foreground">
|
|
418
|
+
>>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
|
|
419
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
420
|
+
=======
|
|
421
|
+
<span className="font-medium text-foreground">Last Updated:</span>
|
|
422
|
+
<span className="ml-2 text-muted-foreground">
|
|
423
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
424
|
+
{new Date(integration.lastUpdated).toLocaleDateString()}
|
|
425
|
+
</span>
|
|
426
|
+
</div>
|
|
427
|
+
)}
|
|
428
|
+
{integration.connections && (
|
|
429
|
+
<div>
|
|
430
|
+
<<<<<<< HEAD
|
|
431
|
+
<<<<<<< HEAD
|
|
432
|
+
=======
|
|
433
|
+
<<<<<<< HEAD
|
|
434
|
+
<<<<<<< HEAD
|
|
435
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
436
|
+
=======
|
|
437
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
438
|
+
<span className="font-medium text-foreground">Active Connections:</span>
|
|
439
|
+
<span className="ml-2 text-muted-foreground">{integration.connections}</span>
|
|
440
|
+
</div>
|
|
441
|
+
)}
|
|
442
|
+
</div>
|
|
443
|
+
<<<<<<< HEAD
|
|
444
|
+
<<<<<<< HEAD
|
|
445
|
+
|
|
446
|
+
=======
|
|
447
|
+
|
|
448
|
+
=======
|
|
449
|
+
<span className="font-medium text-gray-700">Active Connections:</span>
|
|
450
|
+
<span className="ml-2 text-gray-600">{integration.connections}</span>
|
|
451
|
+
=======
|
|
452
|
+
<span className="font-medium text-foreground">Active Connections:</span>
|
|
453
|
+
<span className="ml-2 text-muted-foreground">{integration.connections}</span>
|
|
454
|
+
>>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
|
|
455
|
+
</div>
|
|
456
|
+
)}
|
|
457
|
+
</div>
|
|
458
|
+
|
|
459
|
+
>>>>>>> 652520a5 (Claude Flow RFC related development)
|
|
460
|
+
>>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
|
|
461
|
+
=======
|
|
462
|
+
|
|
463
|
+
>>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
|
|
464
|
+
<div className="mt-3 flex justify-end">
|
|
465
|
+
<Button
|
|
466
|
+
size="sm"
|
|
467
|
+
variant="destructive"
|
|
468
|
+
onClick={handleUninstall}
|
|
469
|
+
className="inline-flex items-center text-xs"
|
|
470
|
+
>
|
|
471
|
+
Uninstall
|
|
472
|
+
</Button>
|
|
473
|
+
</div>
|
|
474
|
+
</div>
|
|
475
|
+
)}
|
|
476
|
+
</CardContent>
|
|
477
|
+
</Card>
|
|
478
|
+
)
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
export default IntegrationCard
|