windmill-api 1.522.0__py3-none-any.whl → 1.524.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of windmill-api might be problematic. Click here for more details.
- windmill_api/api/mcp/__init__.py +0 -0
- windmill_api/api/mcp/list_mcp_tools.py +157 -0
- windmill_api/models/endpoint_tool.py +151 -0
- windmill_api/models/endpoint_tool_body_schema.py +44 -0
- windmill_api/models/endpoint_tool_path_params_schema.py +44 -0
- windmill_api/models/endpoint_tool_query_params_schema.py +44 -0
- windmill_api/models/list_mcp_tools_response_200_item.py +159 -0
- windmill_api/models/list_mcp_tools_response_200_item_body_schema.py +44 -0
- windmill_api/models/list_mcp_tools_response_200_item_path_params_schema.py +44 -0
- windmill_api/models/list_mcp_tools_response_200_item_query_params_schema.py +44 -0
- {windmill_api-1.522.0.dist-info → windmill_api-1.524.0.dist-info}/METADATA +1 -1
- {windmill_api-1.522.0.dist-info → windmill_api-1.524.0.dist-info}/RECORD +14 -4
- {windmill_api-1.522.0.dist-info → windmill_api-1.524.0.dist-info}/LICENSE +0 -0
- {windmill_api-1.522.0.dist-info → windmill_api-1.524.0.dist-info}/WHEEL +0 -0
|
File without changes
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
from http import HTTPStatus
|
|
2
|
+
from typing import Any, Dict, List, Optional, Union
|
|
3
|
+
|
|
4
|
+
import httpx
|
|
5
|
+
|
|
6
|
+
from ... import errors
|
|
7
|
+
from ...client import AuthenticatedClient, Client
|
|
8
|
+
from ...models.list_mcp_tools_response_200_item import ListMcpToolsResponse200Item
|
|
9
|
+
from ...types import Response
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def _get_kwargs(
|
|
13
|
+
workspace: str,
|
|
14
|
+
) -> Dict[str, Any]:
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
return {
|
|
18
|
+
"method": "get",
|
|
19
|
+
"url": "/mcp/w/{workspace}/list_tools".format(
|
|
20
|
+
workspace=workspace,
|
|
21
|
+
),
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _parse_response(
|
|
26
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
27
|
+
) -> Optional[List["ListMcpToolsResponse200Item"]]:
|
|
28
|
+
if response.status_code == HTTPStatus.OK:
|
|
29
|
+
response_200 = []
|
|
30
|
+
_response_200 = response.json()
|
|
31
|
+
for response_200_item_data in _response_200:
|
|
32
|
+
response_200_item = ListMcpToolsResponse200Item.from_dict(response_200_item_data)
|
|
33
|
+
|
|
34
|
+
response_200.append(response_200_item)
|
|
35
|
+
|
|
36
|
+
return response_200
|
|
37
|
+
if client.raise_on_unexpected_status:
|
|
38
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
39
|
+
else:
|
|
40
|
+
return None
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def _build_response(
|
|
44
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
45
|
+
) -> Response[List["ListMcpToolsResponse200Item"]]:
|
|
46
|
+
return Response(
|
|
47
|
+
status_code=HTTPStatus(response.status_code),
|
|
48
|
+
content=response.content,
|
|
49
|
+
headers=response.headers,
|
|
50
|
+
parsed=_parse_response(client=client, response=response),
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def sync_detailed(
|
|
55
|
+
workspace: str,
|
|
56
|
+
*,
|
|
57
|
+
client: Union[AuthenticatedClient, Client],
|
|
58
|
+
) -> Response[List["ListMcpToolsResponse200Item"]]:
|
|
59
|
+
"""list available MCP tools
|
|
60
|
+
|
|
61
|
+
Args:
|
|
62
|
+
workspace (str):
|
|
63
|
+
|
|
64
|
+
Raises:
|
|
65
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
66
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
67
|
+
|
|
68
|
+
Returns:
|
|
69
|
+
Response[List['ListMcpToolsResponse200Item']]
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
kwargs = _get_kwargs(
|
|
73
|
+
workspace=workspace,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
response = client.get_httpx_client().request(
|
|
77
|
+
**kwargs,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
return _build_response(client=client, response=response)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def sync(
|
|
84
|
+
workspace: str,
|
|
85
|
+
*,
|
|
86
|
+
client: Union[AuthenticatedClient, Client],
|
|
87
|
+
) -> Optional[List["ListMcpToolsResponse200Item"]]:
|
|
88
|
+
"""list available MCP tools
|
|
89
|
+
|
|
90
|
+
Args:
|
|
91
|
+
workspace (str):
|
|
92
|
+
|
|
93
|
+
Raises:
|
|
94
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
95
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
96
|
+
|
|
97
|
+
Returns:
|
|
98
|
+
List['ListMcpToolsResponse200Item']
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
return sync_detailed(
|
|
102
|
+
workspace=workspace,
|
|
103
|
+
client=client,
|
|
104
|
+
).parsed
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
async def asyncio_detailed(
|
|
108
|
+
workspace: str,
|
|
109
|
+
*,
|
|
110
|
+
client: Union[AuthenticatedClient, Client],
|
|
111
|
+
) -> Response[List["ListMcpToolsResponse200Item"]]:
|
|
112
|
+
"""list available MCP tools
|
|
113
|
+
|
|
114
|
+
Args:
|
|
115
|
+
workspace (str):
|
|
116
|
+
|
|
117
|
+
Raises:
|
|
118
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
119
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
120
|
+
|
|
121
|
+
Returns:
|
|
122
|
+
Response[List['ListMcpToolsResponse200Item']]
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
kwargs = _get_kwargs(
|
|
126
|
+
workspace=workspace,
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
|
130
|
+
|
|
131
|
+
return _build_response(client=client, response=response)
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
async def asyncio(
|
|
135
|
+
workspace: str,
|
|
136
|
+
*,
|
|
137
|
+
client: Union[AuthenticatedClient, Client],
|
|
138
|
+
) -> Optional[List["ListMcpToolsResponse200Item"]]:
|
|
139
|
+
"""list available MCP tools
|
|
140
|
+
|
|
141
|
+
Args:
|
|
142
|
+
workspace (str):
|
|
143
|
+
|
|
144
|
+
Raises:
|
|
145
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
146
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
147
|
+
|
|
148
|
+
Returns:
|
|
149
|
+
List['ListMcpToolsResponse200Item']
|
|
150
|
+
"""
|
|
151
|
+
|
|
152
|
+
return (
|
|
153
|
+
await asyncio_detailed(
|
|
154
|
+
workspace=workspace,
|
|
155
|
+
client=client,
|
|
156
|
+
)
|
|
157
|
+
).parsed
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
|
|
2
|
+
|
|
3
|
+
from attrs import define as _attrs_define
|
|
4
|
+
from attrs import field as _attrs_field
|
|
5
|
+
|
|
6
|
+
from ..types import UNSET, Unset
|
|
7
|
+
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from ..models.endpoint_tool_body_schema import EndpointToolBodySchema
|
|
10
|
+
from ..models.endpoint_tool_path_params_schema import EndpointToolPathParamsSchema
|
|
11
|
+
from ..models.endpoint_tool_query_params_schema import EndpointToolQueryParamsSchema
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="EndpointTool")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class EndpointTool:
|
|
19
|
+
"""
|
|
20
|
+
Attributes:
|
|
21
|
+
name (str): The tool name/operation ID
|
|
22
|
+
description (str): Short description of the tool
|
|
23
|
+
instructions (str): Detailed instructions for using the tool
|
|
24
|
+
path (str): API endpoint path
|
|
25
|
+
method (str): HTTP method (GET, POST, etc.)
|
|
26
|
+
path_params_schema (Union[Unset, None, EndpointToolPathParamsSchema]): JSON schema for path parameters
|
|
27
|
+
query_params_schema (Union[Unset, None, EndpointToolQueryParamsSchema]): JSON schema for query parameters
|
|
28
|
+
body_schema (Union[Unset, None, EndpointToolBodySchema]): JSON schema for request body
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
name: str
|
|
32
|
+
description: str
|
|
33
|
+
instructions: str
|
|
34
|
+
path: str
|
|
35
|
+
method: str
|
|
36
|
+
path_params_schema: Union[Unset, None, "EndpointToolPathParamsSchema"] = UNSET
|
|
37
|
+
query_params_schema: Union[Unset, None, "EndpointToolQueryParamsSchema"] = UNSET
|
|
38
|
+
body_schema: Union[Unset, None, "EndpointToolBodySchema"] = UNSET
|
|
39
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
40
|
+
|
|
41
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
42
|
+
name = self.name
|
|
43
|
+
description = self.description
|
|
44
|
+
instructions = self.instructions
|
|
45
|
+
path = self.path
|
|
46
|
+
method = self.method
|
|
47
|
+
path_params_schema: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
48
|
+
if not isinstance(self.path_params_schema, Unset):
|
|
49
|
+
path_params_schema = self.path_params_schema.to_dict() if self.path_params_schema else None
|
|
50
|
+
|
|
51
|
+
query_params_schema: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
52
|
+
if not isinstance(self.query_params_schema, Unset):
|
|
53
|
+
query_params_schema = self.query_params_schema.to_dict() if self.query_params_schema else None
|
|
54
|
+
|
|
55
|
+
body_schema: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
56
|
+
if not isinstance(self.body_schema, Unset):
|
|
57
|
+
body_schema = self.body_schema.to_dict() if self.body_schema else None
|
|
58
|
+
|
|
59
|
+
field_dict: Dict[str, Any] = {}
|
|
60
|
+
field_dict.update(self.additional_properties)
|
|
61
|
+
field_dict.update(
|
|
62
|
+
{
|
|
63
|
+
"name": name,
|
|
64
|
+
"description": description,
|
|
65
|
+
"instructions": instructions,
|
|
66
|
+
"path": path,
|
|
67
|
+
"method": method,
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
if path_params_schema is not UNSET:
|
|
71
|
+
field_dict["path_params_schema"] = path_params_schema
|
|
72
|
+
if query_params_schema is not UNSET:
|
|
73
|
+
field_dict["query_params_schema"] = query_params_schema
|
|
74
|
+
if body_schema is not UNSET:
|
|
75
|
+
field_dict["body_schema"] = body_schema
|
|
76
|
+
|
|
77
|
+
return field_dict
|
|
78
|
+
|
|
79
|
+
@classmethod
|
|
80
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
81
|
+
from ..models.endpoint_tool_body_schema import EndpointToolBodySchema
|
|
82
|
+
from ..models.endpoint_tool_path_params_schema import EndpointToolPathParamsSchema
|
|
83
|
+
from ..models.endpoint_tool_query_params_schema import EndpointToolQueryParamsSchema
|
|
84
|
+
|
|
85
|
+
d = src_dict.copy()
|
|
86
|
+
name = d.pop("name")
|
|
87
|
+
|
|
88
|
+
description = d.pop("description")
|
|
89
|
+
|
|
90
|
+
instructions = d.pop("instructions")
|
|
91
|
+
|
|
92
|
+
path = d.pop("path")
|
|
93
|
+
|
|
94
|
+
method = d.pop("method")
|
|
95
|
+
|
|
96
|
+
_path_params_schema = d.pop("path_params_schema", UNSET)
|
|
97
|
+
path_params_schema: Union[Unset, None, EndpointToolPathParamsSchema]
|
|
98
|
+
if _path_params_schema is None:
|
|
99
|
+
path_params_schema = None
|
|
100
|
+
elif isinstance(_path_params_schema, Unset):
|
|
101
|
+
path_params_schema = UNSET
|
|
102
|
+
else:
|
|
103
|
+
path_params_schema = EndpointToolPathParamsSchema.from_dict(_path_params_schema)
|
|
104
|
+
|
|
105
|
+
_query_params_schema = d.pop("query_params_schema", UNSET)
|
|
106
|
+
query_params_schema: Union[Unset, None, EndpointToolQueryParamsSchema]
|
|
107
|
+
if _query_params_schema is None:
|
|
108
|
+
query_params_schema = None
|
|
109
|
+
elif isinstance(_query_params_schema, Unset):
|
|
110
|
+
query_params_schema = UNSET
|
|
111
|
+
else:
|
|
112
|
+
query_params_schema = EndpointToolQueryParamsSchema.from_dict(_query_params_schema)
|
|
113
|
+
|
|
114
|
+
_body_schema = d.pop("body_schema", UNSET)
|
|
115
|
+
body_schema: Union[Unset, None, EndpointToolBodySchema]
|
|
116
|
+
if _body_schema is None:
|
|
117
|
+
body_schema = None
|
|
118
|
+
elif isinstance(_body_schema, Unset):
|
|
119
|
+
body_schema = UNSET
|
|
120
|
+
else:
|
|
121
|
+
body_schema = EndpointToolBodySchema.from_dict(_body_schema)
|
|
122
|
+
|
|
123
|
+
endpoint_tool = cls(
|
|
124
|
+
name=name,
|
|
125
|
+
description=description,
|
|
126
|
+
instructions=instructions,
|
|
127
|
+
path=path,
|
|
128
|
+
method=method,
|
|
129
|
+
path_params_schema=path_params_schema,
|
|
130
|
+
query_params_schema=query_params_schema,
|
|
131
|
+
body_schema=body_schema,
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
endpoint_tool.additional_properties = d
|
|
135
|
+
return endpoint_tool
|
|
136
|
+
|
|
137
|
+
@property
|
|
138
|
+
def additional_keys(self) -> List[str]:
|
|
139
|
+
return list(self.additional_properties.keys())
|
|
140
|
+
|
|
141
|
+
def __getitem__(self, key: str) -> Any:
|
|
142
|
+
return self.additional_properties[key]
|
|
143
|
+
|
|
144
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
145
|
+
self.additional_properties[key] = value
|
|
146
|
+
|
|
147
|
+
def __delitem__(self, key: str) -> None:
|
|
148
|
+
del self.additional_properties[key]
|
|
149
|
+
|
|
150
|
+
def __contains__(self, key: str) -> bool:
|
|
151
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Type, TypeVar
|
|
2
|
+
|
|
3
|
+
from attrs import define as _attrs_define
|
|
4
|
+
from attrs import field as _attrs_field
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound="EndpointToolBodySchema")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@_attrs_define
|
|
10
|
+
class EndpointToolBodySchema:
|
|
11
|
+
"""JSON schema for request body"""
|
|
12
|
+
|
|
13
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
14
|
+
|
|
15
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
16
|
+
field_dict: Dict[str, Any] = {}
|
|
17
|
+
field_dict.update(self.additional_properties)
|
|
18
|
+
field_dict.update({})
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
24
|
+
d = src_dict.copy()
|
|
25
|
+
endpoint_tool_body_schema = cls()
|
|
26
|
+
|
|
27
|
+
endpoint_tool_body_schema.additional_properties = d
|
|
28
|
+
return endpoint_tool_body_schema
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> List[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> Any:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Type, TypeVar
|
|
2
|
+
|
|
3
|
+
from attrs import define as _attrs_define
|
|
4
|
+
from attrs import field as _attrs_field
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound="EndpointToolPathParamsSchema")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@_attrs_define
|
|
10
|
+
class EndpointToolPathParamsSchema:
|
|
11
|
+
"""JSON schema for path parameters"""
|
|
12
|
+
|
|
13
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
14
|
+
|
|
15
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
16
|
+
field_dict: Dict[str, Any] = {}
|
|
17
|
+
field_dict.update(self.additional_properties)
|
|
18
|
+
field_dict.update({})
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
24
|
+
d = src_dict.copy()
|
|
25
|
+
endpoint_tool_path_params_schema = cls()
|
|
26
|
+
|
|
27
|
+
endpoint_tool_path_params_schema.additional_properties = d
|
|
28
|
+
return endpoint_tool_path_params_schema
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> List[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> Any:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Type, TypeVar
|
|
2
|
+
|
|
3
|
+
from attrs import define as _attrs_define
|
|
4
|
+
from attrs import field as _attrs_field
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound="EndpointToolQueryParamsSchema")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@_attrs_define
|
|
10
|
+
class EndpointToolQueryParamsSchema:
|
|
11
|
+
"""JSON schema for query parameters"""
|
|
12
|
+
|
|
13
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
14
|
+
|
|
15
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
16
|
+
field_dict: Dict[str, Any] = {}
|
|
17
|
+
field_dict.update(self.additional_properties)
|
|
18
|
+
field_dict.update({})
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
24
|
+
d = src_dict.copy()
|
|
25
|
+
endpoint_tool_query_params_schema = cls()
|
|
26
|
+
|
|
27
|
+
endpoint_tool_query_params_schema.additional_properties = d
|
|
28
|
+
return endpoint_tool_query_params_schema
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> List[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> Any:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
|
|
2
|
+
|
|
3
|
+
from attrs import define as _attrs_define
|
|
4
|
+
from attrs import field as _attrs_field
|
|
5
|
+
|
|
6
|
+
from ..types import UNSET, Unset
|
|
7
|
+
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from ..models.list_mcp_tools_response_200_item_body_schema import ListMcpToolsResponse200ItemBodySchema
|
|
10
|
+
from ..models.list_mcp_tools_response_200_item_path_params_schema import ListMcpToolsResponse200ItemPathParamsSchema
|
|
11
|
+
from ..models.list_mcp_tools_response_200_item_query_params_schema import (
|
|
12
|
+
ListMcpToolsResponse200ItemQueryParamsSchema,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
T = TypeVar("T", bound="ListMcpToolsResponse200Item")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@_attrs_define
|
|
20
|
+
class ListMcpToolsResponse200Item:
|
|
21
|
+
"""
|
|
22
|
+
Attributes:
|
|
23
|
+
name (str): The tool name/operation ID
|
|
24
|
+
description (str): Short description of the tool
|
|
25
|
+
instructions (str): Detailed instructions for using the tool
|
|
26
|
+
path (str): API endpoint path
|
|
27
|
+
method (str): HTTP method (GET, POST, etc.)
|
|
28
|
+
path_params_schema (Union[Unset, None, ListMcpToolsResponse200ItemPathParamsSchema]): JSON schema for path
|
|
29
|
+
parameters
|
|
30
|
+
query_params_schema (Union[Unset, None, ListMcpToolsResponse200ItemQueryParamsSchema]): JSON schema for query
|
|
31
|
+
parameters
|
|
32
|
+
body_schema (Union[Unset, None, ListMcpToolsResponse200ItemBodySchema]): JSON schema for request body
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
name: str
|
|
36
|
+
description: str
|
|
37
|
+
instructions: str
|
|
38
|
+
path: str
|
|
39
|
+
method: str
|
|
40
|
+
path_params_schema: Union[Unset, None, "ListMcpToolsResponse200ItemPathParamsSchema"] = UNSET
|
|
41
|
+
query_params_schema: Union[Unset, None, "ListMcpToolsResponse200ItemQueryParamsSchema"] = UNSET
|
|
42
|
+
body_schema: Union[Unset, None, "ListMcpToolsResponse200ItemBodySchema"] = UNSET
|
|
43
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
44
|
+
|
|
45
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
46
|
+
name = self.name
|
|
47
|
+
description = self.description
|
|
48
|
+
instructions = self.instructions
|
|
49
|
+
path = self.path
|
|
50
|
+
method = self.method
|
|
51
|
+
path_params_schema: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
52
|
+
if not isinstance(self.path_params_schema, Unset):
|
|
53
|
+
path_params_schema = self.path_params_schema.to_dict() if self.path_params_schema else None
|
|
54
|
+
|
|
55
|
+
query_params_schema: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
56
|
+
if not isinstance(self.query_params_schema, Unset):
|
|
57
|
+
query_params_schema = self.query_params_schema.to_dict() if self.query_params_schema else None
|
|
58
|
+
|
|
59
|
+
body_schema: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
60
|
+
if not isinstance(self.body_schema, Unset):
|
|
61
|
+
body_schema = self.body_schema.to_dict() if self.body_schema else None
|
|
62
|
+
|
|
63
|
+
field_dict: Dict[str, Any] = {}
|
|
64
|
+
field_dict.update(self.additional_properties)
|
|
65
|
+
field_dict.update(
|
|
66
|
+
{
|
|
67
|
+
"name": name,
|
|
68
|
+
"description": description,
|
|
69
|
+
"instructions": instructions,
|
|
70
|
+
"path": path,
|
|
71
|
+
"method": method,
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
if path_params_schema is not UNSET:
|
|
75
|
+
field_dict["path_params_schema"] = path_params_schema
|
|
76
|
+
if query_params_schema is not UNSET:
|
|
77
|
+
field_dict["query_params_schema"] = query_params_schema
|
|
78
|
+
if body_schema is not UNSET:
|
|
79
|
+
field_dict["body_schema"] = body_schema
|
|
80
|
+
|
|
81
|
+
return field_dict
|
|
82
|
+
|
|
83
|
+
@classmethod
|
|
84
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
85
|
+
from ..models.list_mcp_tools_response_200_item_body_schema import ListMcpToolsResponse200ItemBodySchema
|
|
86
|
+
from ..models.list_mcp_tools_response_200_item_path_params_schema import (
|
|
87
|
+
ListMcpToolsResponse200ItemPathParamsSchema,
|
|
88
|
+
)
|
|
89
|
+
from ..models.list_mcp_tools_response_200_item_query_params_schema import (
|
|
90
|
+
ListMcpToolsResponse200ItemQueryParamsSchema,
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
d = src_dict.copy()
|
|
94
|
+
name = d.pop("name")
|
|
95
|
+
|
|
96
|
+
description = d.pop("description")
|
|
97
|
+
|
|
98
|
+
instructions = d.pop("instructions")
|
|
99
|
+
|
|
100
|
+
path = d.pop("path")
|
|
101
|
+
|
|
102
|
+
method = d.pop("method")
|
|
103
|
+
|
|
104
|
+
_path_params_schema = d.pop("path_params_schema", UNSET)
|
|
105
|
+
path_params_schema: Union[Unset, None, ListMcpToolsResponse200ItemPathParamsSchema]
|
|
106
|
+
if _path_params_schema is None:
|
|
107
|
+
path_params_schema = None
|
|
108
|
+
elif isinstance(_path_params_schema, Unset):
|
|
109
|
+
path_params_schema = UNSET
|
|
110
|
+
else:
|
|
111
|
+
path_params_schema = ListMcpToolsResponse200ItemPathParamsSchema.from_dict(_path_params_schema)
|
|
112
|
+
|
|
113
|
+
_query_params_schema = d.pop("query_params_schema", UNSET)
|
|
114
|
+
query_params_schema: Union[Unset, None, ListMcpToolsResponse200ItemQueryParamsSchema]
|
|
115
|
+
if _query_params_schema is None:
|
|
116
|
+
query_params_schema = None
|
|
117
|
+
elif isinstance(_query_params_schema, Unset):
|
|
118
|
+
query_params_schema = UNSET
|
|
119
|
+
else:
|
|
120
|
+
query_params_schema = ListMcpToolsResponse200ItemQueryParamsSchema.from_dict(_query_params_schema)
|
|
121
|
+
|
|
122
|
+
_body_schema = d.pop("body_schema", UNSET)
|
|
123
|
+
body_schema: Union[Unset, None, ListMcpToolsResponse200ItemBodySchema]
|
|
124
|
+
if _body_schema is None:
|
|
125
|
+
body_schema = None
|
|
126
|
+
elif isinstance(_body_schema, Unset):
|
|
127
|
+
body_schema = UNSET
|
|
128
|
+
else:
|
|
129
|
+
body_schema = ListMcpToolsResponse200ItemBodySchema.from_dict(_body_schema)
|
|
130
|
+
|
|
131
|
+
list_mcp_tools_response_200_item = cls(
|
|
132
|
+
name=name,
|
|
133
|
+
description=description,
|
|
134
|
+
instructions=instructions,
|
|
135
|
+
path=path,
|
|
136
|
+
method=method,
|
|
137
|
+
path_params_schema=path_params_schema,
|
|
138
|
+
query_params_schema=query_params_schema,
|
|
139
|
+
body_schema=body_schema,
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
list_mcp_tools_response_200_item.additional_properties = d
|
|
143
|
+
return list_mcp_tools_response_200_item
|
|
144
|
+
|
|
145
|
+
@property
|
|
146
|
+
def additional_keys(self) -> List[str]:
|
|
147
|
+
return list(self.additional_properties.keys())
|
|
148
|
+
|
|
149
|
+
def __getitem__(self, key: str) -> Any:
|
|
150
|
+
return self.additional_properties[key]
|
|
151
|
+
|
|
152
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
153
|
+
self.additional_properties[key] = value
|
|
154
|
+
|
|
155
|
+
def __delitem__(self, key: str) -> None:
|
|
156
|
+
del self.additional_properties[key]
|
|
157
|
+
|
|
158
|
+
def __contains__(self, key: str) -> bool:
|
|
159
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Type, TypeVar
|
|
2
|
+
|
|
3
|
+
from attrs import define as _attrs_define
|
|
4
|
+
from attrs import field as _attrs_field
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound="ListMcpToolsResponse200ItemBodySchema")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@_attrs_define
|
|
10
|
+
class ListMcpToolsResponse200ItemBodySchema:
|
|
11
|
+
"""JSON schema for request body"""
|
|
12
|
+
|
|
13
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
14
|
+
|
|
15
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
16
|
+
field_dict: Dict[str, Any] = {}
|
|
17
|
+
field_dict.update(self.additional_properties)
|
|
18
|
+
field_dict.update({})
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
24
|
+
d = src_dict.copy()
|
|
25
|
+
list_mcp_tools_response_200_item_body_schema = cls()
|
|
26
|
+
|
|
27
|
+
list_mcp_tools_response_200_item_body_schema.additional_properties = d
|
|
28
|
+
return list_mcp_tools_response_200_item_body_schema
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> List[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> Any:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Type, TypeVar
|
|
2
|
+
|
|
3
|
+
from attrs import define as _attrs_define
|
|
4
|
+
from attrs import field as _attrs_field
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound="ListMcpToolsResponse200ItemPathParamsSchema")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@_attrs_define
|
|
10
|
+
class ListMcpToolsResponse200ItemPathParamsSchema:
|
|
11
|
+
"""JSON schema for path parameters"""
|
|
12
|
+
|
|
13
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
14
|
+
|
|
15
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
16
|
+
field_dict: Dict[str, Any] = {}
|
|
17
|
+
field_dict.update(self.additional_properties)
|
|
18
|
+
field_dict.update({})
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
24
|
+
d = src_dict.copy()
|
|
25
|
+
list_mcp_tools_response_200_item_path_params_schema = cls()
|
|
26
|
+
|
|
27
|
+
list_mcp_tools_response_200_item_path_params_schema.additional_properties = d
|
|
28
|
+
return list_mcp_tools_response_200_item_path_params_schema
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> List[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> Any:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Type, TypeVar
|
|
2
|
+
|
|
3
|
+
from attrs import define as _attrs_define
|
|
4
|
+
from attrs import field as _attrs_field
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T", bound="ListMcpToolsResponse200ItemQueryParamsSchema")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@_attrs_define
|
|
10
|
+
class ListMcpToolsResponse200ItemQueryParamsSchema:
|
|
11
|
+
"""JSON schema for query parameters"""
|
|
12
|
+
|
|
13
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
14
|
+
|
|
15
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
16
|
+
field_dict: Dict[str, Any] = {}
|
|
17
|
+
field_dict.update(self.additional_properties)
|
|
18
|
+
field_dict.update({})
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
24
|
+
d = src_dict.copy()
|
|
25
|
+
list_mcp_tools_response_200_item_query_params_schema = cls()
|
|
26
|
+
|
|
27
|
+
list_mcp_tools_response_200_item_query_params_schema.additional_properties = d
|
|
28
|
+
return list_mcp_tools_response_200_item_query_params_schema
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> List[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> Any:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -244,6 +244,8 @@ windmill_api/api/kafka_trigger/list_kafka_triggers.py,sha256=Cyew4mAum7GEJbMX5l7
|
|
|
244
244
|
windmill_api/api/kafka_trigger/set_kafka_trigger_enabled.py,sha256=OvkW7s71WE6nPFkQijGcjVYQRgMfapk672VUMTwP5S0,2944
|
|
245
245
|
windmill_api/api/kafka_trigger/test_kafka_connection.py,sha256=tFqICVCVWR_g_goPSD_fmVDEXrfa6iB4QKMfB-3Zxwc,2755
|
|
246
246
|
windmill_api/api/kafka_trigger/update_kafka_trigger.py,sha256=17EZhdaDwhFo445k-jcSzw3lTjV6hR8s5EIwc9Ek5y0,2901
|
|
247
|
+
windmill_api/api/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
248
|
+
windmill_api/api/mcp/list_mcp_tools.py,sha256=nguvYzn5dt9WGHZIrrAieWCytRZaqzrlEnGEFXzUclI,4161
|
|
247
249
|
windmill_api/api/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
248
250
|
windmill_api/api/metrics/get_job_metrics.py,sha256=0tXzNiB-wcYVHTQp3fGylKmr4_jCBE2ZMCHq0ChmEgw,4672
|
|
249
251
|
windmill_api/api/metrics/get_job_progress.py,sha256=eehOAPrUClLrg5BqpR8loP0EGA4l_5dqrkxjLblBWRU,3733
|
|
@@ -1166,6 +1168,10 @@ windmill_api/models/edit_workspace_git_sync_config_json_body_git_sync_settings_r
|
|
|
1166
1168
|
windmill_api/models/edit_workspace_git_sync_config_json_body_git_sync_settings_repositories_item_settings.py,sha256=SjgIZ3TYpcL98I0oj7QhONOjMIodRu1qWPA7AeYAdMA,4437
|
|
1167
1169
|
windmill_api/models/edit_workspace_git_sync_config_json_body_git_sync_settings_repositories_item_settings_include_type_item.py,sha256=ly-HeQDKCj1fBKDAYkPpR7IEqt1mIdl-tkMHpAY-l9k,509
|
|
1168
1170
|
windmill_api/models/edit_workspace_user.py,sha256=zjcNtVcXPR8ekOWERQBAaEhkgSxqI9O6NXjysUk48is,2121
|
|
1171
|
+
windmill_api/models/endpoint_tool.py,sha256=kFQCbCp4pkWjJAlDv9NVfhH-r1s6XydudT2HHIxcz8Q,5776
|
|
1172
|
+
windmill_api/models/endpoint_tool_body_schema.py,sha256=si67GmJ_0hXWJw5JG-NhnsOmyRTsiZSGSC4suPF2x4g,1298
|
|
1173
|
+
windmill_api/models/endpoint_tool_path_params_schema.py,sha256=HAwiwXIr2qkwWO5MU1IUS1ShP__1xlzNU4dn7rZNRsY,1334
|
|
1174
|
+
windmill_api/models/endpoint_tool_query_params_schema.py,sha256=WG7ZLzhEMTrlAZZ-d0ISSTjoJLYfquuu6p6fpBM9OUU,1340
|
|
1169
1175
|
windmill_api/models/error_handler.py,sha256=YmpwgCj73UI9DKUVDyefZ4pxWN7OpSsSoKPDxpaSIBw,199
|
|
1170
1176
|
windmill_api/models/execute_component_json_body.py,sha256=6EVpxhIQr5uVzk8MvkufSSNClK5ABHHoOE7CFU3n3Oo,6800
|
|
1171
1177
|
windmill_api/models/execute_component_json_body_force_viewer_one_of_fields.py,sha256=JXxJ5OKE-NAakLvdewfcKE1F0-12c4h2gVSemd08vMY,1406
|
|
@@ -3372,6 +3378,10 @@ windmill_api/models/list_kafka_triggers_response_200_item_retry.py,sha256=rNmKXF
|
|
|
3372
3378
|
windmill_api/models/list_kafka_triggers_response_200_item_retry_constant.py,sha256=Zxu7GWhR2HWa59sABAEMvZbgwOtCDVhrwzwj1pHasq8,1992
|
|
3373
3379
|
windmill_api/models/list_kafka_triggers_response_200_item_retry_exponential.py,sha256=KvPuP6QwK3HGmrPKwIikgmZ0y1eA7PlDh9FUDjhFE1w,2618
|
|
3374
3380
|
windmill_api/models/list_log_files_response_200_item.py,sha256=G-Ckj2XTNGDsmTTId4k0xAJwctDZKo-hO4RCI5Cd-zk,3230
|
|
3381
|
+
windmill_api/models/list_mcp_tools_response_200_item.py,sha256=Hz82I-lxUPjVN99xCXyE68xdUuQvHfkbGLj8d4lph70,6338
|
|
3382
|
+
windmill_api/models/list_mcp_tools_response_200_item_body_schema.py,sha256=3-LwYco0n8bXttjg1T3IiuRFwoj6D8lKSEhTY1KObYY,1385
|
|
3383
|
+
windmill_api/models/list_mcp_tools_response_200_item_path_params_schema.py,sha256=wqjM0pYUC4-A45STFuTxcPYkiYCRg5aLDhVl54VBGYY,1421
|
|
3384
|
+
windmill_api/models/list_mcp_tools_response_200_item_query_params_schema.py,sha256=GwgmubmSXmkFc744w1ToDFzgGMb4ndprx8YFcVttNYI,1427
|
|
3375
3385
|
windmill_api/models/list_mqtt_triggers_response_200_item.py,sha256=SH6xbC34qXIawiJqvzbD-6LTB5Vvfwf6jPYQ6L2crwk,11904
|
|
3376
3386
|
windmill_api/models/list_mqtt_triggers_response_200_item_client_version.py,sha256=7O7g-f34dviu4jb_FnbXzFoAp10NWOqpv_H9lA59XY4,177
|
|
3377
3387
|
windmill_api/models/list_mqtt_triggers_response_200_item_error_handler_args.py,sha256=HfjHXcKlxpK-71R9aiAjNYhQZ-e8t8GYAypcU5I-0RY,1453
|
|
@@ -4389,7 +4399,7 @@ windmill_api/models/workspace_invite.py,sha256=HnAJWGv5LwxWkz1T3fhgHKIccO7RFC1li
|
|
|
4389
4399
|
windmill_api/models/workspace_mute_critical_alerts_ui_json_body.py,sha256=y8ZwkWEZgavVc-FgLuZZ4z8YPCLxjPcMfdGdKjGM6VQ,1883
|
|
4390
4400
|
windmill_api/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
|
|
4391
4401
|
windmill_api/types.py,sha256=GoYub3t4hQP2Yn5tsvShsBfIY3vHUmblU0MXszDx_V0,968
|
|
4392
|
-
windmill_api-1.
|
|
4393
|
-
windmill_api-1.
|
|
4394
|
-
windmill_api-1.
|
|
4395
|
-
windmill_api-1.
|
|
4402
|
+
windmill_api-1.524.0.dist-info/LICENSE,sha256=qJVFNTaOevCeSY6NoXeUG1SPOwQ1K-PxVQ2iEWJzX-A,11348
|
|
4403
|
+
windmill_api-1.524.0.dist-info/METADATA,sha256=M_k6egG1Sac-7AZ1PpeLn25ErlMxKu5yOGfH42fpZ34,5023
|
|
4404
|
+
windmill_api-1.524.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
|
4405
|
+
windmill_api-1.524.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|