@openai/agents-core
Version:
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.
34 lines (33 loc) • 1.78 kB
TypeScript
import type { AgentInputItem } from '../../types';
import type { Model } from '../../model';
import type { Tool, ToolCallDetails } from '../../tool';
import type { Span, Trace } from '../../tracing';
import type { Manifest } from '../manifest';
import type { SandboxSessionLike } from '../session';
import type { SandboxUser } from '../users';
import type { SandboxWorkspaceScope } from '../workspacePaths';
export type CapabilityInstructionsResult = string | null | Promise<string | null>;
export declare abstract class Capability {
abstract readonly type: string;
protected _session?: SandboxSessionLike;
protected _runAs?: string;
protected _modelInstance?: Model;
protected _tracingParent?: Span<any> | Trace;
protected _workspaceScope?: SandboxWorkspaceScope;
clone(): this;
bind(session: SandboxSessionLike): this;
bindRunAs(runAs?: string | SandboxUser): this;
bindModel(_model: string, modelInstance?: Model): this;
bindTracingParent(parent?: Span<any> | Trace): this;
bindWorkspaceScope(scope: SandboxWorkspaceScope): this;
protected modelResourcePath(manifest: Manifest, path: string): string;
protected tracingParent(details?: ToolCallDetails): Span<any> | Trace | undefined;
requiredCapabilityTypes(): Set<string>;
tools(): Tool<any>[];
processManifest(manifest: Manifest): Manifest;
instructions(_manifest: Manifest): CapabilityInstructionsResult;
samplingParams(_samplingParams: Record<string, unknown>): Record<string, unknown>;
processContext(context: AgentInputItem[]): AgentInputItem[];
}
export type ConfigureCapabilityTools = (tools: Tool<any>[]) => Tool<any>[];
export declare function requireBoundSession(capabilityType: string, session?: SandboxSessionLike): SandboxSessionLike;