#Vague `object` types in input/output schemas

1 messages · Page 1 of 1 (latest)

vast spear
#

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.

#

The description is set at least which is nice, but why wouldn't this also be in the actual schema properties instead of being just an object?

mild pond
#

Hey Anders!
You're absolutely right - better type definitions would really improve the DX and give the LLM much better context. It's definitely on our roadmap, but it'll take some time since it requires significant work across all integrations.
Thanks for bringing this up.