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

Files changed (118) hide show
  1. windmill_api/api/app/list_app_paths_from_workspace_runnable.py +176 -0
  2. windmill_api/api/git_sync/__init__.py +0 -0
  3. windmill_api/api/git_sync/delete_from_workspace.py +107 -0
  4. windmill_api/api/git_sync/export_installation.py +174 -0
  5. windmill_api/api/git_sync/get_global_connected_repositories.py +131 -0
  6. windmill_api/api/git_sync/import_installation.py +111 -0
  7. windmill_api/api/{workspace/set_automatic_billing.py → git_sync/install_from_workspace.py} +11 -9
  8. windmill_api/api/script/list_script_paths_from_workspace_runnable.py +161 -0
  9. windmill_api/api/workspace/get_copilot_info.py +65 -6
  10. windmill_api/api/workspace/get_github_app_token.py +170 -0
  11. windmill_api/models/ai_config.py +107 -0
  12. windmill_api/models/{get_settings_response_200_ai_resource.py → ai_config_code_completion_model.py} +15 -15
  13. windmill_api/models/{get_settings_response_200_ai_resource_provider.py → ai_config_code_completion_model_provider.py} +2 -1
  14. windmill_api/models/{edit_copilot_config_json_body_ai_resource.py → ai_config_default_model.py} +15 -15
  15. windmill_api/models/{edit_copilot_config_json_body_ai_resource_provider.py → ai_config_default_model_provider.py} +2 -1
  16. windmill_api/models/ai_config_providers.py +60 -0
  17. windmill_api/models/ai_config_providers_additional_property.py +65 -0
  18. windmill_api/models/ai_provider.py +1 -0
  19. windmill_api/models/ai_provider_config.py +65 -0
  20. windmill_api/models/{ai_resource.py → ai_provider_model.py} +15 -15
  21. windmill_api/models/{ai_resource_provider.py → ai_provider_model_provider.py} +2 -1
  22. windmill_api/models/archive_script_by_hash_response_200_language.py +2 -0
  23. windmill_api/models/authentication_method.py +13 -0
  24. windmill_api/models/completed_job_language.py +2 -0
  25. windmill_api/models/create_http_trigger_json_body.py +16 -6
  26. windmill_api/models/create_http_trigger_json_body_authentication_method.py +13 -0
  27. windmill_api/models/create_schedule_json_body.py +8 -0
  28. windmill_api/models/create_script_json_body_language.py +2 -0
  29. windmill_api/models/delete_completed_job_response_200_language.py +2 -0
  30. windmill_api/models/delete_script_by_hash_response_200_language.py +2 -0
  31. windmill_api/models/edit_copilot_config_json_body.py +50 -30
  32. windmill_api/models/edit_copilot_config_json_body_code_completion_model.py +69 -0
  33. windmill_api/models/edit_copilot_config_json_body_code_completion_model_provider.py +16 -0
  34. windmill_api/models/edit_copilot_config_json_body_default_model.py +67 -0
  35. windmill_api/models/edit_copilot_config_json_body_default_model_provider.py +16 -0
  36. windmill_api/models/edit_copilot_config_json_body_providers.py +66 -0
  37. windmill_api/models/edit_copilot_config_json_body_providers_additional_property.py +65 -0
  38. windmill_api/models/edit_http_trigger.py +16 -6
  39. windmill_api/models/edit_http_trigger_authentication_method.py +13 -0
  40. windmill_api/models/edit_schedule.py +8 -0
  41. windmill_api/models/{set_automatic_billing_json_body.py → export_installation_response_200.py} +13 -23
  42. windmill_api/models/extended_jobs_jobs_item_type_0_language.py +2 -0
  43. windmill_api/models/extended_jobs_jobs_item_type_1_language.py +2 -0
  44. windmill_api/models/get_completed_job_response_200_language.py +2 -0
  45. windmill_api/models/get_copilot_info_response_200.py +111 -0
  46. windmill_api/models/get_copilot_info_response_200_code_completion_model.py +69 -0
  47. windmill_api/models/get_copilot_info_response_200_code_completion_model_provider.py +16 -0
  48. windmill_api/models/get_copilot_info_response_200_default_model.py +67 -0
  49. windmill_api/models/get_copilot_info_response_200_default_model_provider.py +16 -0
  50. windmill_api/models/get_copilot_info_response_200_providers.py +66 -0
  51. windmill_api/models/get_copilot_info_response_200_providers_additional_property.py +65 -0
  52. windmill_api/models/get_github_app_token_json_body.py +58 -0
  53. windmill_api/models/get_github_app_token_response_200.py +58 -0
  54. windmill_api/models/get_global_connected_repositories_response_200_item.py +104 -0
  55. windmill_api/models/get_global_connected_repositories_response_200_item_repositories_item.py +65 -0
  56. windmill_api/models/get_http_trigger_response_200.py +17 -6
  57. windmill_api/models/get_http_trigger_response_200_authentication_method.py +13 -0
  58. windmill_api/models/get_job_response_200_type_0_language.py +2 -0
  59. windmill_api/models/get_job_response_200_type_1_language.py +2 -0
  60. windmill_api/models/get_premium_info_response_200.py +7 -14
  61. windmill_api/models/get_schedule_response_200.py +8 -0
  62. windmill_api/models/get_script_by_hash_response_200_language.py +2 -0
  63. windmill_api/models/get_script_by_path_response_200_language.py +2 -0
  64. windmill_api/models/get_script_by_path_with_draft_response_200_draft_language.py +2 -0
  65. windmill_api/models/get_script_by_path_with_draft_response_200_language.py +2 -0
  66. windmill_api/models/get_settings_response_200.py +16 -39
  67. windmill_api/models/get_settings_response_200_ai_config.py +113 -0
  68. windmill_api/models/get_settings_response_200_ai_config_code_completion_model.py +69 -0
  69. windmill_api/models/get_settings_response_200_ai_config_code_completion_model_provider.py +16 -0
  70. windmill_api/models/get_settings_response_200_ai_config_default_model.py +69 -0
  71. windmill_api/models/get_settings_response_200_ai_config_default_model_provider.py +16 -0
  72. windmill_api/models/get_settings_response_200_ai_config_providers.py +66 -0
  73. windmill_api/models/get_settings_response_200_ai_config_providers_additional_property.py +65 -0
  74. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_language.py +2 -0
  75. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_language.py +2 -0
  76. windmill_api/models/github_installations_item.py +98 -0
  77. windmill_api/models/github_installations_item_repositories_item.py +65 -0
  78. windmill_api/models/http_trigger.py +17 -6
  79. windmill_api/models/http_trigger_authentication_method.py +13 -0
  80. windmill_api/models/import_installation_json_body.py +58 -0
  81. windmill_api/models/install_from_workspace_json_body.py +65 -0
  82. windmill_api/models/job_type_0_language.py +2 -0
  83. windmill_api/models/job_type_1_language.py +2 -0
  84. windmill_api/models/list_app_paths_from_workspace_runnable_runnable_kind.py +9 -0
  85. windmill_api/models/list_completed_jobs_response_200_item_language.py +2 -0
  86. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_language.py +2 -0
  87. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_language.py +2 -0
  88. windmill_api/models/list_http_triggers_response_200_item.py +19 -6
  89. windmill_api/models/list_http_triggers_response_200_item_authentication_method.py +13 -0
  90. windmill_api/models/list_jobs_response_200_item_type_0_language.py +2 -0
  91. windmill_api/models/list_jobs_response_200_item_type_1_language.py +2 -0
  92. windmill_api/models/list_queue_response_200_item_language.py +2 -0
  93. windmill_api/models/list_schedules_response_200_item.py +8 -0
  94. windmill_api/models/list_schedules_with_jobs_response_200_item.py +8 -0
  95. windmill_api/models/list_scripts_response_200_item_language.py +2 -0
  96. windmill_api/models/new_http_trigger.py +16 -6
  97. windmill_api/models/new_http_trigger_authentication_method.py +13 -0
  98. windmill_api/models/new_schedule.py +8 -0
  99. windmill_api/models/new_script_language.py +2 -0
  100. windmill_api/models/new_script_with_draft_draft_language.py +2 -0
  101. windmill_api/models/new_script_with_draft_language.py +2 -0
  102. windmill_api/models/preview_language.py +2 -0
  103. windmill_api/models/queued_job_language.py +2 -0
  104. windmill_api/models/raw_script_for_dependencies_language.py +2 -0
  105. windmill_api/models/run_raw_script_dependencies_json_body_raw_scripts_item_language.py +2 -0
  106. windmill_api/models/run_script_preview_json_body_language.py +2 -0
  107. windmill_api/models/schedule.py +8 -0
  108. windmill_api/models/schedule_w_jobs.py +8 -0
  109. windmill_api/models/script_lang.py +2 -0
  110. windmill_api/models/script_language.py +2 -0
  111. windmill_api/models/update_http_trigger_json_body.py +16 -6
  112. windmill_api/models/update_http_trigger_json_body_authentication_method.py +13 -0
  113. windmill_api/models/update_schedule_json_body.py +8 -0
  114. windmill_api/models/workspace_github_installation.py +65 -0
  115. {windmill_api-1.478.1.dist-info → windmill_api-1.479.0.dist-info}/METADATA +1 -1
  116. {windmill_api-1.478.1.dist-info → windmill_api-1.479.0.dist-info}/RECORD +118 -68
  117. {windmill_api-1.478.1.dist-info → windmill_api-1.479.0.dist-info}/LICENSE +0 -0
  118. {windmill_api-1.478.1.dist-info → windmill_api-1.479.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,65 @@
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="GetGlobalConnectedRepositoriesResponse200ItemRepositoriesItem")
7
+
8
+
9
+ @_attrs_define
10
+ class GetGlobalConnectedRepositoriesResponse200ItemRepositoriesItem:
11
+ """
12
+ Attributes:
13
+ name (str):
14
+ url (str):
15
+ """
16
+
17
+ name: str
18
+ url: str
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ name = self.name
23
+ url = self.url
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "name": name,
30
+ "url": url,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ name = d.pop("name")
40
+
41
+ url = d.pop("url")
42
+
43
+ get_global_connected_repositories_response_200_item_repositories_item = cls(
44
+ name=name,
45
+ url=url,
46
+ )
47
+
48
+ get_global_connected_repositories_response_200_item_repositories_item.additional_properties = d
49
+ return get_global_connected_repositories_response_200_item_repositories_item
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -5,6 +5,7 @@ from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
  from dateutil.parser import isoparse
7
7
 
8
+ from ..models.get_http_trigger_response_200_authentication_method import GetHttpTriggerResponse200AuthenticationMethod
8
9
  from ..models.get_http_trigger_response_200_http_method import GetHttpTriggerResponse200HttpMethod
9
10
  from ..types import UNSET, Unset
10
11
 
@@ -23,7 +24,7 @@ class GetHttpTriggerResponse200:
23
24
  route_path (str):
24
25
  http_method (GetHttpTriggerResponse200HttpMethod):
25
26
  is_async (bool):
26
- requires_auth (bool):
27
+ authentication_method (GetHttpTriggerResponse200AuthenticationMethod):
27
28
  is_static_website (bool):
28
29
  workspaced_route (bool):
29
30
  wrap_body (bool):
@@ -37,12 +38,13 @@ class GetHttpTriggerResponse200:
37
38
  edited_at (datetime.datetime):
38
39
  is_flow (bool):
39
40
  static_asset_config (Union[Unset, GetHttpTriggerResponse200StaticAssetConfig]):
41
+ authentication_resource_path (Union[Unset, str]):
40
42
  """
41
43
 
42
44
  route_path: str
43
45
  http_method: GetHttpTriggerResponse200HttpMethod
44
46
  is_async: bool
45
- requires_auth: bool
47
+ authentication_method: GetHttpTriggerResponse200AuthenticationMethod
46
48
  is_static_website: bool
47
49
  workspaced_route: bool
48
50
  wrap_body: bool
@@ -56,6 +58,7 @@ class GetHttpTriggerResponse200:
56
58
  edited_at: datetime.datetime
57
59
  is_flow: bool
58
60
  static_asset_config: Union[Unset, "GetHttpTriggerResponse200StaticAssetConfig"] = UNSET
61
+ authentication_resource_path: Union[Unset, str] = UNSET
59
62
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
60
63
 
61
64
  def to_dict(self) -> Dict[str, Any]:
@@ -63,7 +66,8 @@ class GetHttpTriggerResponse200:
63
66
  http_method = self.http_method.value
64
67
 
65
68
  is_async = self.is_async
66
- requires_auth = self.requires_auth
69
+ authentication_method = self.authentication_method.value
70
+
67
71
  is_static_website = self.is_static_website
68
72
  workspaced_route = self.workspaced_route
69
73
  wrap_body = self.wrap_body
@@ -82,6 +86,8 @@ class GetHttpTriggerResponse200:
82
86
  if not isinstance(self.static_asset_config, Unset):
83
87
  static_asset_config = self.static_asset_config.to_dict()
84
88
 
89
+ authentication_resource_path = self.authentication_resource_path
90
+
85
91
  field_dict: Dict[str, Any] = {}
86
92
  field_dict.update(self.additional_properties)
87
93
  field_dict.update(
@@ -89,7 +95,7 @@ class GetHttpTriggerResponse200:
89
95
  "route_path": route_path,
90
96
  "http_method": http_method,
91
97
  "is_async": is_async,
92
- "requires_auth": requires_auth,
98
+ "authentication_method": authentication_method,
93
99
  "is_static_website": is_static_website,
94
100
  "workspaced_route": workspaced_route,
95
101
  "wrap_body": wrap_body,
@@ -106,6 +112,8 @@ class GetHttpTriggerResponse200:
106
112
  )
107
113
  if static_asset_config is not UNSET:
108
114
  field_dict["static_asset_config"] = static_asset_config
115
+ if authentication_resource_path is not UNSET:
116
+ field_dict["authentication_resource_path"] = authentication_resource_path
109
117
 
110
118
  return field_dict
111
119
 
@@ -123,7 +131,7 @@ class GetHttpTriggerResponse200:
123
131
 
124
132
  is_async = d.pop("is_async")
125
133
 
126
- requires_auth = d.pop("requires_auth")
134
+ authentication_method = GetHttpTriggerResponse200AuthenticationMethod(d.pop("authentication_method"))
127
135
 
128
136
  is_static_website = d.pop("is_static_website")
129
137
 
@@ -156,11 +164,13 @@ class GetHttpTriggerResponse200:
156
164
  else:
157
165
  static_asset_config = GetHttpTriggerResponse200StaticAssetConfig.from_dict(_static_asset_config)
158
166
 
167
+ authentication_resource_path = d.pop("authentication_resource_path", UNSET)
168
+
159
169
  get_http_trigger_response_200 = cls(
160
170
  route_path=route_path,
161
171
  http_method=http_method,
162
172
  is_async=is_async,
163
- requires_auth=requires_auth,
173
+ authentication_method=authentication_method,
164
174
  is_static_website=is_static_website,
165
175
  workspaced_route=workspaced_route,
166
176
  wrap_body=wrap_body,
@@ -174,6 +184,7 @@ class GetHttpTriggerResponse200:
174
184
  edited_at=edited_at,
175
185
  is_flow=is_flow,
176
186
  static_asset_config=static_asset_config,
187
+ authentication_resource_path=authentication_resource_path,
177
188
  )
178
189
 
179
190
  get_http_trigger_response_200.additional_properties = d
@@ -0,0 +1,13 @@
1
+ from enum import Enum
2
+
3
+
4
+ class GetHttpTriggerResponse200AuthenticationMethod(str, Enum):
5
+ API_KEY = "api_key"
6
+ BASIC_HTTP = "basic_http"
7
+ CUSTOM_SCRIPT = "custom_script"
8
+ NONE = "none"
9
+ SIGNATURE = "signature"
10
+ WINDMILL = "windmill"
11
+
12
+ def __str__(self) -> str:
13
+ return str(self.value)
@@ -10,9 +10,11 @@ class GetJobResponse200Type0Language(str, Enum):
10
10
  DENO = "deno"
11
11
  GO = "go"
12
12
  GRAPHQL = "graphql"
13
+ JAVA = "java"
13
14
  MSSQL = "mssql"
14
15
  MYSQL = "mysql"
15
16
  NATIVETS = "nativets"
17
+ NU = "nu"
16
18
  ORACLEDB = "oracledb"
17
19
  PHP = "php"
18
20
  POSTGRESQL = "postgresql"
@@ -10,9 +10,11 @@ class GetJobResponse200Type1Language(str, Enum):
10
10
  DENO = "deno"
11
11
  GO = "go"
12
12
  GRAPHQL = "graphql"
13
+ JAVA = "java"
13
14
  MSSQL = "mssql"
14
15
  MYSQL = "mysql"
15
16
  NATIVETS = "nativets"
17
+ NU = "nu"
16
18
  ORACLEDB = "oracledb"
17
19
  PHP = "php"
18
20
  POSTGRESQL = "postgresql"
@@ -13,39 +13,35 @@ class GetPremiumInfoResponse200:
13
13
  """
14
14
  Attributes:
15
15
  premium (bool):
16
- automatic_billing (bool):
17
16
  owner (str):
18
17
  usage (Union[Unset, float]):
19
- seats (Union[Unset, float]):
18
+ status (Union[Unset, str]):
20
19
  """
21
20
 
22
21
  premium: bool
23
- automatic_billing: bool
24
22
  owner: str
25
23
  usage: Union[Unset, float] = UNSET
26
- seats: Union[Unset, float] = UNSET
24
+ status: Union[Unset, str] = UNSET
27
25
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
26
 
29
27
  def to_dict(self) -> Dict[str, Any]:
30
28
  premium = self.premium
31
- automatic_billing = self.automatic_billing
32
29
  owner = self.owner
33
30
  usage = self.usage
34
- seats = self.seats
31
+ status = self.status
35
32
 
36
33
  field_dict: Dict[str, Any] = {}
37
34
  field_dict.update(self.additional_properties)
38
35
  field_dict.update(
39
36
  {
40
37
  "premium": premium,
41
- "automatic_billing": automatic_billing,
42
38
  "owner": owner,
43
39
  }
44
40
  )
45
41
  if usage is not UNSET:
46
42
  field_dict["usage"] = usage
47
- if seats is not UNSET:
48
- field_dict["seats"] = seats
43
+ if status is not UNSET:
44
+ field_dict["status"] = status
49
45
 
50
46
  return field_dict
51
47
 
@@ -54,20 +50,17 @@ class GetPremiumInfoResponse200:
54
50
  d = src_dict.copy()
55
51
  premium = d.pop("premium")
56
52
 
57
- automatic_billing = d.pop("automatic_billing")
58
-
59
53
  owner = d.pop("owner")
60
54
 
61
55
  usage = d.pop("usage", UNSET)
62
56
 
63
- seats = d.pop("seats", UNSET)
57
+ status = d.pop("status", UNSET)
64
58
 
65
59
  get_premium_info_response_200 = cls(
66
60
  premium=premium,
67
- automatic_billing=automatic_billing,
68
61
  owner=owner,
69
62
  usage=usage,
70
- seats=seats,
63
+ status=status,
71
64
  )
72
65
 
73
66
  get_premium_info_response_200.additional_properties = d
@@ -47,6 +47,7 @@ class GetScheduleResponse200:
47
47
  ws_error_handler_muted (Union[Unset, bool]):
48
48
  retry (Union[Unset, GetScheduleResponse200Retry]):
49
49
  summary (Union[Unset, str]):
50
+ description (Union[Unset, str]):
50
51
  no_flow_overlap (Union[Unset, bool]):
51
52
  tag (Union[Unset, str]):
52
53
  paused_until (Union[Unset, datetime.datetime]):
@@ -77,6 +78,7 @@ class GetScheduleResponse200:
77
78
  ws_error_handler_muted: Union[Unset, bool] = UNSET
78
79
  retry: Union[Unset, "GetScheduleResponse200Retry"] = UNSET
79
80
  summary: Union[Unset, str] = UNSET
81
+ description: Union[Unset, str] = UNSET
80
82
  no_flow_overlap: Union[Unset, bool] = UNSET
81
83
  tag: Union[Unset, str] = UNSET
82
84
  paused_until: Union[Unset, datetime.datetime] = UNSET
@@ -125,6 +127,7 @@ class GetScheduleResponse200:
125
127
  retry = self.retry.to_dict()
126
128
 
127
129
  summary = self.summary
130
+ description = self.description
128
131
  no_flow_overlap = self.no_flow_overlap
129
132
  tag = self.tag
130
133
  paused_until: Union[Unset, str] = UNSET
@@ -177,6 +180,8 @@ class GetScheduleResponse200:
177
180
  field_dict["retry"] = retry
178
181
  if summary is not UNSET:
179
182
  field_dict["summary"] = summary
183
+ if description is not UNSET:
184
+ field_dict["description"] = description
180
185
  if no_flow_overlap is not UNSET:
181
186
  field_dict["no_flow_overlap"] = no_flow_overlap
182
187
  if tag is not UNSET:
@@ -271,6 +276,8 @@ class GetScheduleResponse200:
271
276
 
272
277
  summary = d.pop("summary", UNSET)
273
278
 
279
+ description = d.pop("description", UNSET)
280
+
274
281
  no_flow_overlap = d.pop("no_flow_overlap", UNSET)
275
282
 
276
283
  tag = d.pop("tag", UNSET)
@@ -309,6 +316,7 @@ class GetScheduleResponse200:
309
316
  ws_error_handler_muted=ws_error_handler_muted,
310
317
  retry=retry,
311
318
  summary=summary,
319
+ description=description,
312
320
  no_flow_overlap=no_flow_overlap,
313
321
  tag=tag,
314
322
  paused_until=paused_until,
@@ -10,9 +10,11 @@ class GetScriptByHashResponse200Language(str, Enum):
10
10
  DENO = "deno"
11
11
  GO = "go"
12
12
  GRAPHQL = "graphql"
13
+ JAVA = "java"
13
14
  MSSQL = "mssql"
14
15
  MYSQL = "mysql"
15
16
  NATIVETS = "nativets"
17
+ NU = "nu"
16
18
  ORACLEDB = "oracledb"
17
19
  PHP = "php"
18
20
  POSTGRESQL = "postgresql"
@@ -10,9 +10,11 @@ class GetScriptByPathResponse200Language(str, Enum):
10
10
  DENO = "deno"
11
11
  GO = "go"
12
12
  GRAPHQL = "graphql"
13
+ JAVA = "java"
13
14
  MSSQL = "mssql"
14
15
  MYSQL = "mysql"
15
16
  NATIVETS = "nativets"
17
+ NU = "nu"
16
18
  ORACLEDB = "oracledb"
17
19
  PHP = "php"
18
20
  POSTGRESQL = "postgresql"
@@ -10,9 +10,11 @@ class GetScriptByPathWithDraftResponse200DraftLanguage(str, Enum):
10
10
  DENO = "deno"
11
11
  GO = "go"
12
12
  GRAPHQL = "graphql"
13
+ JAVA = "java"
13
14
  MSSQL = "mssql"
14
15
  MYSQL = "mysql"
15
16
  NATIVETS = "nativets"
17
+ NU = "nu"
16
18
  ORACLEDB = "oracledb"
17
19
  PHP = "php"
18
20
  POSTGRESQL = "postgresql"
@@ -10,9 +10,11 @@ class GetScriptByPathWithDraftResponse200Language(str, Enum):
10
10
  DENO = "deno"
11
11
  GO = "go"
12
12
  GRAPHQL = "graphql"
13
+ JAVA = "java"
13
14
  MSSQL = "mssql"
14
15
  MYSQL = "mysql"
15
16
  NATIVETS = "nativets"
17
+ NU = "nu"
16
18
  ORACLEDB = "oracledb"
17
19
  PHP = "php"
18
20
  POSTGRESQL = "postgresql"
@@ -1,4 +1,4 @@
1
- from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -6,7 +6,7 @@ from attrs import field as _attrs_field
6
6
  from ..types import UNSET, Unset
7
7
 
8
8
  if TYPE_CHECKING:
9
- from ..models.get_settings_response_200_ai_resource import GetSettingsResponse200AiResource
9
+ from ..models.get_settings_response_200_ai_config import GetSettingsResponse200AiConfig
10
10
  from ..models.get_settings_response_200_default_scripts import GetSettingsResponse200DefaultScripts
11
11
  from ..models.get_settings_response_200_deploy_ui import GetSettingsResponse200DeployUi
12
12
  from ..models.get_settings_response_200_error_handler_extra_args import GetSettingsResponse200ErrorHandlerExtraArgs
@@ -22,8 +22,6 @@ T = TypeVar("T", bound="GetSettingsResponse200")
22
22
  class GetSettingsResponse200:
23
23
  """
24
24
  Attributes:
25
- automatic_billing (bool):
26
- ai_models (List[str]):
27
25
  error_handler_muted_on_cancel (bool):
28
26
  workspace_id (Union[Unset, str]):
29
27
  slack_name (Union[Unset, str]):
@@ -39,8 +37,7 @@ class GetSettingsResponse200:
39
37
  customer_id (Union[Unset, str]):
40
38
  webhook (Union[Unset, str]):
41
39
  deploy_to (Union[Unset, str]):
42
- ai_resource (Union[Unset, GetSettingsResponse200AiResource]):
43
- code_completion_model (Union[Unset, str]):
40
+ ai_config (Union[Unset, GetSettingsResponse200AiConfig]):
44
41
  error_handler (Union[Unset, str]):
45
42
  error_handler_extra_args (Union[Unset, GetSettingsResponse200ErrorHandlerExtraArgs]):
46
43
  large_file_storage (Union[Unset, GetSettingsResponse200LargeFileStorage]):
@@ -53,8 +50,6 @@ class GetSettingsResponse200:
53
50
  operator_settings (Union[Unset, None, GetSettingsResponse200OperatorSettings]):
54
51
  """
55
52
 
56
- automatic_billing: bool
57
- ai_models: List[str]
58
53
  error_handler_muted_on_cancel: bool
59
54
  workspace_id: Union[Unset, str] = UNSET
60
55
  slack_name: Union[Unset, str] = UNSET
@@ -70,8 +65,7 @@ class GetSettingsResponse200:
70
65
  customer_id: Union[Unset, str] = UNSET
71
66
  webhook: Union[Unset, str] = UNSET
72
67
  deploy_to: Union[Unset, str] = UNSET
73
- ai_resource: Union[Unset, "GetSettingsResponse200AiResource"] = UNSET
74
- code_completion_model: Union[Unset, str] = UNSET
68
+ ai_config: Union[Unset, "GetSettingsResponse200AiConfig"] = UNSET
75
69
  error_handler: Union[Unset, str] = UNSET
76
70
  error_handler_extra_args: Union[Unset, "GetSettingsResponse200ErrorHandlerExtraArgs"] = UNSET
77
71
  large_file_storage: Union[Unset, "GetSettingsResponse200LargeFileStorage"] = UNSET
@@ -85,9 +79,6 @@ class GetSettingsResponse200:
85
79
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
86
80
 
87
81
  def to_dict(self) -> Dict[str, Any]:
88
- automatic_billing = self.automatic_billing
89
- ai_models = self.ai_models
90
-
91
82
  error_handler_muted_on_cancel = self.error_handler_muted_on_cancel
92
83
  workspace_id = self.workspace_id
93
84
  slack_name = self.slack_name
@@ -103,11 +94,10 @@ class GetSettingsResponse200:
103
94
  customer_id = self.customer_id
104
95
  webhook = self.webhook
105
96
  deploy_to = self.deploy_to
106
- ai_resource: Union[Unset, Dict[str, Any]] = UNSET
107
- if not isinstance(self.ai_resource, Unset):
108
- ai_resource = self.ai_resource.to_dict()
97
+ ai_config: Union[Unset, Dict[str, Any]] = UNSET
98
+ if not isinstance(self.ai_config, Unset):
99
+ ai_config = self.ai_config.to_dict()
109
100
 
110
- code_completion_model = self.code_completion_model
111
101
  error_handler = self.error_handler
112
102
  error_handler_extra_args: Union[Unset, Dict[str, Any]] = UNSET
113
103
  if not isinstance(self.error_handler_extra_args, Unset):
@@ -140,8 +130,6 @@ class GetSettingsResponse200:
140
130
  field_dict.update(self.additional_properties)
141
131
  field_dict.update(
142
132
  {
143
- "automatic_billing": automatic_billing,
144
- "ai_models": ai_models,
145
133
  "error_handler_muted_on_cancel": error_handler_muted_on_cancel,
146
134
  }
147
135
  )
@@ -173,10 +161,8 @@ class GetSettingsResponse200:
173
161
  field_dict["webhook"] = webhook
174
162
  if deploy_to is not UNSET:
175
163
  field_dict["deploy_to"] = deploy_to
176
- if ai_resource is not UNSET:
177
- field_dict["ai_resource"] = ai_resource
178
- if code_completion_model is not UNSET:
179
- field_dict["code_completion_model"] = code_completion_model
164
+ if ai_config is not UNSET:
165
+ field_dict["ai_config"] = ai_config
180
166
  if error_handler is not UNSET:
181
167
  field_dict["error_handler"] = error_handler
182
168
  if error_handler_extra_args is not UNSET:
@@ -202,7 +188,7 @@ class GetSettingsResponse200:
202
188
 
203
189
  @classmethod
204
190
  def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
205
- from ..models.get_settings_response_200_ai_resource import GetSettingsResponse200AiResource
191
+ from ..models.get_settings_response_200_ai_config import GetSettingsResponse200AiConfig
206
192
  from ..models.get_settings_response_200_default_scripts import GetSettingsResponse200DefaultScripts
207
193
  from ..models.get_settings_response_200_deploy_ui import GetSettingsResponse200DeployUi
208
194
  from ..models.get_settings_response_200_error_handler_extra_args import (
@@ -213,10 +199,6 @@ class GetSettingsResponse200:
213
199
  from ..models.get_settings_response_200_operator_settings import GetSettingsResponse200OperatorSettings
214
200
 
215
201
  d = src_dict.copy()
216
- automatic_billing = d.pop("automatic_billing")
217
-
218
- ai_models = cast(List[str], d.pop("ai_models"))
219
-
220
202
  error_handler_muted_on_cancel = d.pop("error_handler_muted_on_cancel")
221
203
 
222
204
  workspace_id = d.pop("workspace_id", UNSET)
@@ -247,14 +229,12 @@ class GetSettingsResponse200:
247
229
 
248
230
  deploy_to = d.pop("deploy_to", UNSET)
249
231
 
250
- _ai_resource = d.pop("ai_resource", UNSET)
251
- ai_resource: Union[Unset, GetSettingsResponse200AiResource]
252
- if isinstance(_ai_resource, Unset):
253
- ai_resource = UNSET
232
+ _ai_config = d.pop("ai_config", UNSET)
233
+ ai_config: Union[Unset, GetSettingsResponse200AiConfig]
234
+ if isinstance(_ai_config, Unset):
235
+ ai_config = UNSET
254
236
  else:
255
- ai_resource = GetSettingsResponse200AiResource.from_dict(_ai_resource)
256
-
257
- code_completion_model = d.pop("code_completion_model", UNSET)
237
+ ai_config = GetSettingsResponse200AiConfig.from_dict(_ai_config)
258
238
 
259
239
  error_handler = d.pop("error_handler", UNSET)
260
240
 
@@ -309,8 +289,6 @@ class GetSettingsResponse200:
309
289
  operator_settings = GetSettingsResponse200OperatorSettings.from_dict(_operator_settings)
310
290
 
311
291
  get_settings_response_200 = cls(
312
- automatic_billing=automatic_billing,
313
- ai_models=ai_models,
314
292
  error_handler_muted_on_cancel=error_handler_muted_on_cancel,
315
293
  workspace_id=workspace_id,
316
294
  slack_name=slack_name,
@@ -326,8 +304,7 @@ class GetSettingsResponse200:
326
304
  customer_id=customer_id,
327
305
  webhook=webhook,
328
306
  deploy_to=deploy_to,
329
- ai_resource=ai_resource,
330
- code_completion_model=code_completion_model,
307
+ ai_config=ai_config,
331
308
  error_handler=error_handler,
332
309
  error_handler_extra_args=error_handler_extra_args,
333
310
  large_file_storage=large_file_storage,
@@ -0,0 +1,113 @@
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.get_settings_response_200_ai_config_code_completion_model import (
10
+ GetSettingsResponse200AiConfigCodeCompletionModel,
11
+ )
12
+ from ..models.get_settings_response_200_ai_config_default_model import GetSettingsResponse200AiConfigDefaultModel
13
+ from ..models.get_settings_response_200_ai_config_providers import GetSettingsResponse200AiConfigProviders
14
+
15
+
16
+ T = TypeVar("T", bound="GetSettingsResponse200AiConfig")
17
+
18
+
19
+ @_attrs_define
20
+ class GetSettingsResponse200AiConfig:
21
+ """
22
+ Attributes:
23
+ providers (Union[Unset, GetSettingsResponse200AiConfigProviders]):
24
+ default_model (Union[Unset, GetSettingsResponse200AiConfigDefaultModel]):
25
+ code_completion_model (Union[Unset, GetSettingsResponse200AiConfigCodeCompletionModel]):
26
+ """
27
+
28
+ providers: Union[Unset, "GetSettingsResponse200AiConfigProviders"] = UNSET
29
+ default_model: Union[Unset, "GetSettingsResponse200AiConfigDefaultModel"] = UNSET
30
+ code_completion_model: Union[Unset, "GetSettingsResponse200AiConfigCodeCompletionModel"] = UNSET
31
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> Dict[str, Any]:
34
+ providers: Union[Unset, Dict[str, Any]] = UNSET
35
+ if not isinstance(self.providers, Unset):
36
+ providers = self.providers.to_dict()
37
+
38
+ default_model: Union[Unset, Dict[str, Any]] = UNSET
39
+ if not isinstance(self.default_model, Unset):
40
+ default_model = self.default_model.to_dict()
41
+
42
+ code_completion_model: Union[Unset, Dict[str, Any]] = UNSET
43
+ if not isinstance(self.code_completion_model, Unset):
44
+ code_completion_model = self.code_completion_model.to_dict()
45
+
46
+ field_dict: Dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update({})
49
+ if providers is not UNSET:
50
+ field_dict["providers"] = providers
51
+ if default_model is not UNSET:
52
+ field_dict["default_model"] = default_model
53
+ if code_completion_model is not UNSET:
54
+ field_dict["code_completion_model"] = code_completion_model
55
+
56
+ return field_dict
57
+
58
+ @classmethod
59
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
60
+ from ..models.get_settings_response_200_ai_config_code_completion_model import (
61
+ GetSettingsResponse200AiConfigCodeCompletionModel,
62
+ )
63
+ from ..models.get_settings_response_200_ai_config_default_model import (
64
+ GetSettingsResponse200AiConfigDefaultModel,
65
+ )
66
+ from ..models.get_settings_response_200_ai_config_providers import GetSettingsResponse200AiConfigProviders
67
+
68
+ d = src_dict.copy()
69
+ _providers = d.pop("providers", UNSET)
70
+ providers: Union[Unset, GetSettingsResponse200AiConfigProviders]
71
+ if isinstance(_providers, Unset):
72
+ providers = UNSET
73
+ else:
74
+ providers = GetSettingsResponse200AiConfigProviders.from_dict(_providers)
75
+
76
+ _default_model = d.pop("default_model", UNSET)
77
+ default_model: Union[Unset, GetSettingsResponse200AiConfigDefaultModel]
78
+ if isinstance(_default_model, Unset):
79
+ default_model = UNSET
80
+ else:
81
+ default_model = GetSettingsResponse200AiConfigDefaultModel.from_dict(_default_model)
82
+
83
+ _code_completion_model = d.pop("code_completion_model", UNSET)
84
+ code_completion_model: Union[Unset, GetSettingsResponse200AiConfigCodeCompletionModel]
85
+ if isinstance(_code_completion_model, Unset):
86
+ code_completion_model = UNSET
87
+ else:
88
+ code_completion_model = GetSettingsResponse200AiConfigCodeCompletionModel.from_dict(_code_completion_model)
89
+
90
+ get_settings_response_200_ai_config = cls(
91
+ providers=providers,
92
+ default_model=default_model,
93
+ code_completion_model=code_completion_model,
94
+ )
95
+
96
+ get_settings_response_200_ai_config.additional_properties = d
97
+ return get_settings_response_200_ai_config
98
+
99
+ @property
100
+ def additional_keys(self) -> List[str]:
101
+ return list(self.additional_properties.keys())
102
+
103
+ def __getitem__(self, key: str) -> Any:
104
+ return self.additional_properties[key]
105
+
106
+ def __setitem__(self, key: str, value: Any) -> None:
107
+ self.additional_properties[key] = value
108
+
109
+ def __delitem__(self, key: str) -> None:
110
+ del self.additional_properties[key]
111
+
112
+ def __contains__(self, key: str) -> bool:
113
+ return key in self.additional_properties