@gnsx/genesys.agent.eval 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"pi-adapter.js","sourceRoot":"","sources":["../../../src/adapters/pi-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,130 +0,0 @@
1
- /**
2
- * Agent adapter interface and factory for creating adapters.
3
- *
4
- * The adapter pattern allows the eval harness to work with different
5
- * agent backends (pi framework, direct Anthropic, OpenAI, etc.) through
6
- * a common interface.
7
- *
8
- * @module agent-adapter
9
- */
10
- import type { AgentConfig, AgentResponse, TestCase } from './types.js';
11
- /**
12
- * Interface that all agent adapters must implement.
13
- *
14
- * Adapters are responsible for:
15
- * - Initializing the agent with configuration
16
- * - Running test cases and returning responses
17
- * - Cleaning up resources when done
18
- */
19
- export interface AgentAdapter {
20
- /** Human-readable name of this adapter */
21
- readonly name: string;
22
- /** Model identifier being used */
23
- readonly model: string;
24
- /**
25
- * Initialize the adapter with the given configuration.
26
- *
27
- * @param config - Agent configuration
28
- * @throws Error if initialization fails
29
- */
30
- initialize(config: AgentConfig): Promise<void>;
31
- /**
32
- * Run a test case through the agent.
33
- *
34
- * @param test - The test case to run
35
- * @param suiteContext - Optional global context from the test suite
36
- * @returns The agent's response
37
- * @throws Error if execution fails
38
- */
39
- run(test: TestCase, suiteContext?: string): Promise<AgentResponse>;
40
- /**
41
- * Clean up any resources used by the adapter.
42
- */
43
- dispose(): Promise<void>;
44
- }
45
- /**
46
- * Factory function type for creating agent adapters.
47
- */
48
- export type AdapterFactory = () => AgentAdapter;
49
- /**
50
- * Register an adapter factory for a given agent name.
51
- *
52
- * @param name - The agent name/identifier
53
- * @param factory - Factory function that creates the adapter
54
- *
55
- * @example
56
- * ```typescript
57
- * registerAdapter('anthropic', () => new AnthropicAdapter());
58
- * ```
59
- */
60
- export declare function registerAdapter(name: string, factory: AdapterFactory): void;
61
- /**
62
- * Create an agent adapter by name.
63
- *
64
- * @param name - The agent name (e.g., 'pi', 'anthropic', 'openai')
65
- * @returns A new adapter instance
66
- * @throws Error if the adapter name is not registered
67
- *
68
- * @example
69
- * ```typescript
70
- * const adapter = createAdapter('anthropic');
71
- * await adapter.initialize({ cwd: process.cwd(), model: 'claude-3-5-sonnet' });
72
- * ```
73
- */
74
- export declare function createAdapter(name: string): AgentAdapter;
75
- /**
76
- * Get a list of available adapter names.
77
- *
78
- * @returns Array of registered adapter names
79
- */
80
- export declare function getAvailableAdapters(): string[];
81
- /**
82
- * Check if an adapter is registered for the given name.
83
- *
84
- * @param name - The adapter name to check
85
- * @returns True if the adapter is available
86
- */
87
- export declare function isAdapterAvailable(name: string): boolean;
88
- /**
89
- * Error thrown when an adapter operation fails.
90
- */
91
- export declare class AdapterError extends Error {
92
- readonly adapterName: string;
93
- readonly cause?: unknown | undefined;
94
- constructor(message: string, adapterName: string, cause?: unknown | undefined);
95
- }
96
- /**
97
- * Error thrown when an adapter is not properly initialized.
98
- */
99
- export declare class AdapterNotInitializedError extends AdapterError {
100
- constructor(adapterName: string);
101
- }
102
- /**
103
- * Base class for agent adapters with common functionality.
104
- *
105
- * Extend this class when implementing new adapters.
106
- */
107
- export declare abstract class BaseAgentAdapter implements AgentAdapter {
108
- protected _config?: AgentConfig;
109
- protected _initialized: boolean;
110
- abstract readonly name: string;
111
- abstract readonly model: string;
112
- /**
113
- * Build the full prompt from test case and suite context.
114
- *
115
- * @param test - The test case
116
- * @param suiteContext - Optional global context
117
- * @returns The combined prompt string
118
- */
119
- protected buildPrompt(test: TestCase, suiteContext?: string): string;
120
- initialize(config: AgentConfig): Promise<void>;
121
- abstract run(test: TestCase, suiteContext?: string): Promise<AgentResponse>;
122
- dispose(): Promise<void>;
123
- /**
124
- * Assert that the adapter is initialized.
125
- *
126
- * @throws AdapterNotInitializedError if not initialized
127
- */
128
- protected assertInitialized(): void;
129
- }
130
- //# sourceMappingURL=agent-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-adapter.d.ts","sourceRoot":"","sources":["../../src/agent-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;;;;;OAOG;IACH,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEnE;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC;AAOhD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAUxD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;aAGnB,WAAW,EAAE,MAAM;aACnB,KAAK,CAAC,EAAE,OAAO;gBAF/B,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,OAAO,YAAA;CAKlC;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,YAAY;gBAC9C,WAAW,EAAE,MAAM;CAOhC;AAED;;;;GAIG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC5D,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAChC,SAAS,CAAC,YAAY,UAAS;IAE/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAgB9D,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAErE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;CAKpC"}
@@ -1,134 +0,0 @@
1
- /**
2
- * Agent adapter interface and factory for creating adapters.
3
- *
4
- * The adapter pattern allows the eval harness to work with different
5
- * agent backends (pi framework, direct Anthropic, OpenAI, etc.) through
6
- * a common interface.
7
- *
8
- * @module agent-adapter
9
- */
10
- /**
11
- * Registry of available agent adapters.
12
- */
13
- const adapterRegistry = new Map();
14
- /**
15
- * Register an adapter factory for a given agent name.
16
- *
17
- * @param name - The agent name/identifier
18
- * @param factory - Factory function that creates the adapter
19
- *
20
- * @example
21
- * ```typescript
22
- * registerAdapter('anthropic', () => new AnthropicAdapter());
23
- * ```
24
- */
25
- export function registerAdapter(name, factory) {
26
- adapterRegistry.set(name, factory);
27
- }
28
- /**
29
- * Create an agent adapter by name.
30
- *
31
- * @param name - The agent name (e.g., 'pi', 'anthropic', 'openai')
32
- * @returns A new adapter instance
33
- * @throws Error if the adapter name is not registered
34
- *
35
- * @example
36
- * ```typescript
37
- * const adapter = createAdapter('anthropic');
38
- * await adapter.initialize({ cwd: process.cwd(), model: 'claude-3-5-sonnet' });
39
- * ```
40
- */
41
- export function createAdapter(name) {
42
- const factory = adapterRegistry.get(name);
43
- if (!factory) {
44
- const available = Array.from(adapterRegistry.keys()).join(', ');
45
- throw new Error(`Unknown agent adapter: "${name}". ` +
46
- `Available adapters: ${available || 'none registered'}`);
47
- }
48
- return factory();
49
- }
50
- /**
51
- * Get a list of available adapter names.
52
- *
53
- * @returns Array of registered adapter names
54
- */
55
- export function getAvailableAdapters() {
56
- return Array.from(adapterRegistry.keys());
57
- }
58
- /**
59
- * Check if an adapter is registered for the given name.
60
- *
61
- * @param name - The adapter name to check
62
- * @returns True if the adapter is available
63
- */
64
- export function isAdapterAvailable(name) {
65
- return adapterRegistry.has(name);
66
- }
67
- /**
68
- * Error thrown when an adapter operation fails.
69
- */
70
- export class AdapterError extends Error {
71
- adapterName;
72
- cause;
73
- constructor(message, adapterName, cause) {
74
- super(message);
75
- this.adapterName = adapterName;
76
- this.cause = cause;
77
- this.name = 'AdapterError';
78
- }
79
- }
80
- /**
81
- * Error thrown when an adapter is not properly initialized.
82
- */
83
- export class AdapterNotInitializedError extends AdapterError {
84
- constructor(adapterName) {
85
- super(`Adapter "${adapterName}" is not initialized. Call initialize() before using.`, adapterName);
86
- this.name = 'AdapterNotInitializedError';
87
- }
88
- }
89
- /**
90
- * Base class for agent adapters with common functionality.
91
- *
92
- * Extend this class when implementing new adapters.
93
- */
94
- export class BaseAgentAdapter {
95
- _config;
96
- _initialized = false;
97
- /**
98
- * Build the full prompt from test case and suite context.
99
- *
100
- * @param test - The test case
101
- * @param suiteContext - Optional global context
102
- * @returns The combined prompt string
103
- */
104
- buildPrompt(test, suiteContext) {
105
- const parts = [];
106
- if (suiteContext) {
107
- parts.push('Context:', suiteContext, '');
108
- }
109
- if (test.context) {
110
- parts.push('Specific Context:', test.context, '');
111
- }
112
- parts.push('Task:', test.input);
113
- return parts.join('\n');
114
- }
115
- async initialize(config) {
116
- this._config = config;
117
- this._initialized = true;
118
- }
119
- async dispose() {
120
- this._initialized = false;
121
- this._config = undefined;
122
- }
123
- /**
124
- * Assert that the adapter is initialized.
125
- *
126
- * @throws AdapterNotInitializedError if not initialized
127
- */
128
- assertInitialized() {
129
- if (!this._initialized) {
130
- throw new AdapterNotInitializedError(this.name);
131
- }
132
- }
133
- }
134
- //# sourceMappingURL=agent-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-adapter.js","sourceRoot":"","sources":["../../src/agent-adapter.ts"],"names":[],"mappings":"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"}