Skip to content

Latest commit

 

History

History
29 lines (20 loc) · 3.53 KB

README.md

File metadata and controls

29 lines (20 loc) · 3.53 KB

CI

The Switchboard Tool Registry

This repository hosts the registry of all tools used by the Switchboard (https://switchboard.clarin.eu).

The repository has two important branches:

How to add a tool to the Switchboard

  1. Take any of the json files describing a service from the tools directory in the repository and rename it and modify it to describe your tool. The json file name must be descriptive and unique, and should match the tool name in the json file. The logo entry in the file should contain your unique logo file name. See the Tool description specification for more detailed explanations on the meaning of each field.
  2. Add the new json file to a new branch in your own fork of the repository, in the tools directory.
  3. Add the logo file to the same branch, in the logos directory.
  4. Make sure that the new json file is correct according to the json schema defined in the specification file: spec-v2.schema.json. You can use one of the online schema validators (see https://json-schema.org/implementations.html#validators), or locally run the python script validate-all-tools.py in the schemas directory.
  5. Make sure your tool responds correctly when called by the Switchboard. See the Tool Call API for more detailed explanations on how a tool is called and what parameters are being sent to the tool.
  6. Create a pull request for merging your branch in the master branch of this repository.
  7. After the pull request has been merged, check the availability of your tool in the development instance of the Switchboard: https://beta-switchboard.clarin.eu.
  8. If you are satisfied with how the tool is integrated, create a new issue requesting the publication of your changes from master to production. Our team will do the merge and close the issue.

Documentation links

The Tool description specification provides more information on the json description of the tools.

For details on how a tool is matched for a specific resource, see the Tool Matching document.

For details on how a tool is actually invoked when selected by the user, see the Tool Call API document.

Please note that you should use version 2 of the specification to interact with version 2 of the Tool Call API. You can still find version 1 of the Tool Description Specification (including the JSON) and the Tool Call API here for reference.