- 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
25 lines
535 B
TypeScript
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;
|
|
}
|