Files
Profa b56dad4f4c feat: complete OpenCode integration — all 40 tasks across 5 workstreams
Implements the full AQE-OpenCode integration plan:

WS0 Foundation: shared types (aqe-opencode-types), monorepo packages
WS1 MCP Server: transport factory (SSE/WS/HTTP routing), output compaction
  middleware, health endpoint, opencode.json template with SSE config
WS2 Plugin: 4 lifecycle hooks, config schema (Zod), session lifecycle,
  graceful degradation middleware, context budget manager, LSP bridge
WS3 Agent/Skill: 10 agent configs, 15 QE skills, 5 QCSD swarm skills,
  5 tool wrappers, permissions.yaml, generator scripts
WS4 Provider: capability matrix, skill tier registry (75 skills classified),
  degradation middleware, output format adapters
WS5 Testing: integration, unit, validation, E2E smoke tests (31 passing),
  integration guide, tool compatibility docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:54:19 +00:00

60 lines
1.9 KiB
TypeScript

import { z } from 'zod';
export default {
name: 'qe-fleet-status',
description: 'Get comprehensive fleet status including agent health, task progress, and performance metrics',
parameters: z.object({
verbose: z.boolean().default(false).describe('Include detailed agent-level information'),
includeMetrics: z.boolean().default(true).describe('Include performance metrics for all agents'),
domain: z.string().optional().describe('Filter to a specific domain (e.g., "testing", "security")'),
}),
execute: async (
params: { verbose: boolean; includeMetrics: boolean; domain?: string },
ctx: any,
) => {
const startTime = Date.now();
const results: Record<string, any> = {};
// Step 1: Get fleet status
try {
results.fleet = await ctx.callTool('mcp:agentic-qe:fleet_status', {
verbose: params.verbose,
});
} catch (err: any) {
results.fleet = { error: `Fleet status failed: ${err.message}` };
}
// Step 2: Get agent metrics (if requested)
if (params.includeMetrics) {
try {
results.metrics = await ctx.callTool('mcp:agentic-qe:agent_metrics', {});
} catch (err: any) {
results.metrics = { error: `Agent metrics failed: ${err.message}` };
}
}
// Step 3: Get fleet health
try {
if (params.domain) {
results.health = await ctx.callTool('mcp:agentic-qe:fleet_health', {
domain: params.domain,
});
} else {
results.health = await ctx.callTool('mcp:agentic-qe:fleet_health', {});
}
} catch (err: any) {
results.health = { error: `Health check failed: ${err.message}` };
}
const elapsed = Date.now() - startTime;
return {
fleet: results.fleet,
metrics: results.metrics,
health: results.health,
elapsedMs: elapsed,
summary: `Fleet status dashboard retrieved in ${elapsed}ms.`,
};
},
};