Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 0 additions & 46 deletions src/frontend/src/api/config.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -131,51 +131,6 @@ export function headerBuilder(headers?: Record<string, string>): Record<string,
};
}

/**
* Initialize team on the backend - takes about 20 seconds
* @returns Promise with team initialization response
*/
// export async function initializeTeam(): Promise<{
// status: string;
// team_id: string;
// }> {
// const apiUrl = getApiUrl();
// if (!apiUrl) {
// throw new Error('API URL not configured');
// }

// const headers = headerBuilder({
// 'Content-Type': 'application/json',
// });

// console.log('initializeTeam: Starting team initialization...');

// try {
// const response = await fetch(`${apiUrl}/init_team`, {
// method: 'GET',
// headers,
// });

// if (!response.ok) {
// const errorText = await response.text();
// throw new Error(errorText || `HTTP error! status: ${response.status}`);
// }

// const data = await response.json();
// console.log('initializeTeam: Team initialization completed:', data);

// // Validate the expected response format
// if (data.status !== 'Request started successfully' || !data.team_id) {
// throw new Error('Invalid response format from init_team endpoint');
// }

// return data;
// } catch (error) {
// console.error('initializeTeam: Error initializing team:', error);
// throw error;
// }
// }

export const toBoolean = (value: any): boolean => {
if (typeof value !== 'string') {
return false;
Expand All @@ -192,5 +147,4 @@ export default {
config,
USER_ID,
API_URL,
//initializeTeam
};
18 changes: 6 additions & 12 deletions src/frontend/src/pages/HomePage.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
import React, { useEffect, useState, useCallback } from 'react';
import { useNavigate } from 'react-router-dom';
import {
Button,
Spinner
} from '@fluentui/react-components';
import {
Add20Regular,
ErrorCircle20Regular,
Sparkle20Filled
} from '@fluentui/react-icons';
import '../styles/PlanPage.css';
import CoralShellColumn from '../coral/components/Layout/CoralShellColumn';
import CoralShellRow from '../coral/components/Layout/CoralShellRow';
Expand All @@ -17,7 +11,6 @@ import HomeInput from '@/components/content/HomeInput';
import { NewTaskService } from '../services/NewTaskService';
import PlanPanelLeft from '@/components/content/PlanPanelLeft';
import ContentToolbar from '@/coral/components/Content/ContentToolbar';
import { TaskService } from '../services/TaskService';
import { TeamConfig } from '../models/Team';
import { TeamService } from '../services/TeamService';
import InlineToaster, { useInlineToaster } from "../components/toast/InlineToaster";
Expand All @@ -30,16 +23,15 @@ const HomePage: React.FC = () => {
const navigate = useNavigate();
const { showToast, dismissToast } = useInlineToaster();
const [selectedTeam, setSelectedTeam] = useState<TeamConfig | null>(null);
const [isLoadingTeam, setIsLoadingTeam] = useState(true);

const [isLoadingTeam, setIsLoadingTeam] = useState<boolean>(true);
const [reloadLeftList, setReloadLeftList] = useState<boolean>(true);

useEffect(() => {
const initTeam = async () => {
setIsLoadingTeam(true);

try {
console.log('Initializing team from backend...');

// Call the backend init_team endpoint (takes ~20 seconds)
const initResponse = await TeamService.initializeTeam();

Expand Down Expand Up @@ -91,7 +83,7 @@ const HomePage: React.FC = () => {
};

initTeam();
}, []);
}, [setIsLoadingTeam, showToast, navigate, setReloadLeftList]);

/**
* Handle new task creation from the "New task" button
Expand All @@ -112,6 +104,7 @@ const HomePage: React.FC = () => {
// TODO REFRACTOR THIS CODE
setIsLoadingTeam(true);
const initResponse = await TeamService.initializeTeam(true);
setReloadLeftList(true)
if (initResponse.data?.status === 'Request started successfully' && initResponse.data?.team_id) {
console.log('Team initialization completed:', initResponse.data?.team_id);

Expand Down Expand Up @@ -152,7 +145,7 @@ const HomePage: React.FC = () => {
"info"
);
}
}, [showToast]);
}, [showToast, setReloadLeftList]);


/**
Expand Down Expand Up @@ -187,6 +180,7 @@ const HomePage: React.FC = () => {
<CoralShellColumn>
<CoralShellRow>
<PlanPanelLeft
reloadTasks={reloadLeftList}
onNewTaskButton={handleNewTaskButton}
onTeamSelect={handleTeamSelect}
onTeamUpload={handleTeamUpload}
Expand Down
84 changes: 41 additions & 43 deletions src/frontend/src/pages/PlanPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,6 @@ const PlanPage: React.FC = () => {
const processAgentMessage = useCallback((agentMessageData: AgentMessageData, planData: ProcessedPlanData, is_final: boolean = false) => {

// Persist / forward to backend (fire-and-forget with logging)
console.log(planData)
console.log(is_final)
console.log(agentMessageData)
const agentMessageResponse = PlanDataService.createAgentMessageResponse(agentMessageData, planData, is_final);
console.log('📤 Persisting agent message:', agentMessageResponse);
void apiService.sendAgentMessage(agentMessageResponse)
Expand Down Expand Up @@ -262,45 +259,6 @@ const PlanPage: React.FC = () => {

return () => unsubscribe();
}, [scrollToBottom, planData, processAgentMessage]); //onPlanReceived, scrollToBottom
// Create loadPlanData function with useCallback to memoize it
const loadPlanData = useCallback(
async (useCache = true): Promise<ProcessedPlanData | null> => {
if (!planId) return null;

setLoading(true);
try {

let planResult: ProcessedPlanData | null = null;
console.log("Fetching plan with ID:", planId);
planResult = await PlanDataService.fetchPlanData(planId, useCache);
console.log("Plan data fetched:", planResult);
if (planResult?.plan?.overall_status === PlanStatus.IN_PROGRESS) {
setShowApprovalButtons(true);

} else {
setShowApprovalButtons(false);
setWaitingForPlan(false);
}
if (planResult?.plan?.overall_status !== PlanStatus.COMPLETED) {
setContinueWithWebsocketFlow(true);
}
if (planResult?.messages) {
setAgentMessages(planResult.messages);
}
if (planResult?.mplan) {
setPlanApprovalRequest(planResult.mplan);
}
setPlanData(planResult);
return planResult;
} catch (err) {
console.log("Failed to load plan data:", err);
return null;
} finally {
setLoading(false);
}
},
[planId, navigate]
);

// Loading message rotation effect
useEffect(() => {
Expand Down Expand Up @@ -376,7 +334,47 @@ const PlanPage: React.FC = () => {
webSocketService.disconnect();
};
}
}, [planId, loading, continueWithWebsocketFlow, loadPlanData, planData]);
}, [planId, loading, continueWithWebsocketFlow]);

// Create loadPlanData function with useCallback to memoize it
const loadPlanData = useCallback(
async (useCache = true): Promise<ProcessedPlanData | null> => {
if (!planId) return null;

setLoading(true);
try {

let planResult: ProcessedPlanData | null = null;
console.log("Fetching plan with ID:", planId);
planResult = await PlanDataService.fetchPlanData(planId, useCache);
console.log("Plan data fetched:", planResult);
if (planResult?.plan?.overall_status === PlanStatus.IN_PROGRESS) {
setShowApprovalButtons(true);

} else {
setShowApprovalButtons(false);
setWaitingForPlan(false);
}
if (planResult?.plan?.overall_status !== PlanStatus.COMPLETED) {
setContinueWithWebsocketFlow(true);
}
if (planResult?.messages) {
setAgentMessages(planResult.messages);
}
if (planResult?.mplan) {
setPlanApprovalRequest(planResult.mplan);
}
setPlanData(planResult);
return planResult;
} catch (err) {
console.log("Failed to load plan data:", err);
return null;
} finally {
setLoading(false);
}
},
[planId, navigate]
);


// Handle plan approval
Expand Down
5 changes: 0 additions & 5 deletions src/mcp_server/datasets/competitor_pricing_analysis.csv

This file was deleted.

6 changes: 0 additions & 6 deletions src/mcp_server/datasets/customer_churn_analysis.csv

This file was deleted.

3 changes: 0 additions & 3 deletions src/mcp_server/datasets/customer_feedback_surveys.csv

This file was deleted.

2 changes: 0 additions & 2 deletions src/mcp_server/datasets/customer_profile.csv

This file was deleted.

3 changes: 0 additions & 3 deletions src/mcp_server/datasets/customer_service_interactions.json

This file was deleted.

8 changes: 0 additions & 8 deletions src/mcp_server/datasets/delivery_performance_metrics.csv

This file was deleted.

6 changes: 0 additions & 6 deletions src/mcp_server/datasets/email_marketing_engagement.csv

This file was deleted.

2 changes: 0 additions & 2 deletions src/mcp_server/datasets/loyalty_program_overview.csv

This file was deleted.

6 changes: 0 additions & 6 deletions src/mcp_server/datasets/product_return_rates.csv

This file was deleted.

6 changes: 0 additions & 6 deletions src/mcp_server/datasets/product_table.csv

This file was deleted.

8 changes: 0 additions & 8 deletions src/mcp_server/datasets/purchase_history.csv

This file was deleted.

8 changes: 0 additions & 8 deletions src/mcp_server/datasets/social_media_sentiment_analysis.csv

This file was deleted.

4 changes: 0 additions & 4 deletions src/mcp_server/datasets/store_visit_history.csv

This file was deleted.

5 changes: 0 additions & 5 deletions src/mcp_server/datasets/subscription_benefits_utilization.csv

This file was deleted.

4 changes: 0 additions & 4 deletions src/mcp_server/datasets/unauthorized_access_attempts.csv

This file was deleted.

4 changes: 0 additions & 4 deletions src/mcp_server/datasets/warehouse_incident_reports.csv

This file was deleted.

6 changes: 0 additions & 6 deletions src/mcp_server/datasets/website_activity_log.csv

This file was deleted.

7 changes: 0 additions & 7 deletions src/mcp_server/mcp_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
from core.factory import MCPToolFactory
from fastmcp import FastMCP
from fastmcp.server.auth.providers.jwt import JWTVerifier
from services.data_tool_service import DataToolService
from services.general_service import GeneralService
from services.hr_service import HRService
from services.marketing_service import MarketingService
from services.product_service import ProductService
Expand All @@ -33,11 +31,6 @@
factory.register_service(MarketingService())
factory.register_service(ProductService())

# General service has tests for llm to mcp connectivity
#factory.register_service(GeneralService())

# Register DataToolService with the dataset path
#factory.register_service(DataToolService(dataset_path="datasets"))


def create_fastmcp_server():
Expand Down
Loading