132 lines
5.2 KiB
TypeScript
132 lines
5.2 KiB
TypeScript
|
import { AsyncCaller, AsyncCallerParams } from "@langchain/core/utils/async_caller";
|
||
|
import { StructuredTool } from "@langchain/core/tools";
|
||
|
import { ZodOptional, ZodString, z } from "zod";
|
||
|
/**
|
||
|
* An object containing configuration parameters for the ConneryService class.
|
||
|
* @extends AsyncCallerParams
|
||
|
*/
|
||
|
export interface ConneryServiceParams extends AsyncCallerParams {
|
||
|
runnerUrl: string;
|
||
|
apiKey: string;
|
||
|
}
|
||
|
type Parameter = {
|
||
|
key: string;
|
||
|
title: string;
|
||
|
description: string;
|
||
|
type: string;
|
||
|
validation?: {
|
||
|
required?: boolean;
|
||
|
};
|
||
|
};
|
||
|
type Action = {
|
||
|
id: string;
|
||
|
key: string;
|
||
|
title: string;
|
||
|
description: string;
|
||
|
type: string;
|
||
|
inputParameters: Parameter[];
|
||
|
outputParameters: Parameter[];
|
||
|
pluginId: string;
|
||
|
};
|
||
|
type Input = Record<string, string | undefined>;
|
||
|
type Output = Record<string, string>;
|
||
|
/**
|
||
|
* A LangChain Tool object wrapping a Connery action.
|
||
|
* ConneryAction is a structured tool that can be used only in the agents supporting structured tools.
|
||
|
* @extends StructuredTool
|
||
|
*/
|
||
|
export declare class ConneryAction extends StructuredTool {
|
||
|
protected _action: Action;
|
||
|
protected _service: ConneryService;
|
||
|
name: string;
|
||
|
description: string;
|
||
|
schema: z.ZodObject<Record<string, ZodString | ZodOptional<ZodString>>>;
|
||
|
/**
|
||
|
* Creates a ConneryAction instance based on the provided Connery Action.
|
||
|
* @param _action The Connery Action.
|
||
|
* @param _service The ConneryService instance.
|
||
|
* @returns A ConneryAction instance.
|
||
|
*/
|
||
|
constructor(_action: Action, _service: ConneryService);
|
||
|
/**
|
||
|
* Runs the Connery Action with the provided input.
|
||
|
* @param arg The input object expected by the action.
|
||
|
* @returns A promise that resolves to a JSON string containing the output of the action.
|
||
|
*/
|
||
|
protected _call(arg: z.output<typeof this.schema>): Promise<string>;
|
||
|
/**
|
||
|
* Creates a Zod schema for the input object expected by the Connery action.
|
||
|
* @returns A Zod schema for the input object expected by the Connery action.
|
||
|
*/
|
||
|
protected createInputSchema(): z.ZodObject<Record<string, ZodString | ZodOptional<ZodString>>>;
|
||
|
}
|
||
|
/**
|
||
|
* A service for working with Connery Actions.
|
||
|
*/
|
||
|
export declare class ConneryService {
|
||
|
protected runnerUrl: string;
|
||
|
protected apiKey: string;
|
||
|
protected asyncCaller: AsyncCaller;
|
||
|
/**
|
||
|
* Creates a ConneryService instance.
|
||
|
* @param params A ConneryServiceParams object.
|
||
|
* If not provided, the values are retrieved from the CONNERY_RUNNER_URL
|
||
|
* and CONNERY_RUNNER_API_KEY environment variables.
|
||
|
* @returns A ConneryService instance.
|
||
|
*/
|
||
|
constructor(params?: ConneryServiceParams);
|
||
|
/**
|
||
|
* Returns the list of Connery Actions wrapped as a LangChain StructuredTool objects.
|
||
|
* @returns A promise that resolves to an array of ConneryAction objects.
|
||
|
*/
|
||
|
listActions(): Promise<ConneryAction[]>;
|
||
|
/**
|
||
|
* Returns the specified Connery action wrapped as a LangChain StructuredTool object.
|
||
|
* @param actionId The ID of the action to return.
|
||
|
* @returns A promise that resolves to a ConneryAction object.
|
||
|
*/
|
||
|
getAction(actionId: string): Promise<ConneryAction>;
|
||
|
/**
|
||
|
* Runs the specified Connery action with the provided input.
|
||
|
* @param actionId The ID of the action to run.
|
||
|
* @param input The input object expected by the action.
|
||
|
* @returns A promise that resolves to a JSON string containing the output of the action.
|
||
|
*/
|
||
|
runAction(actionId: string, input?: Input): Promise<string>;
|
||
|
/**
|
||
|
* Returns the list of actions available in the Connery runner.
|
||
|
* @returns A promise that resolves to an array of Action objects.
|
||
|
*/
|
||
|
protected _listActions(): Promise<Action[]>;
|
||
|
/**
|
||
|
* Returns the specified action available in the Connery runner.
|
||
|
* @param actionId The ID of the action to return.
|
||
|
* @returns A promise that resolves to an Action object.
|
||
|
* @throws An error if the action with the specified ID is not found.
|
||
|
*/
|
||
|
protected _getAction(actionId: string): Promise<Action>;
|
||
|
/**
|
||
|
* Runs the specified Connery action with the provided input.
|
||
|
* @param actionId The ID of the action to run.
|
||
|
* @param input The input object expected by the action.
|
||
|
* @returns A promise that resolves to a RunActionResult object.
|
||
|
*/
|
||
|
protected _runAction(actionId: string, input?: Input): Promise<Output>;
|
||
|
/**
|
||
|
* Returns a standard set of HTTP headers to be used in API calls to the Connery runner.
|
||
|
* @returns An object containing the standard set of HTTP headers.
|
||
|
*/
|
||
|
protected _getHeaders(): Record<string, string>;
|
||
|
/**
|
||
|
* Shared error handler for API calls to the Connery runner.
|
||
|
* If the response is not ok, an error is thrown containing the error message returned by the Connery runner.
|
||
|
* Otherwise, the promise resolves to void.
|
||
|
* @param response The response object returned by the Connery runner.
|
||
|
* @param errorMessage The error message to be used in the error thrown if the response is not ok.
|
||
|
* @returns A promise that resolves to void.
|
||
|
* @throws An error containing the error message returned by the Connery runner.
|
||
|
*/
|
||
|
protected _handleError(response: Response, errorMessage: string): Promise<void>;
|
||
|
}
|
||
|
export {};
|