Hi, I'm building around the composio tools and reading in the input and output schemas of tools which is being used to give llm specific context about what will be returned. The problem is, the majority of output schemas for various apps have many ambiguous unspecified "object" types, even in cases where the schema should be well-defined.
As an example, this is a snippet from the output parameters of LINEAR_LIST_LINEAR_ISSUES, from composio.tools.getRawComposioTools({ toolkits: ['LINEAR'] })
"properties": {
"issues": {
"type": "array",
"description": "Details for each issue, such as id, title, description, state, priority, assignee, and labels. If `project_id` was not specified in the request, each issue also includes project details.",
"title": "Issues",
"default": [],
"items": {
"type": "object"
}
},
"page_info": {
"type": "object",
"description": "Pagination information, including `endCursor` and `hasNextPage`.",
"title": "Page Info",
"default": {}
}
}
},
Here, issues are an array of "object", and page info is just an unspecified "object". Sure I could try the API and try and map out what exactly the output types are, but especially with a large number of apps and tools this will get very painful to do very quickly. Wondering if there is any more specific representation here that could be exposed.