windmill-api 1.520.1__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
@@ -1,34 +1,38 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Dict, Optional, Union, cast
2
+ from typing import Any, Dict, Optional, Union
3
3
 
4
4
  import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import AuthenticatedClient, Client
8
+ from ...models.exists_workers_with_tags_response_200 import ExistsWorkersWithTagsResponse200
8
9
  from ...types import UNSET, Response
9
10
 
10
11
 
11
12
  def _get_kwargs(
12
13
  *,
13
- tag: str,
14
+ tags: str,
14
15
  ) -> Dict[str, Any]:
15
16
  pass
16
17
 
17
18
  params: Dict[str, Any] = {}
18
- params["tag"] = tag
19
+ params["tags"] = tags
19
20
 
20
21
  params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
21
22
 
22
23
  return {
23
24
  "method": "get",
24
- "url": "/workers/exists_worker_with_tag",
25
+ "url": "/workers/exists_workers_with_tags",
25
26
  "params": params,
26
27
  }
27
28
 
28
29
 
29
- def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[bool]:
30
+ def _parse_response(
31
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
32
+ ) -> Optional[ExistsWorkersWithTagsResponse200]:
30
33
  if response.status_code == HTTPStatus.OK:
31
- response_200 = cast(bool, response.json())
34
+ response_200 = ExistsWorkersWithTagsResponse200.from_dict(response.json())
35
+
32
36
  return response_200
33
37
  if client.raise_on_unexpected_status:
34
38
  raise errors.UnexpectedStatus(response.status_code, response.content)
@@ -36,7 +40,9 @@ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: htt
36
40
  return None
37
41
 
38
42
 
39
- def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[bool]:
43
+ def _build_response(
44
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
45
+ ) -> Response[ExistsWorkersWithTagsResponse200]:
40
46
  return Response(
41
47
  status_code=HTTPStatus(response.status_code),
42
48
  content=response.content,
@@ -48,23 +54,23 @@ def _build_response(*, client: Union[AuthenticatedClient, Client], response: htt
48
54
  def sync_detailed(
49
55
  *,
50
56
  client: Union[AuthenticatedClient, Client],
51
- tag: str,
52
- ) -> Response[bool]:
53
- """exists worker with tag
57
+ tags: str,
58
+ ) -> Response[ExistsWorkersWithTagsResponse200]:
59
+ """exists workers with tags
54
60
 
55
61
  Args:
56
- tag (str):
62
+ tags (str):
57
63
 
58
64
  Raises:
59
65
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
60
66
  httpx.TimeoutException: If the request takes longer than Client.timeout.
61
67
 
62
68
  Returns:
63
- Response[bool]
69
+ Response[ExistsWorkersWithTagsResponse200]
64
70
  """
65
71
 
66
72
  kwargs = _get_kwargs(
67
- tag=tag,
73
+ tags=tags,
68
74
  )
69
75
 
70
76
  response = client.get_httpx_client().request(
@@ -77,47 +83,47 @@ def sync_detailed(
77
83
  def sync(
78
84
  *,
79
85
  client: Union[AuthenticatedClient, Client],
80
- tag: str,
81
- ) -> Optional[bool]:
82
- """exists worker with tag
86
+ tags: str,
87
+ ) -> Optional[ExistsWorkersWithTagsResponse200]:
88
+ """exists workers with tags
83
89
 
84
90
  Args:
85
- tag (str):
91
+ tags (str):
86
92
 
87
93
  Raises:
88
94
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
89
95
  httpx.TimeoutException: If the request takes longer than Client.timeout.
90
96
 
91
97
  Returns:
92
- bool
98
+ ExistsWorkersWithTagsResponse200
93
99
  """
94
100
 
95
101
  return sync_detailed(
96
102
  client=client,
97
- tag=tag,
103
+ tags=tags,
98
104
  ).parsed
99
105
 
100
106
 
101
107
  async def asyncio_detailed(
102
108
  *,
103
109
  client: Union[AuthenticatedClient, Client],
104
- tag: str,
105
- ) -> Response[bool]:
106
- """exists worker with tag
110
+ tags: str,
111
+ ) -> Response[ExistsWorkersWithTagsResponse200]:
112
+ """exists workers with tags
107
113
 
108
114
  Args:
109
- tag (str):
115
+ tags (str):
110
116
 
111
117
  Raises:
112
118
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
113
119
  httpx.TimeoutException: If the request takes longer than Client.timeout.
114
120
 
115
121
  Returns:
116
- Response[bool]
122
+ Response[ExistsWorkersWithTagsResponse200]
117
123
  """
118
124
 
119
125
  kwargs = _get_kwargs(
120
- tag=tag,
126
+ tags=tags,
121
127
  )
122
128
 
123
129
  response = await client.get_async_httpx_client().request(**kwargs)
@@ -128,24 +134,24 @@ async def asyncio_detailed(
128
134
  async def asyncio(
129
135
  *,
130
136
  client: Union[AuthenticatedClient, Client],
131
- tag: str,
132
- ) -> Optional[bool]:
133
- """exists worker with tag
137
+ tags: str,
138
+ ) -> Optional[ExistsWorkersWithTagsResponse200]:
139
+ """exists workers with tags
134
140
 
135
141
  Args:
136
- tag (str):
142
+ tags (str):
137
143
 
138
144
  Raises:
139
145
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
140
146
  httpx.TimeoutException: If the request takes longer than Client.timeout.
141
147
 
142
148
  Returns:
143
- bool
149
+ ExistsWorkersWithTagsResponse200
144
150
  """
145
151
 
146
152
  return (
147
153
  await asyncio_detailed(
148
154
  client=client,
149
- tag=tag,
155
+ tags=tags,
150
156
  )
151
157
  ).parsed
@@ -32,6 +32,7 @@ class CreateGcpTriggerJsonBody:
32
32
  delivery_type (Union[Unset, CreateGcpTriggerJsonBodyDeliveryType]):
33
33
  delivery_config (Union[Unset, CreateGcpTriggerJsonBodyDeliveryConfig]):
34
34
  enabled (Union[Unset, bool]):
35
+ auto_acknowledge_msg (Union[Unset, bool]):
35
36
  error_handler_path (Union[Unset, str]):
36
37
  error_handler_args (Union[Unset, CreateGcpTriggerJsonBodyErrorHandlerArgs]): The arguments to pass to the script
37
38
  or flow
@@ -49,6 +50,7 @@ class CreateGcpTriggerJsonBody:
49
50
  delivery_type: Union[Unset, CreateGcpTriggerJsonBodyDeliveryType] = UNSET
50
51
  delivery_config: Union[Unset, "CreateGcpTriggerJsonBodyDeliveryConfig"] = UNSET
51
52
  enabled: Union[Unset, bool] = UNSET
53
+ auto_acknowledge_msg: Union[Unset, bool] = UNSET
52
54
  error_handler_path: Union[Unset, str] = UNSET
53
55
  error_handler_args: Union[Unset, "CreateGcpTriggerJsonBodyErrorHandlerArgs"] = UNSET
54
56
  retry: Union[Unset, "CreateGcpTriggerJsonBodyRetry"] = UNSET
@@ -73,6 +75,7 @@ class CreateGcpTriggerJsonBody:
73
75
  delivery_config = self.delivery_config.to_dict()
74
76
 
75
77
  enabled = self.enabled
78
+ auto_acknowledge_msg = self.auto_acknowledge_msg
76
79
  error_handler_path = self.error_handler_path
77
80
  error_handler_args: Union[Unset, Dict[str, Any]] = UNSET
78
81
  if not isinstance(self.error_handler_args, Unset):
@@ -104,6 +107,8 @@ class CreateGcpTriggerJsonBody:
104
107
  field_dict["delivery_config"] = delivery_config
105
108
  if enabled is not UNSET:
106
109
  field_dict["enabled"] = enabled
110
+ if auto_acknowledge_msg is not UNSET:
111
+ field_dict["auto_acknowledge_msg"] = auto_acknowledge_msg
107
112
  if error_handler_path is not UNSET:
108
113
  field_dict["error_handler_path"] = error_handler_path
109
114
  if error_handler_args is not UNSET:
@@ -152,6 +157,8 @@ class CreateGcpTriggerJsonBody:
152
157
 
153
158
  enabled = d.pop("enabled", UNSET)
154
159
 
160
+ auto_acknowledge_msg = d.pop("auto_acknowledge_msg", UNSET)
161
+
155
162
  error_handler_path = d.pop("error_handler_path", UNSET)
156
163
 
157
164
  _error_handler_args = d.pop("error_handler_args", UNSET)
@@ -180,6 +187,7 @@ class CreateGcpTriggerJsonBody:
180
187
  delivery_type=delivery_type,
181
188
  delivery_config=delivery_config,
182
189
  enabled=enabled,
190
+ auto_acknowledge_msg=auto_acknowledge_msg,
183
191
  error_handler_path=error_handler_path,
184
192
  error_handler_args=error_handler_args,
185
193
  retry=retry,
@@ -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,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="ExistsWorkersWithTagsResponse200")
7
+
8
+
9
+ @_attrs_define
10
+ class ExistsWorkersWithTagsResponse200:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, bool] = _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
+ exists_workers_with_tags_response_200 = cls()
26
+
27
+ exists_workers_with_tags_response_200.additional_properties = d
28
+ return exists_workers_with_tags_response_200
29
+
30
+ @property
31
+ def additional_keys(self) -> List[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> bool:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: bool) -> 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
@@ -32,6 +32,7 @@ class GcpTriggerData:
32
32
  delivery_type (Union[Unset, GcpTriggerDataDeliveryType]):
33
33
  delivery_config (Union[Unset, GcpTriggerDataDeliveryConfig]):
34
34
  enabled (Union[Unset, bool]):
35
+ auto_acknowledge_msg (Union[Unset, bool]):
35
36
  error_handler_path (Union[Unset, str]):
36
37
  error_handler_args (Union[Unset, GcpTriggerDataErrorHandlerArgs]): The arguments to pass to the script or flow
37
38
  retry (Union[Unset, GcpTriggerDataRetry]):
@@ -48,6 +49,7 @@ class GcpTriggerData:
48
49
  delivery_type: Union[Unset, GcpTriggerDataDeliveryType] = UNSET
49
50
  delivery_config: Union[Unset, "GcpTriggerDataDeliveryConfig"] = UNSET
50
51
  enabled: Union[Unset, bool] = UNSET
52
+ auto_acknowledge_msg: Union[Unset, bool] = UNSET
51
53
  error_handler_path: Union[Unset, str] = UNSET
52
54
  error_handler_args: Union[Unset, "GcpTriggerDataErrorHandlerArgs"] = UNSET
53
55
  retry: Union[Unset, "GcpTriggerDataRetry"] = UNSET
@@ -72,6 +74,7 @@ class GcpTriggerData:
72
74
  delivery_config = self.delivery_config.to_dict()
73
75
 
74
76
  enabled = self.enabled
77
+ auto_acknowledge_msg = self.auto_acknowledge_msg
75
78
  error_handler_path = self.error_handler_path
76
79
  error_handler_args: Union[Unset, Dict[str, Any]] = UNSET
77
80
  if not isinstance(self.error_handler_args, Unset):
@@ -103,6 +106,8 @@ class GcpTriggerData:
103
106
  field_dict["delivery_config"] = delivery_config
104
107
  if enabled is not UNSET:
105
108
  field_dict["enabled"] = enabled
109
+ if auto_acknowledge_msg is not UNSET:
110
+ field_dict["auto_acknowledge_msg"] = auto_acknowledge_msg
106
111
  if error_handler_path is not UNSET:
107
112
  field_dict["error_handler_path"] = error_handler_path
108
113
  if error_handler_args is not UNSET:
@@ -151,6 +156,8 @@ class GcpTriggerData:
151
156
 
152
157
  enabled = d.pop("enabled", UNSET)
153
158
 
159
+ auto_acknowledge_msg = d.pop("auto_acknowledge_msg", UNSET)
160
+
154
161
  error_handler_path = d.pop("error_handler_path", UNSET)
155
162
 
156
163
  _error_handler_args = d.pop("error_handler_args", UNSET)
@@ -179,6 +186,7 @@ class GcpTriggerData:
179
186
  delivery_type=delivery_type,
180
187
  delivery_config=delivery_config,
181
188
  enabled=enabled,
189
+ auto_acknowledge_msg=auto_acknowledge_msg,
182
190
  error_handler_path=error_handler_path,
183
191
  error_handler_args=error_handler_args,
184
192
  retry=retry,
@@ -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
@@ -32,6 +32,7 @@ class UpdateGcpTriggerJsonBody:
32
32
  delivery_type (Union[Unset, UpdateGcpTriggerJsonBodyDeliveryType]):
33
33
  delivery_config (Union[Unset, UpdateGcpTriggerJsonBodyDeliveryConfig]):
34
34
  enabled (Union[Unset, bool]):
35
+ auto_acknowledge_msg (Union[Unset, bool]):
35
36
  error_handler_path (Union[Unset, str]):
36
37
  error_handler_args (Union[Unset, UpdateGcpTriggerJsonBodyErrorHandlerArgs]): The arguments to pass to the script
37
38
  or flow
@@ -49,6 +50,7 @@ class UpdateGcpTriggerJsonBody:
49
50
  delivery_type: Union[Unset, UpdateGcpTriggerJsonBodyDeliveryType] = UNSET
50
51
  delivery_config: Union[Unset, "UpdateGcpTriggerJsonBodyDeliveryConfig"] = UNSET
51
52
  enabled: Union[Unset, bool] = UNSET
53
+ auto_acknowledge_msg: Union[Unset, bool] = UNSET
52
54
  error_handler_path: Union[Unset, str] = UNSET
53
55
  error_handler_args: Union[Unset, "UpdateGcpTriggerJsonBodyErrorHandlerArgs"] = UNSET
54
56
  retry: Union[Unset, "UpdateGcpTriggerJsonBodyRetry"] = UNSET
@@ -73,6 +75,7 @@ class UpdateGcpTriggerJsonBody:
73
75
  delivery_config = self.delivery_config.to_dict()
74
76
 
75
77
  enabled = self.enabled
78
+ auto_acknowledge_msg = self.auto_acknowledge_msg
76
79
  error_handler_path = self.error_handler_path
77
80
  error_handler_args: Union[Unset, Dict[str, Any]] = UNSET
78
81
  if not isinstance(self.error_handler_args, Unset):
@@ -104,6 +107,8 @@ class UpdateGcpTriggerJsonBody:
104
107
  field_dict["delivery_config"] = delivery_config
105
108
  if enabled is not UNSET:
106
109
  field_dict["enabled"] = enabled
110
+ if auto_acknowledge_msg is not UNSET:
111
+ field_dict["auto_acknowledge_msg"] = auto_acknowledge_msg
107
112
  if error_handler_path is not UNSET:
108
113
  field_dict["error_handler_path"] = error_handler_path
109
114
  if error_handler_args is not UNSET:
@@ -152,6 +157,8 @@ class UpdateGcpTriggerJsonBody:
152
157
 
153
158
  enabled = d.pop("enabled", UNSET)
154
159
 
160
+ auto_acknowledge_msg = d.pop("auto_acknowledge_msg", UNSET)
161
+
155
162
  error_handler_path = d.pop("error_handler_path", UNSET)
156
163
 
157
164
  _error_handler_args = d.pop("error_handler_args", UNSET)
@@ -180,6 +187,7 @@ class UpdateGcpTriggerJsonBody:
180
187
  delivery_type=delivery_type,
181
188
  delivery_config=delivery_config,
182
189
  enabled=enabled,
190
+ auto_acknowledge_msg=auto_acknowledge_msg,
183
191
  error_handler_path=error_handler_path,
184
192
  error_handler_args=error_handler_args,
185
193
  retry=retry,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: windmill-api
3
- Version: 1.520.1
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
@@ -479,7 +481,7 @@ windmill_api/api/websocket_trigger/set_websocket_trigger_enabled.py,sha256=1ECZU
479
481
  windmill_api/api/websocket_trigger/test_websocket_connection.py,sha256=XACSRwr1yIrt4hcU_QJNajAsIoO3ExWhkcvLfeXD6Xg,2795
480
482
  windmill_api/api/websocket_trigger/update_websocket_trigger.py,sha256=2X0Ht_HiKgK9L_5bZS589GRBi3U7RrB534bRHimhVuM,2941
481
483
  windmill_api/api/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
482
- windmill_api/api/worker/exists_worker_with_tag.py,sha256=sh0LvJMp8V_dYG5b4Ok26j-_yl2MlAiHOQH1YkLhqfs,3563
484
+ windmill_api/api/worker/exists_workers_with_tags.py,sha256=GJUaQdeREdAuq7fhZfpnpGmmcDR6xYL1KQ-3uSP6UoA,4004
483
485
  windmill_api/api/worker/ge_default_tags.py,sha256=vzfZnDN3NWs2-FzpgMnIkuVVL5jzaS4V90g37mKR4wM,3193
484
486
  windmill_api/api/worker/get_counts_of_jobs_waiting_per_tag.py,sha256=Ny3bXeZFWzY7HE9AAyP3ehMbugPAXgEYnNOfCpSFLaU,3717
485
487
  windmill_api/api/worker/get_custom_tags.py,sha256=wWnvv5tzC3wiWjUokVbMgu4ChBI6bJ-JMnBrQNmcPqc,5128
@@ -826,7 +828,7 @@ windmill_api/models/create_draft_json_body.py,sha256=yHXntT9BRLflnhPKROnJeb-JHZn
826
828
  windmill_api/models/create_draft_json_body_typ.py,sha256=tlDcZEr6DnujkY7-5GwNN05K5PM7fghX-vU-WCghQq8,183
827
829
  windmill_api/models/create_flow_json_body.py,sha256=iT2MBhwnk-mkQfAjoXubkJC6goNLXTmHGiyAlFhdB14,1990
828
830
  windmill_api/models/create_folder_json_body.py,sha256=ZtOmZr-WNjBj4inI449MqiraLHIIAkahu-eD808puDA,2445
829
- windmill_api/models/create_gcp_trigger_json_body.py,sha256=xUT5DWhTENqF0SwTekxHp0Wlyphwxn0LfYdB1Y5KlRo,8237
831
+ windmill_api/models/create_gcp_trigger_json_body.py,sha256=QKtD_QZR1z4v1ZDnDgDtXyCJUlS107bjMWi3R8HkRj8,8638
830
832
  windmill_api/models/create_gcp_trigger_json_body_delivery_config.py,sha256=Ck82VeV2Ib8oojHNCOfiL1hIrMv6sYyBSte-ithFBZg,1957
831
833
  windmill_api/models/create_gcp_trigger_json_body_delivery_type.py,sha256=_fnpBE6Eembk6XMo7p2Nez_Sw4k8u26nxSrfSGgBFdQ,177
832
834
  windmill_api/models/create_gcp_trigger_json_body_error_handler_args.py,sha256=RwK9YxO5uVj3c4e6oOwaDG07K6z-Hn85DxUzqRdxLPo,1415
@@ -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
@@ -1174,6 +1180,7 @@ windmill_api/models/execute_component_json_body_raw_code.py,sha256=pjSftBupOwcxq
1174
1180
  windmill_api/models/exists_route_json_body.py,sha256=EGxwHaI65TwdgXOq79olyZmb7-XP9BnE66_vbkqYJgs,2620
1175
1181
  windmill_api/models/exists_route_json_body_http_method.py,sha256=n0RrXlla9R02kcJ0kE0MwPMWj_4A3BqslQRTDqB-2N0,226
1176
1182
  windmill_api/models/exists_username_json_body.py,sha256=iPdsXFuNBjXmX4qc2_suYcz6hKDzEL5696fUqS44ST8,1640
1183
+ windmill_api/models/exists_workers_with_tags_response_200.py,sha256=lTu-42-DgQT-Ss_bzc8ZxLVV4imda4arAb1Yq9WT4NE,1330
1177
1184
  windmill_api/models/exists_workspace_json_body.py,sha256=lve_qJX78QXYMmsAV2ZJKaN314a-PrCWj9w9-pHwoHo,1463
1178
1185
  windmill_api/models/export_installation_response_200.py,sha256=xMqd6DC3GukMQNydyP8fQS68b0b_EIWVCrNTdVc1vL8,1655
1179
1186
  windmill_api/models/export_instance_groups_response_200_item.py,sha256=PlZtwzJ7ZWr-eu5Lv3zp8GTjz8avB_fVnOG-9OYTgMY,3093
@@ -1628,7 +1635,7 @@ windmill_api/models/forloop_flow_modules_item_suspend_user_groups_required_type_
1628
1635
  windmill_api/models/forloop_flow_modules_item_suspend_user_groups_required_type_1_type.py,sha256=Xxgdu6BznLJXc4m5UIn8Ogsu8ph7-DTLQwT7ZcPlndI,191
1629
1636
  windmill_api/models/forloop_flow_type.py,sha256=8ioKTCA6pvGW7OMHwII6iy5sPAEbXMNBlQo4e8k7DG0,152
1630
1637
  windmill_api/models/gcp_trigger.py,sha256=0yqA8Oh5D76zIbN44Zxuxm1Vajg4A1SYtvBTDJcOZ0M,9275
1631
- windmill_api/models/gcp_trigger_data.py,sha256=P5raYtTUMJ7VtR7o08oPtJjyDvmCMTRLy9eaYmR8CYg,7803
1638
+ windmill_api/models/gcp_trigger_data.py,sha256=7y-PFNlk2L51MEqlQh4M7dGIIL15dNDj8yDJlKXWQ40,8204
1632
1639
  windmill_api/models/gcp_trigger_data_delivery_config.py,sha256=xJu6NGs_DnwnzfwWgZ7AOtiEzzLpZ7D1c4RJy9KMwJo,1901
1633
1640
  windmill_api/models/gcp_trigger_data_delivery_type.py,sha256=01fLGDPph9TKQpOmCU5854riyissZaVtBagfCXsuxqk,167
1634
1641
  windmill_api/models/gcp_trigger_data_error_handler_args.py,sha256=-PLCvVP1yiSnRBc6rRGbQOo5TWd7efUX3xzn8UJ5G9w,1359
@@ -3371,6 +3378,10 @@ windmill_api/models/list_kafka_triggers_response_200_item_retry.py,sha256=rNmKXF
3371
3378
  windmill_api/models/list_kafka_triggers_response_200_item_retry_constant.py,sha256=Zxu7GWhR2HWa59sABAEMvZbgwOtCDVhrwzwj1pHasq8,1992
3372
3379
  windmill_api/models/list_kafka_triggers_response_200_item_retry_exponential.py,sha256=KvPuP6QwK3HGmrPKwIikgmZ0y1eA7PlDh9FUDjhFE1w,2618
3373
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
3374
3385
  windmill_api/models/list_mqtt_triggers_response_200_item.py,sha256=SH6xbC34qXIawiJqvzbD-6LTB5Vvfwf6jPYQ6L2crwk,11904
3375
3386
  windmill_api/models/list_mqtt_triggers_response_200_item_client_version.py,sha256=7O7g-f34dviu4jb_FnbXzFoAp10NWOqpv_H9lA59XY4,177
3376
3387
  windmill_api/models/list_mqtt_triggers_response_200_item_error_handler_args.py,sha256=HfjHXcKlxpK-71R9aiAjNYhQZ-e8t8GYAypcU5I-0RY,1453
@@ -4230,7 +4241,7 @@ windmill_api/models/update_app_raw_multipart_data_app_policy_triggerables_v2_add
4230
4241
  windmill_api/models/update_flow_history_json_body.py,sha256=fdEVj323tnHZ8AUUoYByMMEntsFlpXQpx7BHhioPQGE,1596
4231
4242
  windmill_api/models/update_flow_json_body.py,sha256=Uev6wAFT1_1HOWIBHjCkW3R3XZMm_DJpnLDPr4wMdb8,1699
4232
4243
  windmill_api/models/update_folder_json_body.py,sha256=wHsBhdewo-Zp62VETr6LhrRktfg5N9pC2iUQ9kdAPx0,2268
4233
- windmill_api/models/update_gcp_trigger_json_body.py,sha256=70f8NeRwJ3eeTLj8owB9qVlTyAfFOI16R1vg_L6zdew,8237
4244
+ windmill_api/models/update_gcp_trigger_json_body.py,sha256=QYP-jZseTctWG8HX6DqWfMCDaJFmy5J6Zzmr0WIST7k,8638
4234
4245
  windmill_api/models/update_gcp_trigger_json_body_delivery_config.py,sha256=10keanzlhOPx0H1gqh8IFEk9ma7ktQCLRgEdUiTujLM,1957
4235
4246
  windmill_api/models/update_gcp_trigger_json_body_delivery_type.py,sha256=ojJb6Nsuj8gYu7pmFVfb4VO2WJC9PXhZ3MGGKu9_Oc8,177
4236
4247
  windmill_api/models/update_gcp_trigger_json_body_error_handler_args.py,sha256=Fsb0oNFKl2qyf6QLx1yR4m2-cpvbWs9KYPwKMw3f7-o,1415
@@ -4388,7 +4399,7 @@ windmill_api/models/workspace_invite.py,sha256=HnAJWGv5LwxWkz1T3fhgHKIccO7RFC1li
4388
4399
  windmill_api/models/workspace_mute_critical_alerts_ui_json_body.py,sha256=y8ZwkWEZgavVc-FgLuZZ4z8YPCLxjPcMfdGdKjGM6VQ,1883
4389
4400
  windmill_api/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
4390
4401
  windmill_api/types.py,sha256=GoYub3t4hQP2Yn5tsvShsBfIY3vHUmblU0MXszDx_V0,968
4391
- windmill_api-1.520.1.dist-info/LICENSE,sha256=qJVFNTaOevCeSY6NoXeUG1SPOwQ1K-PxVQ2iEWJzX-A,11348
4392
- windmill_api-1.520.1.dist-info/METADATA,sha256=Vs90CUPWE6IHUkIDagUjLtmPVpvHIlN7VcacX8bt3Rk,5023
4393
- windmill_api-1.520.1.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
4394
- windmill_api-1.520.1.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,,