def _construct_tool()

in aidial_assistant/commands/run_tool.py [0:0]


def _construct_tool(op: APIOperation) -> ChatCompletionToolParam:
    properties = {}
    required = []
    for p in op.properties:
        properties[p.name] = _construct_property(p)

        if p.required:
            required.append(p.name)

    if op.request_body is not None:
        for p in op.request_body.properties:
            properties[p.name] = _construct_property(p)

            if p.required:
                required.append(p.name)

    return construct_tool(
        op.operation_id, op.description or "", properties, required
    )