windmill-api 1.478.1__py3-none-any.whl → 1.479.1__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.1.dist-info}/METADATA +1 -1
  116. {windmill_api-1.478.1.dist-info → windmill_api-1.479.1.dist-info}/RECORD +118 -68
  117. {windmill_api-1.478.1.dist-info → windmill_api-1.479.1.dist-info}/LICENSE +0 -0
  118. {windmill_api-1.478.1.dist-info → windmill_api-1.479.1.dist-info}/WHEEL +0 -0
@@ -10,9 +10,11 @@ class ExtendedJobsJobsItemType1Language(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 GetCompletedJobResponse200Language(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"
@@ -0,0 +1,111 @@
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_copilot_info_response_200_code_completion_model import (
10
+ GetCopilotInfoResponse200CodeCompletionModel,
11
+ )
12
+ from ..models.get_copilot_info_response_200_default_model import GetCopilotInfoResponse200DefaultModel
13
+ from ..models.get_copilot_info_response_200_providers import GetCopilotInfoResponse200Providers
14
+
15
+
16
+ T = TypeVar("T", bound="GetCopilotInfoResponse200")
17
+
18
+
19
+ @_attrs_define
20
+ class GetCopilotInfoResponse200:
21
+ """
22
+ Attributes:
23
+ providers (Union[Unset, GetCopilotInfoResponse200Providers]):
24
+ default_model (Union[Unset, GetCopilotInfoResponse200DefaultModel]):
25
+ code_completion_model (Union[Unset, GetCopilotInfoResponse200CodeCompletionModel]):
26
+ """
27
+
28
+ providers: Union[Unset, "GetCopilotInfoResponse200Providers"] = UNSET
29
+ default_model: Union[Unset, "GetCopilotInfoResponse200DefaultModel"] = UNSET
30
+ code_completion_model: Union[Unset, "GetCopilotInfoResponse200CodeCompletionModel"] = 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_copilot_info_response_200_code_completion_model import (
61
+ GetCopilotInfoResponse200CodeCompletionModel,
62
+ )
63
+ from ..models.get_copilot_info_response_200_default_model import GetCopilotInfoResponse200DefaultModel
64
+ from ..models.get_copilot_info_response_200_providers import GetCopilotInfoResponse200Providers
65
+
66
+ d = src_dict.copy()
67
+ _providers = d.pop("providers", UNSET)
68
+ providers: Union[Unset, GetCopilotInfoResponse200Providers]
69
+ if isinstance(_providers, Unset):
70
+ providers = UNSET
71
+ else:
72
+ providers = GetCopilotInfoResponse200Providers.from_dict(_providers)
73
+
74
+ _default_model = d.pop("default_model", UNSET)
75
+ default_model: Union[Unset, GetCopilotInfoResponse200DefaultModel]
76
+ if isinstance(_default_model, Unset):
77
+ default_model = UNSET
78
+ else:
79
+ default_model = GetCopilotInfoResponse200DefaultModel.from_dict(_default_model)
80
+
81
+ _code_completion_model = d.pop("code_completion_model", UNSET)
82
+ code_completion_model: Union[Unset, GetCopilotInfoResponse200CodeCompletionModel]
83
+ if isinstance(_code_completion_model, Unset):
84
+ code_completion_model = UNSET
85
+ else:
86
+ code_completion_model = GetCopilotInfoResponse200CodeCompletionModel.from_dict(_code_completion_model)
87
+
88
+ get_copilot_info_response_200 = cls(
89
+ providers=providers,
90
+ default_model=default_model,
91
+ code_completion_model=code_completion_model,
92
+ )
93
+
94
+ get_copilot_info_response_200.additional_properties = d
95
+ return get_copilot_info_response_200
96
+
97
+ @property
98
+ def additional_keys(self) -> List[str]:
99
+ return list(self.additional_properties.keys())
100
+
101
+ def __getitem__(self, key: str) -> Any:
102
+ return self.additional_properties[key]
103
+
104
+ def __setitem__(self, key: str, value: Any) -> None:
105
+ self.additional_properties[key] = value
106
+
107
+ def __delitem__(self, key: str) -> None:
108
+ del self.additional_properties[key]
109
+
110
+ def __contains__(self, key: str) -> bool:
111
+ return key in self.additional_properties
@@ -0,0 +1,69 @@
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
+ from ..models.get_copilot_info_response_200_code_completion_model_provider import (
7
+ GetCopilotInfoResponse200CodeCompletionModelProvider,
8
+ )
9
+
10
+ T = TypeVar("T", bound="GetCopilotInfoResponse200CodeCompletionModel")
11
+
12
+
13
+ @_attrs_define
14
+ class GetCopilotInfoResponse200CodeCompletionModel:
15
+ """
16
+ Attributes:
17
+ model (str):
18
+ provider (GetCopilotInfoResponse200CodeCompletionModelProvider):
19
+ """
20
+
21
+ model: str
22
+ provider: GetCopilotInfoResponse200CodeCompletionModelProvider
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ model = self.model
27
+ provider = self.provider.value
28
+
29
+ field_dict: Dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "model": model,
34
+ "provider": provider,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
42
+ d = src_dict.copy()
43
+ model = d.pop("model")
44
+
45
+ provider = GetCopilotInfoResponse200CodeCompletionModelProvider(d.pop("provider"))
46
+
47
+ get_copilot_info_response_200_code_completion_model = cls(
48
+ model=model,
49
+ provider=provider,
50
+ )
51
+
52
+ get_copilot_info_response_200_code_completion_model.additional_properties = d
53
+ return get_copilot_info_response_200_code_completion_model
54
+
55
+ @property
56
+ def additional_keys(self) -> List[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -0,0 +1,16 @@
1
+ from enum import Enum
2
+
3
+
4
+ class GetCopilotInfoResponse200CodeCompletionModelProvider(str, Enum):
5
+ ANTHROPIC = "anthropic"
6
+ CUSTOMAI = "customai"
7
+ DEEPSEEK = "deepseek"
8
+ GOOGLEAI = "googleai"
9
+ GROQ = "groq"
10
+ MISTRAL = "mistral"
11
+ OPENAI = "openai"
12
+ OPENROUTER = "openrouter"
13
+ TOGETHERAI = "togetherai"
14
+
15
+ def __str__(self) -> str:
16
+ return str(self.value)
@@ -0,0 +1,67 @@
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
+ from ..models.get_copilot_info_response_200_default_model_provider import GetCopilotInfoResponse200DefaultModelProvider
7
+
8
+ T = TypeVar("T", bound="GetCopilotInfoResponse200DefaultModel")
9
+
10
+
11
+ @_attrs_define
12
+ class GetCopilotInfoResponse200DefaultModel:
13
+ """
14
+ Attributes:
15
+ model (str):
16
+ provider (GetCopilotInfoResponse200DefaultModelProvider):
17
+ """
18
+
19
+ model: str
20
+ provider: GetCopilotInfoResponse200DefaultModelProvider
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ model = self.model
25
+ provider = self.provider.value
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "model": model,
32
+ "provider": provider,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40
+ d = src_dict.copy()
41
+ model = d.pop("model")
42
+
43
+ provider = GetCopilotInfoResponse200DefaultModelProvider(d.pop("provider"))
44
+
45
+ get_copilot_info_response_200_default_model = cls(
46
+ model=model,
47
+ provider=provider,
48
+ )
49
+
50
+ get_copilot_info_response_200_default_model.additional_properties = d
51
+ return get_copilot_info_response_200_default_model
52
+
53
+ @property
54
+ def additional_keys(self) -> List[str]:
55
+ return list(self.additional_properties.keys())
56
+
57
+ def __getitem__(self, key: str) -> Any:
58
+ return self.additional_properties[key]
59
+
60
+ def __setitem__(self, key: str, value: Any) -> None:
61
+ self.additional_properties[key] = value
62
+
63
+ def __delitem__(self, key: str) -> None:
64
+ del self.additional_properties[key]
65
+
66
+ def __contains__(self, key: str) -> bool:
67
+ return key in self.additional_properties
@@ -0,0 +1,16 @@
1
+ from enum import Enum
2
+
3
+
4
+ class GetCopilotInfoResponse200DefaultModelProvider(str, Enum):
5
+ ANTHROPIC = "anthropic"
6
+ CUSTOMAI = "customai"
7
+ DEEPSEEK = "deepseek"
8
+ GOOGLEAI = "googleai"
9
+ GROQ = "groq"
10
+ MISTRAL = "mistral"
11
+ OPENAI = "openai"
12
+ OPENROUTER = "openrouter"
13
+ TOGETHERAI = "togetherai"
14
+
15
+ def __str__(self) -> str:
16
+ return str(self.value)
@@ -0,0 +1,66 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.get_copilot_info_response_200_providers_additional_property import (
8
+ GetCopilotInfoResponse200ProvidersAdditionalProperty,
9
+ )
10
+
11
+
12
+ T = TypeVar("T", bound="GetCopilotInfoResponse200Providers")
13
+
14
+
15
+ @_attrs_define
16
+ class GetCopilotInfoResponse200Providers:
17
+ """ """
18
+
19
+ additional_properties: Dict[str, "GetCopilotInfoResponse200ProvidersAdditionalProperty"] = _attrs_field(
20
+ init=False, factory=dict
21
+ )
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ pass
25
+
26
+ field_dict: Dict[str, Any] = {}
27
+ for prop_name, prop in self.additional_properties.items():
28
+ field_dict[prop_name] = prop.to_dict()
29
+
30
+ field_dict.update({})
31
+
32
+ return field_dict
33
+
34
+ @classmethod
35
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
36
+ from ..models.get_copilot_info_response_200_providers_additional_property import (
37
+ GetCopilotInfoResponse200ProvidersAdditionalProperty,
38
+ )
39
+
40
+ d = src_dict.copy()
41
+ get_copilot_info_response_200_providers = cls()
42
+
43
+ additional_properties = {}
44
+ for prop_name, prop_dict in d.items():
45
+ additional_property = GetCopilotInfoResponse200ProvidersAdditionalProperty.from_dict(prop_dict)
46
+
47
+ additional_properties[prop_name] = additional_property
48
+
49
+ get_copilot_info_response_200_providers.additional_properties = additional_properties
50
+ return get_copilot_info_response_200_providers
51
+
52
+ @property
53
+ def additional_keys(self) -> List[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> "GetCopilotInfoResponse200ProvidersAdditionalProperty":
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: "GetCopilotInfoResponse200ProvidersAdditionalProperty") -> None:
60
+ self.additional_properties[key] = value
61
+
62
+ def __delitem__(self, key: str) -> None:
63
+ del self.additional_properties[key]
64
+
65
+ def __contains__(self, key: str) -> bool:
66
+ return key in self.additional_properties
@@ -0,0 +1,65 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="GetCopilotInfoResponse200ProvidersAdditionalProperty")
7
+
8
+
9
+ @_attrs_define
10
+ class GetCopilotInfoResponse200ProvidersAdditionalProperty:
11
+ """
12
+ Attributes:
13
+ resource_path (str):
14
+ models (List[str]):
15
+ """
16
+
17
+ resource_path: str
18
+ models: List[str]
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ resource_path = self.resource_path
23
+ models = self.models
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "resource_path": resource_path,
30
+ "models": models,
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
+ resource_path = d.pop("resource_path")
40
+
41
+ models = cast(List[str], d.pop("models"))
42
+
43
+ get_copilot_info_response_200_providers_additional_property = cls(
44
+ resource_path=resource_path,
45
+ models=models,
46
+ )
47
+
48
+ get_copilot_info_response_200_providers_additional_property.additional_properties = d
49
+ return get_copilot_info_response_200_providers_additional_property
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
@@ -0,0 +1,58 @@
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="GetGithubAppTokenJsonBody")
7
+
8
+
9
+ @_attrs_define
10
+ class GetGithubAppTokenJsonBody:
11
+ """
12
+ Attributes:
13
+ job_token (str):
14
+ """
15
+
16
+ job_token: str
17
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
18
+
19
+ def to_dict(self) -> Dict[str, Any]:
20
+ job_token = self.job_token
21
+
22
+ field_dict: Dict[str, Any] = {}
23
+ field_dict.update(self.additional_properties)
24
+ field_dict.update(
25
+ {
26
+ "job_token": job_token,
27
+ }
28
+ )
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34
+ d = src_dict.copy()
35
+ job_token = d.pop("job_token")
36
+
37
+ get_github_app_token_json_body = cls(
38
+ job_token=job_token,
39
+ )
40
+
41
+ get_github_app_token_json_body.additional_properties = d
42
+ return get_github_app_token_json_body
43
+
44
+ @property
45
+ def additional_keys(self) -> List[str]:
46
+ return list(self.additional_properties.keys())
47
+
48
+ def __getitem__(self, key: str) -> Any:
49
+ return self.additional_properties[key]
50
+
51
+ def __setitem__(self, key: str, value: Any) -> None:
52
+ self.additional_properties[key] = value
53
+
54
+ def __delitem__(self, key: str) -> None:
55
+ del self.additional_properties[key]
56
+
57
+ def __contains__(self, key: str) -> bool:
58
+ return key in self.additional_properties
@@ -0,0 +1,58 @@
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="GetGithubAppTokenResponse200")
7
+
8
+
9
+ @_attrs_define
10
+ class GetGithubAppTokenResponse200:
11
+ """
12
+ Attributes:
13
+ token (str):
14
+ """
15
+
16
+ token: str
17
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
18
+
19
+ def to_dict(self) -> Dict[str, Any]:
20
+ token = self.token
21
+
22
+ field_dict: Dict[str, Any] = {}
23
+ field_dict.update(self.additional_properties)
24
+ field_dict.update(
25
+ {
26
+ "token": token,
27
+ }
28
+ )
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34
+ d = src_dict.copy()
35
+ token = d.pop("token")
36
+
37
+ get_github_app_token_response_200 = cls(
38
+ token=token,
39
+ )
40
+
41
+ get_github_app_token_response_200.additional_properties = d
42
+ return get_github_app_token_response_200
43
+
44
+ @property
45
+ def additional_keys(self) -> List[str]:
46
+ return list(self.additional_properties.keys())
47
+
48
+ def __getitem__(self, key: str) -> Any:
49
+ return self.additional_properties[key]
50
+
51
+ def __setitem__(self, key: str, value: Any) -> None:
52
+ self.additional_properties[key] = value
53
+
54
+ def __delitem__(self, key: str) -> None:
55
+ del self.additional_properties[key]
56
+
57
+ def __contains__(self, key: str) -> bool:
58
+ return key in self.additional_properties
@@ -0,0 +1,104 @@
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_global_connected_repositories_response_200_item_repositories_item import (
10
+ GetGlobalConnectedRepositoriesResponse200ItemRepositoriesItem,
11
+ )
12
+
13
+
14
+ T = TypeVar("T", bound="GetGlobalConnectedRepositoriesResponse200Item")
15
+
16
+
17
+ @_attrs_define
18
+ class GetGlobalConnectedRepositoriesResponse200Item:
19
+ """
20
+ Attributes:
21
+ installation_id (float):
22
+ account_id (str):
23
+ repositories (List['GetGlobalConnectedRepositoriesResponse200ItemRepositoriesItem']):
24
+ workspace_id (Union[Unset, str]):
25
+ """
26
+
27
+ installation_id: float
28
+ account_id: str
29
+ repositories: List["GetGlobalConnectedRepositoriesResponse200ItemRepositoriesItem"]
30
+ workspace_id: Union[Unset, str] = UNSET
31
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> Dict[str, Any]:
34
+ installation_id = self.installation_id
35
+ account_id = self.account_id
36
+ repositories = []
37
+ for repositories_item_data in self.repositories:
38
+ repositories_item = repositories_item_data.to_dict()
39
+
40
+ repositories.append(repositories_item)
41
+
42
+ workspace_id = self.workspace_id
43
+
44
+ field_dict: Dict[str, Any] = {}
45
+ field_dict.update(self.additional_properties)
46
+ field_dict.update(
47
+ {
48
+ "installation_id": installation_id,
49
+ "account_id": account_id,
50
+ "repositories": repositories,
51
+ }
52
+ )
53
+ if workspace_id is not UNSET:
54
+ field_dict["workspace_id"] = workspace_id
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_global_connected_repositories_response_200_item_repositories_item import (
61
+ GetGlobalConnectedRepositoriesResponse200ItemRepositoriesItem,
62
+ )
63
+
64
+ d = src_dict.copy()
65
+ installation_id = d.pop("installation_id")
66
+
67
+ account_id = d.pop("account_id")
68
+
69
+ repositories = []
70
+ _repositories = d.pop("repositories")
71
+ for repositories_item_data in _repositories:
72
+ repositories_item = GetGlobalConnectedRepositoriesResponse200ItemRepositoriesItem.from_dict(
73
+ repositories_item_data
74
+ )
75
+
76
+ repositories.append(repositories_item)
77
+
78
+ workspace_id = d.pop("workspace_id", UNSET)
79
+
80
+ get_global_connected_repositories_response_200_item = cls(
81
+ installation_id=installation_id,
82
+ account_id=account_id,
83
+ repositories=repositories,
84
+ workspace_id=workspace_id,
85
+ )
86
+
87
+ get_global_connected_repositories_response_200_item.additional_properties = d
88
+ return get_global_connected_repositories_response_200_item
89
+
90
+ @property
91
+ def additional_keys(self) -> List[str]:
92
+ return list(self.additional_properties.keys())
93
+
94
+ def __getitem__(self, key: str) -> Any:
95
+ return self.additional_properties[key]
96
+
97
+ def __setitem__(self, key: str, value: Any) -> None:
98
+ self.additional_properties[key] = value
99
+
100
+ def __delitem__(self, key: str) -> None:
101
+ del self.additional_properties[key]
102
+
103
+ def __contains__(self, key: str) -> bool:
104
+ return key in self.additional_properties