windmill-api 1.522.0__py3-none-any.whl → 1.523.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.

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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: windmill-api
3
- Version: 1.522.0
3
+ Version: 1.523.0
4
4
  Summary: A client library for accessing Windmill API
5
5
  License: Apache-2.0
6
6
  Author: Ruben Fiszel
@@ -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.522.0.dist-info/LICENSE,sha256=qJVFNTaOevCeSY6NoXeUG1SPOwQ1K-PxVQ2iEWJzX-A,11348
4393
- windmill_api-1.522.0.dist-info/METADATA,sha256=CbyKovCFytdJK7wGUaOm-B1RqDYNIxA0bTu5NCO9E10,5023
4394
- windmill_api-1.522.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
4395
- windmill_api-1.522.0.dist-info/RECORD,,
4402
+ windmill_api-1.523.0.dist-info/LICENSE,sha256=qJVFNTaOevCeSY6NoXeUG1SPOwQ1K-PxVQ2iEWJzX-A,11348
4403
+ windmill_api-1.523.0.dist-info/METADATA,sha256=gfZVGPKEG4g6ms6WVI0w4wwyPVHoP1YKI-R4ff9NZzw,5023
4404
+ windmill_api-1.523.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
4405
+ windmill_api-1.523.0.dist-info/RECORD,,