OpenWriterControle/evals/framework/src/sdk/approval/approval-strategy.ts
darrenhinde 478c8e3e85 feat: implement SDK-based evaluation framework with real agent testing
- Replace planned framework with working SDK implementation using @opencode-ai/sdk
- Add 6 YAML test cases across developer/business/edge-case categories (100% passing)
- Implement 4 evaluators for openagent.md rule compliance (approval-gate, context-loading, delegation, tool-usage)
- Add real-time event streaming and session recording
- Configure opencode/grok-code-fast as default model (zero API costs)
- Add comprehensive documentation (SDK_EVAL_README.md, test-design-guide.md, TEST_SCENARIOS.md)
- Support v2 schema with behavior-based expectations instead of message counts
- Enable model-agnostic test design that works across Claude, GPT-4, and Grok
- Add subagent invocation syntax documentation to openagent.md
2025-11-22 14:30:11 +00:00

25 lines
535 B
TypeScript

import type { PermissionRequestEvent } from '../event-stream-handler.js';
/**
* Base interface for approval strategies
*/
export interface ApprovalStrategy {
/**
* Decide whether to approve a permission request
* @returns true to approve, false to deny
*/
shouldApprove(event: PermissionRequestEvent): Promise<boolean>;
/**
* Get a description of this strategy
*/
describe(): string;
}
/**
* Approval decision with reasoning
*/
export interface ApprovalDecision {
approved: boolean;
reason: string;
}