arcade-mcp/toolkits/weaviate_api/arcade_weaviate_api/wrapper_tools/ReplicateShardReplica.json
jottakka 6bba3284a4
[MOAR][Weaviate] Weaviate Starter Toolkits (#639)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-21 15:50:26 -03:00

253 lines
12 KiB
JSON

{
"name": "ReplicateShardReplica",
"fully_qualified_name": "WeaviateApi.ReplicateShardReplica@0.1.0",
"description": "Initiates replication of a shard replica to a target node.\n\nThis tool starts an asynchronous process to move or copy a specific shard replica from its current node to a specified target node. It handles data copying, synchronization, and may decommission the source replica.",
"toolkit": {
"name": "ArcadeWeaviateApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "source_node",
"required": true,
"description": "The name of the Weaviate node currently hosting the shard replica to be moved or copied.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied."
},
"inferrable": true,
"http_endpoint_parameter_name": "sourceNode"
},
{
"name": "target_weaviate_node",
"required": true,
"description": "Name of the Weaviate node for creating the new shard replica during the operation.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation."
},
"inferrable": true,
"http_endpoint_parameter_name": "targetNode"
},
{
"name": "target_collection_name",
"required": true,
"description": "The name of the collection to which the target shard belongs in the Weaviate database.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the collection to which the target shard belongs."
},
"inferrable": true,
"http_endpoint_parameter_name": "collection"
},
{
"name": "shard_name",
"required": true,
"description": "The name of the shard whose replica is to be moved or copied. Specify the shard to initiate the operation.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the shard whose replica is to be moved or copied."
},
"inferrable": true,
"http_endpoint_parameter_name": "shard"
},
{
"name": "replication_operation_type",
"required": false,
"description": "Specifies whether to 'COPY' or 'MOVE' the shard replica. Defaults to 'COPY' if not provided.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"COPY",
"MOVE"
],
"properties": null,
"inner_properties": null,
"description": "Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted."
},
"inferrable": true,
"http_endpoint_parameter_name": "type"
}
]
},
"output": {
"description": "Response from the API endpoint 'replicate'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "WEAVIATE_API_KEY"
},
{
"key": "WEAVIATE_SERVER_URL"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the weaviate API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "{weaviate_server_url}/v1/replication/replicate",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "sourceNode",
"tool_parameter_name": "source_node",
"description": "The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "targetNode",
"tool_parameter_name": "target_weaviate_node",
"description": "The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "collection",
"tool_parameter_name": "target_collection_name",
"description": "The name of the collection to which the target shard belongs.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the collection to which the target shard belongs."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "shard",
"tool_parameter_name": "shard_name",
"description": "The name of the shard whose replica is to be moved or copied.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of the shard whose replica is to be moved or copied."
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "type",
"tool_parameter_name": "replication_operation_type",
"description": "Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"COPY",
"MOVE"
],
"properties": null,
"inner_properties": null,
"description": "Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted."
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": "COPY",
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "WEAVIATE_API_KEY",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
},
{
"arcade_key": "WEAVIATE_SERVER_URL",
"parameter_name": "weaviate_server_url",
"accepted_as": "path",
"formatted_value": null,
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/yaml\": {\n \"schema\": {\n \"required\": [\n \"collection\",\n \"shard\",\n \"sourceNode\",\n \"targetNode\"\n ],\n \"type\": \"object\",\n \"properties\": {\n \"sourceNode\": {\n \"type\": \"string\",\n \"description\": \"The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied.\"\n },\n \"targetNode\": {\n \"type\": \"string\",\n \"description\": \"The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation.\"\n },\n \"collection\": {\n \"type\": \"string\",\n \"description\": \"The name of the collection to which the target shard belongs.\"\n },\n \"shard\": {\n \"type\": \"string\",\n \"description\": \"The name of the shard whose replica is to be moved or copied.\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted.\",\n \"default\": \"COPY\",\n \"enum\": [\n \"COPY\",\n \"MOVE\"\n ]\n }\n },\n \"description\": \"Specifies the parameters required to initiate a shard replica movement operation between two nodes for a given collection and shard. This request defines the source and target node, the collection and type of transfer.\"\n }\n },\n \"application/json\": {\n \"schema\": {\n \"required\": [\n \"collection\",\n \"shard\",\n \"sourceNode\",\n \"targetNode\"\n ],\n \"type\": \"object\",\n \"properties\": {\n \"sourceNode\": {\n \"type\": \"string\",\n \"description\": \"The name of the Weaviate node currently hosting the shard replica that needs to be moved or copied.\"\n },\n \"targetNode\": {\n \"type\": \"string\",\n \"description\": \"The name of the Weaviate node where the new shard replica will be created as part of the movement or copy operation.\"\n },\n \"collection\": {\n \"type\": \"string\",\n \"description\": \"The name of the collection to which the target shard belongs.\"\n },\n \"shard\": {\n \"type\": \"string\",\n \"description\": \"The name of the shard whose replica is to be moved or copied.\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Specifies the type of replication operation to perform. `COPY` creates a new replica on the target node while keeping the source replica. `MOVE` creates a new replica on the target node and then removes the source replica upon successful completion. Defaults to `COPY` if omitted.\",\n \"default\": \"COPY\",\n \"enum\": [\n \"COPY\",\n \"MOVE\"\n ]\n }\n },\n \"description\": \"Specifies the parameters required to initiate a shard replica movement operation between two nodes for a given collection and shard. This request defines the source and target node, the collection and type of transfer.\"\n }\n }\n },\n \"required\": true\n}",
"use_request_body_schema_mode": false,
"validate_request_body_schema": false
}
}