AI Tools

pydantic model ibm_watsonx_gov.tools.entities.ai_tools.AIToolBenchmark

Bases: BaseModel

Show JSON schema
{
   "title": "AIToolBenchmark",
   "type": "object",
   "properties": {
      "avg_latency": {
         "default": null,
         "title": "Avg Latency",
         "type": "string"
      },
      "dataset": {
         "description": "GitHub URL for the dataset.",
         "title": "Dataset",
         "type": "string"
      },
      "records": {
         "description": "Number of records contained in the dataset.",
         "title": "Records",
         "type": "integer"
      }
   },
   "required": [
      "dataset",
      "records"
   ]
}

Fields:
field avg_latency: Annotated[str, FieldInfo(annotation=NoneType, required=False, default=None)] = None
field dataset: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='GitHub URL for the dataset.')] [Required]

GitHub URL for the dataset.

field records: Annotated[int, FieldInfo(annotation=NoneType, required=True, description='Number of records contained in the dataset.')] [Required]

Number of records contained in the dataset.

pydantic model ibm_watsonx_gov.tools.entities.ai_tools.AIToolCodePayload

Bases: BaseModel

Show JSON schema
{
   "title": "AIToolCodePayload",
   "type": "object",
   "properties": {
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Source location of the tool's code.",
         "title": "Source"
      },
      "commit": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Commit"
      },
      "language": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "python",
         "description": "Language used in the code",
         "title": "Language"
      },
      "source_code_url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Remote URL for accessing the source code. Currently, only GitHub URLs are supported.",
         "title": "Source Code Url"
      },
      "source_code_base64": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "description": "Source code for invoking the tool.",
         "title": "Source Code Base64"
      },
      "run_time_details": {
         "anyOf": [
            {
               "$ref": "#/$defs/AIToolRuntimeDetails"
            },
            {
               "type": "null"
            }
         ],
         "description": "Runtime details required for executing the source code."
      }
   },
   "$defs": {
      "AIToolRuntimeDetails": {
         "properties": {
            "engine": {
               "description": "Python version required by the tool.",
               "title": "Engine",
               "type": "string"
            },
            "cpu_capacity": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "CPU capacity required by the tool.",
               "title": "Cpu Capacity"
            },
            "memory": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Memory required by the tool.",
               "title": "Memory"
            }
         },
         "required": [
            "engine"
         ],
         "title": "AIToolRuntimeDetails",
         "type": "object"
      }
   },
   "required": [
      "source_code_base64",
      "run_time_details"
   ]
}

Fields:
Validators:
field commit: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None)] = None
Validated by:
field language: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default='python', description='Language used in the code')] = 'python'

Language used in the code

Validated by:
field run_time_details: Annotated[AIToolRuntimeDetails | None, FieldInfo(annotation=NoneType, required=True, description='Runtime details required for executing the source code.')] [Required]

Runtime details required for executing the source code.

Validated by:
field source: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description="Source location of the tool's code.")] = None

Source location of the tool’s code.

Validated by:
field source_code_base64: Annotated[str | None, FieldInfo(annotation=NoneType, required=True, description='Source code for invoking the tool.')] [Required]

Source code for invoking the tool.

Validated by:
field source_code_url: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Remote URL for accessing the source code. Currently, only GitHub URLs are supported.')] = None

Remote URL for accessing the source code. Currently, only GitHub URLs are supported.

Validated by:
validator accept_multiple_field_names  »  all fields
pydantic model ibm_watsonx_gov.tools.entities.ai_tools.AIToolDependencies

Bases: BaseModel

Show JSON schema
{
   "title": "AIToolDependencies",
   "type": "object",
   "properties": {
      "remote_services": {
         "default": null,
         "items": {
            "type": "string"
         },
         "title": "Remote Services",
         "type": "array"
      },
      "run_time_packages": {
         "default": null,
         "items": {
            "type": "string"
         },
         "title": "Run Time Packages",
         "type": "array"
      }
   }
}

Fields:
field remote_services: Annotated[list[str], FieldInfo(annotation=NoneType, required=False, default=None)] = None
field run_time_packages: Annotated[list[str], FieldInfo(annotation=NoneType, required=False, default=None)] = None
pydantic model ibm_watsonx_gov.tools.entities.ai_tools.AIToolEndpointPayload

Bases: BaseModel

Show JSON schema
{
   "title": "AIToolEndpointPayload",
   "type": "object",
   "properties": {
      "url": {
         "description": "URL to access the endpoint.",
         "title": "Url",
         "type": "string"
      },
      "method": {
         "description": "Method to access the endpoint.",
         "title": "Method",
         "type": "string"
      },
      "headers": {
         "description": "Headers required to call the endpoint.",
         "title": "Headers",
         "type": "object"
      }
   },
   "required": [
      "url",
      "method",
      "headers"
   ]
}

Fields:
field headers: Annotated[Dict[str, Any], FieldInfo(annotation=NoneType, required=True, description='Headers required to call the endpoint.')] [Required]

Headers required to call the endpoint.

field method: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Method to access the endpoint.')] [Required]

Method to access the endpoint.

field url: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='URL to access the endpoint.')] [Required]

URL to access the endpoint.

pydantic model ibm_watsonx_gov.tools.entities.ai_tools.AIToolRuntimeDetails

Bases: BaseModel

Show JSON schema
{
   "title": "AIToolRuntimeDetails",
   "type": "object",
   "properties": {
      "engine": {
         "description": "Python version required by the tool.",
         "title": "Engine",
         "type": "string"
      },
      "cpu_capacity": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "CPU capacity required by the tool.",
         "title": "Cpu Capacity"
      },
      "memory": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Memory required by the tool.",
         "title": "Memory"
      }
   },
   "required": [
      "engine"
   ]
}

Fields:
field cpu_capacity: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='CPU capacity required by the tool.')] = None

CPU capacity required by the tool.

field engine: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Python version required by the tool.')] [Required]

Python version required by the tool.

field memory: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Memory required by the tool.')] = None

Memory required by the tool.

pydantic model ibm_watsonx_gov.tools.entities.ai_tools.AIToolSchema

Bases: BaseModel

Show JSON schema
{
   "title": "AIToolSchema",
   "type": "object",
   "properties": {
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Title for schema.",
         "title": "Title"
      },
      "type": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Type of schema.",
         "title": "Type"
      },
      "properties": {
         "type": "object",
         "description": "Properties for schema.",
         "title": "Properties"
      },
      "required": {
         "anyOf": [
            {
               "items": {},
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Required for schema.",
         "title": "Required"
      }
   },
   "required": [
      "properties"
   ]
}

Fields:
field properties: Annotated[dict, FieldInfo(annotation=NoneType, required=True, description='Properties for schema.')] [Required]

Properties for schema.

field required: Annotated[list | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Required for schema.')] = None

Required for schema.

field title: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Title for schema.')] = None

Title for schema.

field type: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Type of schema.')] = None

Type of schema.

pydantic model ibm_watsonx_gov.tools.entities.ai_tools.AIToolUsedInApplication

Bases: BaseModel

Show JSON schema
{
   "title": "AIToolUsedInApplication",
   "type": "object",
   "properties": {
      "inventory_id": {
         "description": "Inventory ID of the application where the tool is used.",
         "title": "Inventory Id",
         "type": "string"
      },
      "agent_asset_id": {
         "description": "Agent ID of the application where the tool is used.",
         "title": "Agent Asset Id",
         "type": "string"
      }
   },
   "required": [
      "inventory_id",
      "agent_asset_id"
   ]
}

Fields:
field agent_asset_id: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Agent ID of the application where the tool is used.')] [Required]

Agent ID of the application where the tool is used.

field inventory_id: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Inventory ID of the application where the tool is used.')] [Required]

Inventory ID of the application where the tool is used.

pydantic model ibm_watsonx_gov.tools.entities.ai_tools.PatchPayload

Bases: BaseModel

Show JSON schema
{
   "title": "PatchPayload",
   "type": "object",
   "properties": {
      "op": {
         "$ref": "#/$defs/PatchOperationTypes",
         "description": "Type of operation to be performed."
      },
      "path": {
         "description": "Path of the field on which the operation needs to be performed.",
         "title": "Path",
         "type": "string"
      },
      "value": {
         "description": "The value to be applied during the specified operation on the given field path.",
         "title": "Value"
      }
   },
   "$defs": {
      "PatchOperationTypes": {
         "enum": [
            "add",
            "remove",
            "replace"
         ],
         "title": "PatchOperationTypes",
         "type": "string"
      }
   },
   "required": [
      "op",
      "path",
      "value"
   ]
}

Fields:
Validators:
field op: Annotated[PatchOperationTypes, FieldInfo(annotation=NoneType, required=True, description='Type of operation to be performed.')] [Required]

Type of operation to be performed.

Validated by:
field path: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Path of the field on which the operation needs to be performed.')] [Required]

Path of the field on which the operation needs to be performed.

Validated by:
field value: Annotated[Any, FieldInfo(annotation=NoneType, required=True, description='The value to be applied during the specified operation on the given field path.')] [Required]

The value to be applied during the specified operation on the given field path.

Validated by:
validator validate_patch_payload  »  all fields
pydantic model ibm_watsonx_gov.tools.entities.ai_tools.ToolRegistrationPayload

Bases: BaseModel

Show JSON schema
{
   "title": "ToolRegistrationPayload",
   "type": "object",
   "properties": {
      "tool_name": {
         "description": "Unique name for the tool",
         "title": "Tool Name",
         "type": "string"
      },
      "display_name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Unique name for displaying the tool.",
         "title": "Display Name"
      },
      "service_provider_type": {
         "anyOf": [
            {
               "$ref": "#/$defs/ServiceProviderType"
            },
            {
               "type": "null"
            }
         ],
         "default": "custom",
         "description": "Service provider type. Allowed values are: ['IBM', 'custom']."
      },
      "tool_type": {
         "anyOf": [
            {
               "$ref": "#/$defs/CustomToolType"
            },
            {
               "type": "null"
            }
         ],
         "default": "code",
         "description": "Type of the tool. Allowed tool types are: ['code', 'endpoint']."
      },
      "description": {
         "description": "Short description about the tool.",
         "title": "Description",
         "type": "string"
      },
      "summary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Summary of the tool.",
         "title": "Summary"
      },
      "development_uri_link": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Development Uri Link"
      },
      "inventory_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Inventory ID in which the asset needs to be created.",
         "title": "Inventory Id"
      },
      "reusable": {
         "default": true,
         "description": "Specify the tool will be reusable.",
         "title": "Reusable",
         "type": "boolean"
      },
      "framework": {
         "description": "Specify the framework used by the tool.",
         "items": {
            "$ref": "#/$defs/Framework"
         },
         "title": "Framework",
         "type": "array"
      },
      "category": {
         "description": "Specify the category under which the tool will be classified. Allowed values are ['Search', 'Guardrails', 'Query', 'RAG', 'Evaluation', 'Other'].",
         "items": {
            "$ref": "#/$defs/Categories"
         },
         "title": "Category",
         "type": "array"
      },
      "used_in_applications": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/AIToolUsedInApplication"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "List of applications where this tool is used.",
         "title": "Used In Applications"
      },
      "code": {
         "anyOf": [
            {
               "$ref": "#/$defs/AIToolCodePayload"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Code-related information for the tool."
      },
      "endpoint": {
         "anyOf": [
            {
               "$ref": "#/$defs/AIToolEndpointPayload"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Endpoint-related information for the tool."
      },
      "dependencies": {
         "anyOf": [
            {
               "$ref": "#/$defs/AIToolDependencies"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Dependencies required by this tool."
      },
      "config": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Configuration information for this tool.",
         "title": "Config"
      },
      "schema": {
         "$ref": "#/$defs/AIToolSchema",
         "description": "Schema information for this tool."
      },
      "environment_variables": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Environment variables required by this tool.",
         "title": "Environment Variables"
      },
      "metrics": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Metrics and their respective values.",
         "title": "Metrics"
      },
      "pricing": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Type of currency and its corresponding price.",
         "title": "Pricing"
      },
      "benchmark_test": {
         "anyOf": [
            {
               "$ref": "#/$defs/AIToolBenchmark"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Benchmark test details."
      }
   },
   "$defs": {
      "AIToolBenchmark": {
         "properties": {
            "avg_latency": {
               "default": null,
               "title": "Avg Latency",
               "type": "string"
            },
            "dataset": {
               "description": "GitHub URL for the dataset.",
               "title": "Dataset",
               "type": "string"
            },
            "records": {
               "description": "Number of records contained in the dataset.",
               "title": "Records",
               "type": "integer"
            }
         },
         "required": [
            "dataset",
            "records"
         ],
         "title": "AIToolBenchmark",
         "type": "object"
      },
      "AIToolCodePayload": {
         "properties": {
            "source": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Source location of the tool's code.",
               "title": "Source"
            },
            "commit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Commit"
            },
            "language": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "python",
               "description": "Language used in the code",
               "title": "Language"
            },
            "source_code_url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Remote URL for accessing the source code. Currently, only GitHub URLs are supported.",
               "title": "Source Code Url"
            },
            "source_code_base64": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "Source code for invoking the tool.",
               "title": "Source Code Base64"
            },
            "run_time_details": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AIToolRuntimeDetails"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "Runtime details required for executing the source code."
            }
         },
         "required": [
            "source_code_base64",
            "run_time_details"
         ],
         "title": "AIToolCodePayload",
         "type": "object"
      },
      "AIToolDependencies": {
         "properties": {
            "remote_services": {
               "default": null,
               "items": {
                  "type": "string"
               },
               "title": "Remote Services",
               "type": "array"
            },
            "run_time_packages": {
               "default": null,
               "items": {
                  "type": "string"
               },
               "title": "Run Time Packages",
               "type": "array"
            }
         },
         "title": "AIToolDependencies",
         "type": "object"
      },
      "AIToolEndpointPayload": {
         "properties": {
            "url": {
               "description": "URL to access the endpoint.",
               "title": "Url",
               "type": "string"
            },
            "method": {
               "description": "Method to access the endpoint.",
               "title": "Method",
               "type": "string"
            },
            "headers": {
               "description": "Headers required to call the endpoint.",
               "title": "Headers",
               "type": "object"
            }
         },
         "required": [
            "url",
            "method",
            "headers"
         ],
         "title": "AIToolEndpointPayload",
         "type": "object"
      },
      "AIToolRuntimeDetails": {
         "properties": {
            "engine": {
               "description": "Python version required by the tool.",
               "title": "Engine",
               "type": "string"
            },
            "cpu_capacity": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "CPU capacity required by the tool.",
               "title": "Cpu Capacity"
            },
            "memory": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Memory required by the tool.",
               "title": "Memory"
            }
         },
         "required": [
            "engine"
         ],
         "title": "AIToolRuntimeDetails",
         "type": "object"
      },
      "AIToolSchema": {
         "properties": {
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Title for schema.",
               "title": "Title"
            },
            "type": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Type of schema.",
               "title": "Type"
            },
            "properties": {
               "type": "object",
               "description": "Properties for schema.",
               "title": "Properties"
            },
            "required": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Required for schema.",
               "title": "Required"
            }
         },
         "required": [
            "properties"
         ],
         "title": "AIToolSchema",
         "type": "object"
      },
      "AIToolUsedInApplication": {
         "properties": {
            "inventory_id": {
               "description": "Inventory ID of the application where the tool is used.",
               "title": "Inventory Id",
               "type": "string"
            },
            "agent_asset_id": {
               "description": "Agent ID of the application where the tool is used.",
               "title": "Agent Asset Id",
               "type": "string"
            }
         },
         "required": [
            "inventory_id",
            "agent_asset_id"
         ],
         "title": "AIToolUsedInApplication",
         "type": "object"
      },
      "Categories": {
         "enum": [
            "Search",
            "Guardrails",
            "Query",
            "RAG",
            "Evaluation",
            "Other"
         ],
         "title": "Categories",
         "type": "string"
      },
      "CustomToolType": {
         "enum": [
            "code",
            "endpoint"
         ],
         "title": "CustomToolType",
         "type": "string"
      },
      "Framework": {
         "enum": [
            "langchain",
            "langgraph"
         ],
         "title": "Framework",
         "type": "string"
      },
      "ServiceProviderType": {
         "enum": [
            "IBM",
            "custom"
         ],
         "title": "ServiceProviderType",
         "type": "string"
      }
   },
   "required": [
      "tool_name",
      "description",
      "schema"
   ]
}

Fields:
Validators:
field benchmark_test: Annotated[AIToolBenchmark | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Benchmark test details.')] = None

Benchmark test details.

Validated by:
field category: ")] [Optional]

Specify the category under which the tool will be classified. Allowed values are [‘Search’, ‘Guardrails’, ‘Query’, ‘RAG’, ‘Evaluation’, ‘Other’].

Validated by:
field code: Annotated[AIToolCodePayload | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Code-related information for the tool.')] = None

Code-related information for the tool.

Validated by:
field config: Annotated[Dict | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Configuration information for this tool.')] = None

Configuration information for this tool.

Validated by:
field dependencies: Annotated[AIToolDependencies | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Dependencies required by this tool.')] = None

Dependencies required by this tool.

Validated by:
field description: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Short description about the tool.')] [Required]

Short description about the tool.

Validated by:
Validated by:
field display_name: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Unique name for displaying the tool.')] = None

Unique name for displaying the tool.

Validated by:
field endpoint: Annotated[AIToolEndpointPayload | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Endpoint-related information for the tool.')] = None

Endpoint-related information for the tool.

Validated by:
field environment_variables: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Environment variables required by this tool.')] = None

Environment variables required by this tool.

Validated by:
field framework: ')] [Optional]

Specify the framework used by the tool.

Validated by:
field inventory_id: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Inventory ID in which the asset needs to be created.')] = None

Inventory ID in which the asset needs to be created.

Validated by:
field metrics: Annotated[Dict | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Metrics and their respective values.')] = None

Metrics and their respective values.

Validated by:
field pricing: Annotated[Dict | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Type of currency and its corresponding price.')] = None

Type of currency and its corresponding price.

Validated by:
field reusable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Specify the tool will be reusable.')] = True

Specify the tool will be reusable.

Validated by:
field schema_: Annotated[AIToolSchema, FieldInfo(annotation=NoneType, required=True, alias='schema', alias_priority=2, description='Schema information for this tool.')] [Required] (alias 'schema')

Schema information for this tool.

Validated by:
field service_provider_type: ")] = ServiceProviderType.CUSTOM

Service provider type. Allowed values are: [‘IBM’, ‘custom’].

Validated by:
field summary: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Summary of the tool.')] = None

Summary of the tool.

Validated by:
field tool_name: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Unique name for the tool')] [Required]

Unique name for the tool

Validated by:
field tool_type: ")] = CustomToolType.CODE

Type of the tool. Allowed tool types are: [‘code’, ‘endpoint’].

Validated by:
field used_in_applications: Annotated[List[AIToolUsedInApplication] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='List of applications where this tool is used.')] = None

List of applications where this tool is used.

Validated by:
validator check_tool_type  »  all fields
validator validate_post_payload  »  all fields
pydantic model ibm_watsonx_gov.tools.entities.ai_tools.ToolUpdatePayload

Bases: BaseModel

Show JSON schema
{
   "title": "ToolUpdatePayload",
   "type": "object",
   "properties": {
      "payload": {
         "description": "List of patch payloads used to perform the patch operation.",
         "items": {
            "$ref": "#/$defs/PatchPayload"
         },
         "title": "Payload",
         "type": "array"
      }
   },
   "$defs": {
      "PatchOperationTypes": {
         "enum": [
            "add",
            "remove",
            "replace"
         ],
         "title": "PatchOperationTypes",
         "type": "string"
      },
      "PatchPayload": {
         "properties": {
            "op": {
               "$ref": "#/$defs/PatchOperationTypes",
               "description": "Type of operation to be performed."
            },
            "path": {
               "description": "Path of the field on which the operation needs to be performed.",
               "title": "Path",
               "type": "string"
            },
            "value": {
               "description": "The value to be applied during the specified operation on the given field path.",
               "title": "Value"
            }
         },
         "required": [
            "op",
            "path",
            "value"
         ],
         "title": "PatchPayload",
         "type": "object"
      }
   },
   "required": [
      "payload"
   ]
}

Fields:
Validators:
field payload: Annotated[list[PatchPayload], FieldInfo(annotation=NoneType, required=True, description='List of patch payloads used to perform the patch operation.')] [Required]

List of patch payloads used to perform the patch operation.

Validated by:
validator validate_ai_tool_patch_payload  »  all fields