UNPKG

orchestry-mcp

Version:

Orchestry MCP Server for multi-session task management

72 lines (61 loc) 2.02 kB
import axios from 'axios'; import type { BMADProject, Business, Mission, Approach, Deployment, TaskStatus, } from '../../../shared/types.js'; const API_BASE_URL = import.meta.env.VITE_API_URL || 'http://localhost:7531/api'; const api = axios.create({ baseURL: API_BASE_URL, headers: { 'Content-Type': 'application/json', }, }); export const bmadAPI = { // Projects getProject: async (id: string) => { const { data } = await api.get<BMADProject>(`/projects/${id}`); return data; }, createProject: async (name: string, description: string) => { const { data } = await api.post<BMADProject>('/projects', { name, description }); return data; }, // Business createBusiness: async (projectId: string, business: Partial<Business>) => { const { data } = await api.post<Business>('/business', { projectId, ...business }); return data; }, // Missions createMission: async (businessId: string, mission: Partial<Mission>) => { const { data } = await api.post<Mission>('/missions', { businessId, ...mission }); return data; }, // Approaches createApproach: async (missionId: string, approach: Partial<Approach>) => { const { data } = await api.post<Approach>('/approaches', { missionId, ...approach }); return data; }, // Deployments createDeployment: async (approachId: string, deployment: Partial<Deployment>) => { const { data } = await api.post<Deployment>('/deployments', { approachId, ...deployment }); return data; }, updateDeploymentStatus: async (id: string, status: TaskStatus) => { const { data } = await api.put<Deployment>(`/deployments/${id}/status`, { status }); return data; }, // Kanban Board getBoard: async (projectId: string) => { const { data } = await api.get(`/projects/${projectId}/board`); return data; }, // BMAD Hierarchy getHierarchy: async (projectId: string) => { const { data } = await api.get(`/projects/${projectId}/hierarchy`); return data; }, };