ResponsesParser.d.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import type { ChatCompletionTool } from "../resources/chat/completions.js";
  2. import { ResponseTextConfig, type FunctionTool, type ParsedResponse, type Response, type ResponseCreateParamsBase, type ResponseCreateParamsNonStreaming, type ResponseFunctionToolCall, type Tool } from "../resources/responses/responses.js";
  3. import { type AutoParseableTextFormat } from "../lib/parser.js";
  4. export type ParseableToolsParams = Array<Tool> | ChatCompletionTool | null;
  5. export type ResponseCreateParamsWithTools = ResponseCreateParamsBase & {
  6. tools?: ParseableToolsParams;
  7. };
  8. type TextConfigParams = {
  9. text?: ResponseTextConfig;
  10. };
  11. export type ExtractParsedContentFromParams<Params extends TextConfigParams> = NonNullable<Params['text']>['format'] extends AutoParseableTextFormat<infer P> ? P : null;
  12. export declare function maybeParseResponse<Params extends ResponseCreateParamsBase | null, ParsedT = Params extends null ? null : ExtractParsedContentFromParams<NonNullable<Params>>>(response: Response, params: Params): ParsedResponse<ParsedT>;
  13. export declare function parseResponse<Params extends ResponseCreateParamsBase, ParsedT = ExtractParsedContentFromParams<Params>>(response: Response, params: Params): ParsedResponse<ParsedT>;
  14. export declare function hasAutoParseableInput(params: ResponseCreateParamsWithTools): boolean;
  15. type ToolOptions = {
  16. name: string;
  17. arguments: any;
  18. function?: ((args: any) => any) | undefined;
  19. };
  20. export type AutoParseableResponseTool<OptionsT extends ToolOptions, HasFunction = OptionsT['function'] extends Function ? true : false> = FunctionTool & {
  21. __arguments: OptionsT['arguments'];
  22. __name: OptionsT['name'];
  23. $brand: 'auto-parseable-tool';
  24. $callback: ((args: OptionsT['arguments']) => any) | undefined;
  25. $parseRaw(args: string): OptionsT['arguments'];
  26. };
  27. export declare function makeParseableResponseTool<OptionsT extends ToolOptions>(tool: FunctionTool, { parser, callback, }: {
  28. parser: (content: string) => OptionsT['arguments'];
  29. callback: ((args: any) => any) | undefined;
  30. }): AutoParseableResponseTool<OptionsT['arguments']>;
  31. export declare function isAutoParsableTool(tool: any): tool is AutoParseableResponseTool<any>;
  32. export declare function shouldParseToolCall(params: ResponseCreateParamsNonStreaming | null | undefined, toolCall: ResponseFunctionToolCall): boolean;
  33. export declare function validateInputTools(tools: ChatCompletionTool[] | undefined): void;
  34. export declare function addOutputText(rsp: Response): void;
  35. export {};
  36. //# sourceMappingURL=ResponsesParser.d.ts.map