mcp-ai-agent-guidelines
Version:
A comprehensive Model Context Protocol server providing advanced tools, resources, and prompts for implementing AI agent best practices
71 lines • 2.31 kB
TypeScript
import type { Artifact } from "./artifact.types.js";
import type { DesignPhase, EventType, OutputFormat, SessionStatus } from "./common.types.js";
import type { ConstraintRule } from "./constraint.types.js";
import type { CoverageReport } from "./coverage.types.js";
import type { MethodologyProfile, MethodologySelection, MethodologySignals } from "./methodology.types.js";
export interface DesignSessionConfig {
sessionId: string;
context: string;
goal: string;
requirements: string[];
constraints: ConstraintRule[];
coverageThreshold: number;
enablePivots: boolean;
templateRefs: string[];
outputFormats: OutputFormat[];
metadata: Record<string, unknown>;
methodologySignals?: MethodologySignals;
forcedMethodology?: string;
}
export type { DesignPhase } from "./common.types.js";
export interface DesignSessionState {
config: DesignSessionConfig;
currentPhase: string;
phases: Record<string, DesignPhase>;
coverage: CoverageReport;
artifacts: Artifact[];
history: SessionEvent[];
status: SessionStatus;
methodologySelection?: MethodologySelection;
methodologyProfile?: MethodologyProfile;
}
export interface SessionEvent {
timestamp: string;
type: EventType;
phase?: string;
description: string;
data?: Record<string, unknown>;
}
/**
* Gateway-compatible session state format for PolyglotGateway rendering.
*
* This interface represents the SessionState format expected by the gateway layer
* when rendering Spec-Kit artifacts. It bridges the gap between DesignSessionState
* and the domain's SessionState format.
*/
export interface GatewaySessionState {
id: string;
phase: string;
currentPhase?: string;
config: {
sessionId: string;
context: Record<string, unknown>;
goal?: string;
requirements?: unknown;
constraints?: unknown;
metadata?: Record<string, unknown>;
};
context: Record<string, unknown>;
phases?: Record<string, unknown>;
coverage?: unknown;
artifacts?: Record<string, unknown>;
status?: string;
history: Array<{
from: string;
to: string;
timestamp?: string;
type?: string;
description?: string;
}>;
}
//# sourceMappingURL=session.types.d.ts.map