/** * Sentinel Test Specification Tools - ADR-0004 Oversight Pack * * Provides tools for creating and managing test specifications: * - sentinel_createTestSpec: Create a new test specification atom * - sentinel_listTestSpecs: List all test specs for a project * - sentinel_compileTests: Compile test specs into documentation * - sentinel_auditPolicies: Audit policy compliance */ import { type StoreMetaFields } from './shared/storeRead.js'; export type TestType = 'unit' | 'integration' | 'e2e' | 'contract' | 'property' | 'manual'; export type TestPriority = 'critical' | 'high' | 'medium' | 'low'; export type TestStatus = 'draft' | 'active' | 'deprecated'; export interface TestCase { name: string; description?: string; steps?: string[]; expected: string; tags?: string[]; } export interface CreateTestSpecInput { projectId?: string; title: string; description: string; type: TestType; priority?: TestPriority; policy_refs?: string[]; test_cases: TestCase[]; setup?: string; teardown?: string; tags?: string[]; } export interface CreateTestSpecOutput { test_id: string; timestamp: string; path: string; title: string; } export interface ListTestSpecsInput { projectId?: string; type?: TestType; priority?: TestPriority; policy_ref?: string; tags?: string[]; } export interface TestSpecSummary { id: string; title: string; type: TestType; priority: TestPriority; status: TestStatus; case_count: number; policy_refs: string[]; tags: string[]; } export interface ListTestSpecsOutput extends StoreMetaFields { test_specs: TestSpecSummary[]; total: number; } export interface CompileTestsInput { projectId?: string; output_format?: 'markdown' | 'json' | 'both'; include_deprecated?: boolean; } export interface CompileTestsOutput { markdown_path?: string; json_path?: string; specs_compiled: number; total_cases: number; timestamp: string; } export interface AuditPoliciesInput { projectId?: string; check_freshness?: boolean; run_enforcement?: boolean; } export interface PolicyComplianceItem { policy_id: string; title: string; severity: string; status: 'pass' | 'fail' | 'warn' | 'skip'; message?: string; } export interface AuditPoliciesOutput extends StoreMetaFields { timestamp: string; policies_checked: number; compliance: PolicyComplianceItem[]; freshness: { policies_stale: boolean; tests_stale: boolean; last_compiled_policies?: string; last_compiled_tests?: string; }; summary: { pass: number; fail: number; warn: number; skip: number; }; } export interface TestSpecError { error: string; message: string; suggestion?: string; } /** * Create a new test specification atom */ export declare function createTestSpec(input: CreateTestSpecInput): Promise; /** * List all test specifications for a project */ export declare function listTestSpecs(input: ListTestSpecsInput): Promise; /** * Compile test specifications into documentation */ export declare function compileTests(input: CompileTestsInput): Promise; /** * Audit policy compliance */ export declare function auditPolicies(input: AuditPoliciesInput): Promise; export declare function isTestSpecError(result: unknown): result is TestSpecError; //# sourceMappingURL=testSpec.d.ts.map