tool2agent API Documentation - v0.0.0
    Preparing search index...

    Type Alias BuilderApi<InputType, OutputType, Added, DynamicUnion>

    type BuilderApi<
        InputType extends Record<string, unknown>,
        OutputType,
        Added extends keyof InputType,
        DynamicUnion extends keyof InputType,
    > = {
        build: (
            ...args: Exclude<DynamicUnion, Added> extends never
                ? []
                : [
                    build_not_allowed_because_not_all_dynamic_fields_were_specified: never,
                ],
        ) => Exclude<DynamicUnion, Added> extends never
            ? Tool2Agent<DynamicInputType<InputType, DynamicUnion>, OutputType>
            : never;
        field: <
            FieldName extends Exclude<DynamicUnion, Added>,
            Requirements extends readonly Exclude<DynamicUnion, FieldName>[],
        >(
            key: FieldName,
            cfg: ToolFieldConfig<
                InputType,
                FieldName,
                Requirements,
                Exclude<keyof InputType, DynamicUnion | FieldName>,
            >,
        ) => BuilderApi<InputType, OutputType, Added | FieldName, DynamicUnion>;
        spec: ToolSpec<Pick<InputType, DynamicUnion>>;
    }

    Type Parameters

    • InputType extends Record<string, unknown>
    • OutputType
    • Added extends keyof InputType
    • DynamicUnion extends keyof InputType
    Index

    Properties

    Properties

    build: (
        ...args: Exclude<DynamicUnion, Added> extends never
            ? []
            : [build_not_allowed_because_not_all_dynamic_fields_were_specified: never],
    ) => Exclude<DynamicUnion, Added> extends never
        ? Tool2Agent<DynamicInputType<InputType, DynamicUnion>, OutputType>
        : never
    field: <
        FieldName extends Exclude<DynamicUnion, Added>,
        Requirements extends readonly Exclude<DynamicUnion, FieldName>[],
    >(
        key: FieldName,
        cfg: ToolFieldConfig<
            InputType,
            FieldName,
            Requirements,
            Exclude<keyof InputType, DynamicUnion | FieldName>,
        >,
    ) => BuilderApi<InputType, OutputType, Added | FieldName, DynamicUnion>