Tool Config YAML
================

概要
----

ツールリポジトリには、ツールの依存関係とビルドと実行の必要性をGen AI
Builderに通知する構成ファイルが必要です。

ツール構成ファイルスキーマ
--------------------------

すべての相対パスは、\ ``tool_config.yaml``
ファイルが存在するディレクトリを基にしています。

構成ファイルのスキーマは次のとおりです。

.. code:: yaml

   version: 1.0
   runtime: python3
   runtime_version: 3.12
   build:
     pre_build_install_script: scripts/my-pre-build-install-script.sh
     post_build_install_script: scripts/my-post-build-install-script.sh
     requirements_file: requirements.txt
     cache_build_dependencies:
       enabled: false
       watched_files:
         - requirements.txt
         - scripts/my-pre-build-install-script.sh
         - scripts/my-post-build-install-script.sh
   run:
     init_tool_function: init_tool
     init_tool_file: tool.py
     tool_file: tool.py

構成フィールド
^^^^^^^^^^^^^^

バージョン
^^^^^^^^^^

ツール構成スキーマバージョン番号。

ランタイム
^^^^^^^^^^

ツールに使用するランタイム環境。

runtime_version
^^^^^^^^^^^^^^^

ツールのランタイム環境の特定のバージョン。

build オプショナル
^^^^^^^^^^^^^^^^^^

ツールのビルド時構成。

- **pre_build_install_script** -
  pre_build_install_scriptへのパス、依存関係のインストールの前にツールのビルド中に実行します。このパスは、構造構成ファイルへの相対です。または、スラッシュを使用する場合はリポジトリルートからの絶対値
  ``/my-pre-build-install-script.sh`` 。

- **post_build_install_script** -
  post_build_install_scriptへのパス、依存関係のインストール後のツールビルド中に実行します。このパスは、構造構成ファイルへの相対です。または、スラッシュを使用する場合はリポジトリルートからの絶対値
  ``/my-post-build-install-script.sh`` 。

- **requirements_file** - ツールのrequirements.txtファイルへのパス。

- **cache_build_dependencies** -
  展開を高速化するためにビルドの依存関係をキャッシュするための構成を定義します

  - **enabled** - ビルド依存関係のキャッシュがオンまたはオフ
  - **watched_files** -
    キャッシュをトリガーする特定のファイルを定義無効化、ツールと依存関係の完全なリビルドが発生します

run 必須
^^^^^^^^

ツールの実行時構成。

- **tool_file** Gen AI Builder ``BaseTool``
  派生クラスを含むファイル。デフォルト値は\ ``tool.py`` です。

- **init_tool_file** ``init_tool``
  ファンクションを含むファイル。デフォルト値は\ ``tool.py`` です。

- **init_tool_function**
  呼び出されるファンクション。ファンクションは引数をとらず、\ ``Tool``
  のインスタンスを結果ます。
