holder-python 0.2.5__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.
Files changed (391) hide show
  1. holder/__init__.py +21 -0
  2. holder/client.py +182 -0
  3. holder/collections.py +70 -0
  4. holder/events.py +238 -0
  5. holder/exceptions.py +35 -0
  6. holder/generated/__init__.py +8 -0
  7. holder/generated/api/__init__.py +1 -0
  8. holder/generated/api/default/__init__.py +1 -0
  9. holder/generated/api/default/delete_ai_messages_message_id.py +166 -0
  10. holder/generated/api/default/delete_ai_messages_message_id_links.py +205 -0
  11. holder/generated/api/default/delete_ai_providers_credentials_provider.py +168 -0
  12. holder/generated/api/default/delete_ai_threads_thread_id.py +166 -0
  13. holder/generated/api/default/delete_cards_card_id.py +225 -0
  14. holder/generated/api/default/delete_cards_card_id_links.py +205 -0
  15. holder/generated/api/default/delete_cards_card_id_milestones_milestone_id.py +175 -0
  16. holder/generated/api/default/delete_cards_card_id_resources.py +197 -0
  17. holder/generated/api/default/delete_cards_card_id_tags.py +197 -0
  18. holder/generated/api/default/delete_locations_location_id.py +105 -0
  19. holder/generated/api/default/delete_locations_location_id_binding.py +102 -0
  20. holder/generated/api/default/delete_projects_project_id.py +187 -0
  21. holder/generated/api/default/delete_resources_resource_id.py +161 -0
  22. holder/generated/api/default/delete_trash.py +181 -0
  23. holder/generated/api/default/delete_trash_type_id.py +175 -0
  24. holder/generated/api/default/get_ai_capabilities.py +166 -0
  25. holder/generated/api/default/get_ai_catalog_json.py +134 -0
  26. holder/generated/api/default/get_ai_catalog_yaml.py +132 -0
  27. holder/generated/api/default/get_ai_local_models_config.py +134 -0
  28. holder/generated/api/default/get_ai_messages.py +186 -0
  29. holder/generated/api/default/get_ai_messages_message_id.py +166 -0
  30. holder/generated/api/default/get_ai_messages_message_id_backlinks.py +194 -0
  31. holder/generated/api/default/get_ai_messages_message_id_links.py +194 -0
  32. holder/generated/api/default/get_ai_providers_catalog.py +139 -0
  33. holder/generated/api/default/get_ai_providers_credentials.py +136 -0
  34. holder/generated/api/default/get_ai_runner_pull_job_id.py +171 -0
  35. holder/generated/api/default/get_ai_runner_pull_job_id_events.py +218 -0
  36. holder/generated/api/default/get_ai_runs.py +186 -0
  37. holder/generated/api/default/get_ai_runs_run_id.py +166 -0
  38. holder/generated/api/default/get_ai_runs_run_id_events.py +213 -0
  39. holder/generated/api/default/get_ai_status.py +134 -0
  40. holder/generated/api/default/get_ai_threads.py +171 -0
  41. holder/generated/api/default/get_ai_threads_thread_id.py +166 -0
  42. holder/generated/api/default/get_calendar.py +221 -0
  43. holder/generated/api/default/get_cards.py +286 -0
  44. holder/generated/api/default/get_cards_card_id.py +166 -0
  45. holder/generated/api/default/get_cards_card_id_backlinks.py +194 -0
  46. holder/generated/api/default/get_cards_card_id_links.py +194 -0
  47. holder/generated/api/default/get_cards_card_id_milestones.py +173 -0
  48. holder/generated/api/default/get_cards_context.py +226 -0
  49. holder/generated/api/default/get_event_cursor.py +198 -0
  50. holder/generated/api/default/get_git_providers_json.py +134 -0
  51. holder/generated/api/default/get_git_providers_yaml.py +132 -0
  52. holder/generated/api/default/get_health.py +134 -0
  53. holder/generated/api/default/get_imports_job_id.py +159 -0
  54. holder/generated/api/default/get_locations.py +160 -0
  55. holder/generated/api/default/get_locations_location_id.py +157 -0
  56. holder/generated/api/default/get_openapi_yaml.py +132 -0
  57. holder/generated/api/default/get_ping.py +128 -0
  58. holder/generated/api/default/get_projects.py +261 -0
  59. holder/generated/api/default/get_projects_project_id.py +166 -0
  60. holder/generated/api/default/get_projects_project_id_cards.py +321 -0
  61. holder/generated/api/default/get_projects_project_id_encryption_check.py +166 -0
  62. holder/generated/api/default/get_projects_project_id_git_sync_status.py +171 -0
  63. holder/generated/api/default/get_projects_project_id_history.py +246 -0
  64. holder/generated/api/default/get_projects_project_id_history_cards_card_id.py +243 -0
  65. holder/generated/api/default/get_projects_project_id_history_cards_card_id_compare.py +286 -0
  66. holder/generated/api/default/get_projects_project_id_history_cards_card_id_snapshot.py +225 -0
  67. holder/generated/api/default/get_projects_project_id_tags.py +171 -0
  68. holder/generated/api/default/get_resources.py +242 -0
  69. holder/generated/api/default/get_resources_resource_id.py +161 -0
  70. holder/generated/api/default/get_resources_resource_id_assets_asset_id_content.py +247 -0
  71. holder/generated/api/default/get_search_ai.py +216 -0
  72. holder/generated/api/default/get_search_cards.py +216 -0
  73. holder/generated/api/default/get_trash.py +181 -0
  74. holder/generated/api/default/patch_ai_messages_message_id.py +192 -0
  75. holder/generated/api/default/patch_ai_threads_thread_id.py +192 -0
  76. holder/generated/api/default/patch_cards_card_id.py +192 -0
  77. holder/generated/api/default/patch_cards_card_id_milestones_milestone_id.py +214 -0
  78. holder/generated/api/default/patch_locations_location_id.py +117 -0
  79. holder/generated/api/default/patch_projects_project_id.py +192 -0
  80. holder/generated/api/default/patch_resources_resource_id.py +192 -0
  81. holder/generated/api/default/post_ai_messages.py +176 -0
  82. holder/generated/api/default/post_ai_messages_capture.py +181 -0
  83. holder/generated/api/default/post_ai_messages_message_id_links.py +192 -0
  84. holder/generated/api/default/post_ai_messages_message_id_restore.py +166 -0
  85. holder/generated/api/default/post_ai_runner_pull.py +181 -0
  86. holder/generated/api/default/post_ai_runner_retry.py +139 -0
  87. holder/generated/api/default/post_ai_runs.py +194 -0
  88. holder/generated/api/default/post_ai_threads.py +176 -0
  89. holder/generated/api/default/post_bye.py +166 -0
  90. holder/generated/api/default/post_card_references_resolve.py +181 -0
  91. holder/generated/api/default/post_cards.py +176 -0
  92. holder/generated/api/default/post_cards_card_id_links.py +192 -0
  93. holder/generated/api/default/post_cards_card_id_milestones.py +199 -0
  94. holder/generated/api/default/post_cards_card_id_move.py +222 -0
  95. holder/generated/api/default/post_cards_card_id_resources.py +197 -0
  96. holder/generated/api/default/post_cards_card_id_restore.py +186 -0
  97. holder/generated/api/default/post_cards_card_id_tags.py +197 -0
  98. holder/generated/api/default/post_imports.py +160 -0
  99. holder/generated/api/default/post_locations.py +160 -0
  100. holder/generated/api/default/post_locations_location_id_test.py +105 -0
  101. holder/generated/api/default/post_projects.py +171 -0
  102. holder/generated/api/default/post_projects_project_id_git_pull.py +211 -0
  103. holder/generated/api/default/post_projects_project_id_git_push.py +193 -0
  104. holder/generated/api/default/post_projects_project_id_git_sync.py +207 -0
  105. holder/generated/api/default/post_projects_project_id_git_test_remote.py +205 -0
  106. holder/generated/api/default/post_projects_project_id_history_cards_card_id_restore.py +240 -0
  107. holder/generated/api/default/post_projects_project_id_recovery_token_export.py +196 -0
  108. holder/generated/api/default/post_projects_project_id_recovery_token_import.py +196 -0
  109. holder/generated/api/default/post_projects_project_id_repair_hierarchy.py +240 -0
  110. holder/generated/api/default/post_rebuild.py +176 -0
  111. holder/generated/api/default/post_recovery_token_import.py +185 -0
  112. holder/generated/api/default/post_reindex.py +139 -0
  113. holder/generated/api/default/post_resources.py +176 -0
  114. holder/generated/api/default/put_ai_local_models_config.py +173 -0
  115. holder/generated/api/default/put_ai_providers_credentials.py +175 -0
  116. holder/generated/api/default/put_locations_location_id_binding.py +117 -0
  117. holder/generated/api/default/put_locations_preferred.py +107 -0
  118. holder/generated/api/default/stream_changes.py +256 -0
  119. holder/generated/client.py +280 -0
  120. holder/generated/errors.py +16 -0
  121. holder/generated/models/__init__.py +569 -0
  122. holder/generated/models/ai_local_model_config_data.py +111 -0
  123. holder/generated/models/ai_local_model_config_response.py +78 -0
  124. holder/generated/models/ai_local_model_config_update_request.py +134 -0
  125. holder/generated/models/ai_message.py +204 -0
  126. holder/generated/models/ai_message_capture_request.py +246 -0
  127. holder/generated/models/ai_message_capture_request_context_type_0.py +46 -0
  128. holder/generated/models/ai_message_capture_response.py +78 -0
  129. holder/generated/models/ai_message_capture_response_data.py +78 -0
  130. holder/generated/models/ai_message_create_request.py +186 -0
  131. holder/generated/models/ai_message_create_response.py +78 -0
  132. holder/generated/models/ai_message_create_response_data.py +62 -0
  133. holder/generated/models/ai_message_get_response.py +76 -0
  134. holder/generated/models/ai_message_list_response.py +84 -0
  135. holder/generated/models/ai_message_update_request.py +203 -0
  136. holder/generated/models/ai_message_update_response.py +78 -0
  137. holder/generated/models/ai_message_update_response_data.py +62 -0
  138. holder/generated/models/ai_provider_catalog_provider.py +265 -0
  139. holder/generated/models/ai_provider_catalog_provider_api_type_0.py +46 -0
  140. holder/generated/models/ai_provider_catalog_provider_auth_type_0.py +46 -0
  141. holder/generated/models/ai_provider_catalog_provider_models_item.py +46 -0
  142. holder/generated/models/ai_provider_catalog_response.py +78 -0
  143. holder/generated/models/ai_provider_catalog_response_data.py +100 -0
  144. holder/generated/models/ai_provider_credential.py +94 -0
  145. holder/generated/models/ai_provider_credential_delete_response.py +80 -0
  146. holder/generated/models/ai_provider_credential_delete_response_data.py +62 -0
  147. holder/generated/models/ai_provider_credential_upsert_request.py +92 -0
  148. holder/generated/models/ai_provider_credential_upsert_response.py +78 -0
  149. holder/generated/models/ai_provider_credentials_list_response.py +80 -0
  150. holder/generated/models/ai_provider_credentials_list_response_data.py +78 -0
  151. holder/generated/models/ai_run_create_request.py +133 -0
  152. holder/generated/models/ai_run_create_request_context.py +46 -0
  153. holder/generated/models/ai_run_event_data.py +146 -0
  154. holder/generated/models/ai_run_get_response.py +76 -0
  155. holder/generated/models/ai_run_item.py +328 -0
  156. holder/generated/models/ai_run_item_policy_trace_type_0.py +46 -0
  157. holder/generated/models/ai_run_list_response.py +84 -0
  158. holder/generated/models/ai_status_data.py +186 -0
  159. holder/generated/models/ai_status_pull_job.py +130 -0
  160. holder/generated/models/ai_status_response.py +76 -0
  161. holder/generated/models/ai_thread.py +116 -0
  162. holder/generated/models/ai_thread_create_request.py +119 -0
  163. holder/generated/models/ai_thread_create_response.py +78 -0
  164. holder/generated/models/ai_thread_create_response_data.py +62 -0
  165. holder/generated/models/ai_thread_get_response.py +76 -0
  166. holder/generated/models/ai_thread_list_response.py +84 -0
  167. holder/generated/models/ai_thread_patch_response.py +78 -0
  168. holder/generated/models/ai_thread_patch_response_data.py +62 -0
  169. holder/generated/models/ai_thread_update_request.py +104 -0
  170. holder/generated/models/asset_import_job.py +141 -0
  171. holder/generated/models/asset_import_job_response.py +76 -0
  172. holder/generated/models/asset_import_job_status.py +13 -0
  173. holder/generated/models/asset_import_request.py +86 -0
  174. holder/generated/models/asset_placement.py +96 -0
  175. holder/generated/models/asset_placement_encoding.py +9 -0
  176. holder/generated/models/bye_response.py +62 -0
  177. holder/generated/models/calendar_card_activity.py +86 -0
  178. holder/generated/models/card_context_breadcrumb.py +113 -0
  179. holder/generated/models/card_context_breadcrumb_type.py +9 -0
  180. holder/generated/models/card_context_card.py +161 -0
  181. holder/generated/models/card_context_data.py +124 -0
  182. holder/generated/models/card_context_data_project.py +70 -0
  183. holder/generated/models/card_context_response.py +76 -0
  184. holder/generated/models/card_create_request.py +147 -0
  185. holder/generated/models/card_create_response.py +78 -0
  186. holder/generated/models/card_create_response_data.py +70 -0
  187. holder/generated/models/card_data.py +160 -0
  188. holder/generated/models/card_get_response.py +76 -0
  189. holder/generated/models/card_history_author.py +70 -0
  190. holder/generated/models/card_history_comparison_data.py +110 -0
  191. holder/generated/models/card_history_comparison_response.py +78 -0
  192. holder/generated/models/card_history_diff_line.py +100 -0
  193. holder/generated/models/card_history_diff_line_origin.py +10 -0
  194. holder/generated/models/card_history_entry.py +172 -0
  195. holder/generated/models/card_history_entry_kind.py +16 -0
  196. holder/generated/models/card_history_entry_saves_item.py +94 -0
  197. holder/generated/models/card_history_page_data.py +114 -0
  198. holder/generated/models/card_history_page_response.py +76 -0
  199. holder/generated/models/card_history_restore_response.py +80 -0
  200. holder/generated/models/card_history_restore_response_data.py +108 -0
  201. holder/generated/models/card_history_snapshot_response.py +80 -0
  202. holder/generated/models/card_history_snapshot_response_data.py +76 -0
  203. holder/generated/models/card_history_version.py +86 -0
  204. holder/generated/models/card_link.py +116 -0
  205. holder/generated/models/card_link_create_request.py +111 -0
  206. holder/generated/models/card_link_create_response.py +76 -0
  207. holder/generated/models/card_link_delete_request.py +80 -0
  208. holder/generated/models/card_link_list_response.py +84 -0
  209. holder/generated/models/card_list_item.py +161 -0
  210. holder/generated/models/card_list_response.py +84 -0
  211. holder/generated/models/card_move_intent.py +15 -0
  212. holder/generated/models/card_move_request.py +134 -0
  213. holder/generated/models/card_move_response.py +76 -0
  214. holder/generated/models/card_move_result.py +114 -0
  215. holder/generated/models/card_page.py +90 -0
  216. holder/generated/models/card_page_item.py +170 -0
  217. holder/generated/models/card_page_response.py +76 -0
  218. holder/generated/models/card_patch_response.py +78 -0
  219. holder/generated/models/card_patch_response_data.py +62 -0
  220. holder/generated/models/card_reference_candidate.py +84 -0
  221. holder/generated/models/card_reference_resolve_data.py +129 -0
  222. holder/generated/models/card_reference_resolve_data_match_kind.py +10 -0
  223. holder/generated/models/card_reference_resolve_data_status.py +10 -0
  224. holder/generated/models/card_reference_resolve_request.py +82 -0
  225. holder/generated/models/card_reference_resolve_request_scope.py +10 -0
  226. holder/generated/models/card_reference_resolve_response.py +78 -0
  227. holder/generated/models/card_tag_mutation_request.py +70 -0
  228. holder/generated/models/card_tag_mutation_response.py +78 -0
  229. holder/generated/models/card_tag_mutation_result.py +88 -0
  230. holder/generated/models/card_tag_mutation_result_outcome.py +12 -0
  231. holder/generated/models/card_update_request.py +122 -0
  232. holder/generated/models/caste_info.py +85 -0
  233. holder/generated/models/caste_info_name.py +12 -0
  234. holder/generated/models/caste_recommended_model.py +143 -0
  235. holder/generated/models/caste_recommended_model_required_caste.py +12 -0
  236. holder/generated/models/change_event_data.py +109 -0
  237. holder/generated/models/change_event_data_entity.py +14 -0
  238. holder/generated/models/delete_cards_card_id_children.py +9 -0
  239. holder/generated/models/delete_cards_card_id_resources_body.py +70 -0
  240. holder/generated/models/error.py +70 -0
  241. holder/generated/models/error_response.py +76 -0
  242. holder/generated/models/event_checkpoint.py +92 -0
  243. holder/generated/models/event_checkpoint_git_revisions.py +66 -0
  244. holder/generated/models/event_checkpoint_history_urls.py +48 -0
  245. holder/generated/models/event_checkpoint_response.py +76 -0
  246. holder/generated/models/event_resync_data.py +116 -0
  247. holder/generated/models/event_resync_data_reason.py +9 -0
  248. holder/generated/models/get_ai_catalog_json_response_200.py +46 -0
  249. holder/generated/models/get_ai_messages_message_id_backlinks_include_deleted.py +9 -0
  250. holder/generated/models/get_ai_messages_message_id_links_include_deleted.py +9 -0
  251. holder/generated/models/get_cards_card_id_backlinks_include_deleted.py +9 -0
  252. holder/generated/models/get_cards_card_id_links_include_deleted.py +9 -0
  253. holder/generated/models/get_cards_context_order.py +10 -0
  254. holder/generated/models/get_cards_order.py +10 -0
  255. holder/generated/models/get_cards_view.py +9 -0
  256. holder/generated/models/get_git_providers_json_response_200.py +46 -0
  257. holder/generated/models/get_locations_location_id_response_200.py +46 -0
  258. holder/generated/models/get_ping_response_200.py +8 -0
  259. holder/generated/models/get_projects_order.py +13 -0
  260. holder/generated/models/get_projects_project_id_cards_order.py +9 -0
  261. holder/generated/models/get_projects_project_id_cards_parent_type_0.py +8 -0
  262. holder/generated/models/get_projects_project_id_history_cards_card_id_compare_mode.py +9 -0
  263. holder/generated/models/get_projects_project_id_history_kind.py +13 -0
  264. holder/generated/models/health_data.py +110 -0
  265. holder/generated/models/health_data_crypt_filter.py +78 -0
  266. holder/generated/models/health_response.py +76 -0
  267. holder/generated/models/hierarchy_repair.py +100 -0
  268. holder/generated/models/hierarchy_repair_move.py +76 -0
  269. holder/generated/models/hierarchy_repair_request.py +62 -0
  270. holder/generated/models/hierarchy_repair_response.py +76 -0
  271. holder/generated/models/local_model.py +91 -0
  272. holder/generated/models/location_binding_request.py +81 -0
  273. holder/generated/models/location_binding_request_values.py +46 -0
  274. holder/generated/models/milestone.py +177 -0
  275. holder/generated/models/milestone_create_request.py +135 -0
  276. holder/generated/models/milestone_list_response.py +84 -0
  277. holder/generated/models/milestone_remove_response.py +78 -0
  278. holder/generated/models/milestone_remove_result.py +79 -0
  279. holder/generated/models/milestone_response.py +76 -0
  280. holder/generated/models/milestone_update_request.py +116 -0
  281. holder/generated/models/patch_locations_location_id_body.py +90 -0
  282. holder/generated/models/patch_locations_location_id_body_configuration.py +46 -0
  283. holder/generated/models/post_ai_runner_pull_body.py +62 -0
  284. holder/generated/models/post_cards_card_id_resources_body.py +70 -0
  285. holder/generated/models/post_locations_response_201.py +46 -0
  286. holder/generated/models/project.py +197 -0
  287. holder/generated/models/project_calendar_response.py +78 -0
  288. holder/generated/models/project_calendar_response_data.py +136 -0
  289. holder/generated/models/project_create_request.py +177 -0
  290. holder/generated/models/project_create_request_privacy_mode.py +9 -0
  291. holder/generated/models/project_create_response.py +78 -0
  292. holder/generated/models/project_create_response_data.py +62 -0
  293. holder/generated/models/project_delete_response.py +78 -0
  294. holder/generated/models/project_delete_response_data.py +62 -0
  295. holder/generated/models/project_encryption_check.py +94 -0
  296. holder/generated/models/project_encryption_check_response.py +80 -0
  297. holder/generated/models/project_encryption_check_response_data.py +92 -0
  298. holder/generated/models/project_encryption_check_response_data_privacy_mode.py +9 -0
  299. holder/generated/models/project_get_response.py +76 -0
  300. holder/generated/models/project_git_push_request.py +95 -0
  301. holder/generated/models/project_git_push_response.py +78 -0
  302. holder/generated/models/project_git_push_response_data.py +199 -0
  303. holder/generated/models/project_git_push_response_data_status.py +15 -0
  304. holder/generated/models/project_git_sync_operation_response.py +80 -0
  305. holder/generated/models/project_git_sync_operation_response_data.py +163 -0
  306. holder/generated/models/project_git_sync_operation_response_data_pull.py +96 -0
  307. holder/generated/models/project_git_sync_operation_response_data_pull_status.py +11 -0
  308. holder/generated/models/project_git_sync_operation_response_data_push.py +118 -0
  309. holder/generated/models/project_git_sync_operation_response_data_push_status.py +15 -0
  310. holder/generated/models/project_git_sync_operation_response_data_status.py +9 -0
  311. holder/generated/models/project_git_sync_request.py +94 -0
  312. holder/generated/models/project_git_sync_status_response.py +80 -0
  313. holder/generated/models/project_git_sync_status_response_data.py +76 -0
  314. holder/generated/models/project_git_test_remote_request.py +96 -0
  315. holder/generated/models/project_git_test_remote_response.py +80 -0
  316. holder/generated/models/project_git_test_remote_response_data.py +151 -0
  317. holder/generated/models/project_git_test_remote_response_data_status.py +14 -0
  318. holder/generated/models/project_history_activity.py +138 -0
  319. holder/generated/models/project_history_affected_object.py +74 -0
  320. holder/generated/models/project_history_affected_object_kind.py +13 -0
  321. holder/generated/models/project_history_page_data.py +115 -0
  322. holder/generated/models/project_history_page_response.py +78 -0
  323. holder/generated/models/project_list_response.py +84 -0
  324. holder/generated/models/project_privacy_mode.py +9 -0
  325. holder/generated/models/project_recovery_token_export_request.py +62 -0
  326. holder/generated/models/project_recovery_token_export_response.py +80 -0
  327. holder/generated/models/project_recovery_token_export_response_data.py +78 -0
  328. holder/generated/models/project_recovery_token_import_request.py +70 -0
  329. holder/generated/models/project_recovery_token_import_response.py +80 -0
  330. holder/generated/models/project_recovery_token_import_response_data.py +62 -0
  331. holder/generated/models/project_sync.py +227 -0
  332. holder/generated/models/project_tag.py +70 -0
  333. holder/generated/models/project_tag_list_response.py +84 -0
  334. holder/generated/models/project_update_request.py +181 -0
  335. holder/generated/models/project_update_request_privacy_mode.py +9 -0
  336. holder/generated/models/project_update_response.py +78 -0
  337. holder/generated/models/project_update_response_data.py +75 -0
  338. holder/generated/models/put_locations_preferred_body.py +70 -0
  339. holder/generated/models/rebuild_data.py +94 -0
  340. holder/generated/models/rebuild_request.py +62 -0
  341. holder/generated/models/rebuild_response.py +76 -0
  342. holder/generated/models/recovery_token_import_auto_response.py +80 -0
  343. holder/generated/models/recovery_token_import_auto_response_data.py +141 -0
  344. holder/generated/models/recovery_token_import_auto_response_data_pull_status.py +10 -0
  345. holder/generated/models/reindex_data.py +62 -0
  346. holder/generated/models/reindex_response.py +76 -0
  347. holder/generated/models/resource.py +134 -0
  348. holder/generated/models/resource_asset.py +140 -0
  349. holder/generated/models/resource_attachment_response.py +80 -0
  350. holder/generated/models/resource_attachment_response_data.py +90 -0
  351. holder/generated/models/resource_attachment_response_data_outcome.py +11 -0
  352. holder/generated/models/resource_create_request.py +129 -0
  353. holder/generated/models/resource_delete_response.py +78 -0
  354. holder/generated/models/resource_delete_response_data.py +62 -0
  355. holder/generated/models/resource_list_response.py +134 -0
  356. holder/generated/models/resource_metadata.py +55 -0
  357. holder/generated/models/resource_response.py +76 -0
  358. holder/generated/models/resource_update_request.py +102 -0
  359. holder/generated/models/runner_capabilities_data.py +220 -0
  360. holder/generated/models/runner_capabilities_response.py +78 -0
  361. holder/generated/models/runner_pull_job.py +122 -0
  362. holder/generated/models/runner_pull_progress.py +86 -0
  363. holder/generated/models/runner_pull_start_response.py +78 -0
  364. holder/generated/models/runner_pull_start_response_data.py +78 -0
  365. holder/generated/models/runner_pull_status_response.py +76 -0
  366. holder/generated/models/search_card_item.py +102 -0
  367. holder/generated/models/search_cards_response.py +84 -0
  368. holder/generated/models/search_message_item.py +86 -0
  369. holder/generated/models/search_messages_response.py +84 -0
  370. holder/generated/models/storage_location.py +149 -0
  371. holder/generated/models/storage_location_configuration.py +48 -0
  372. holder/generated/models/storage_location_list_response.py +100 -0
  373. holder/generated/models/storage_location_provider.py +9 -0
  374. holder/generated/models/storage_location_request.py +118 -0
  375. holder/generated/models/storage_location_request_configuration.py +46 -0
  376. holder/generated/models/storage_location_request_provider.py +9 -0
  377. holder/generated/models/trash_delete_response.py +78 -0
  378. holder/generated/models/trash_delete_response_data.py +46 -0
  379. holder/generated/models/trash_item.py +211 -0
  380. holder/generated/models/trash_list_response.py +84 -0
  381. holder/generated/types.py +54 -0
  382. holder/library.py +15 -0
  383. holder/models/__init__.py +15 -0
  384. holder/models/card.py +272 -0
  385. holder/models/project.py +207 -0
  386. holder/models/search.py +66 -0
  387. holder/models/tag.py +117 -0
  388. holder/py.typed +0 -0
  389. holder_python-0.2.5.dist-info/METADATA +120 -0
  390. holder_python-0.2.5.dist-info/RECORD +391 -0
  391. holder_python-0.2.5.dist-info/WHEEL +4 -0
@@ -0,0 +1,134 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from typing_extensions import Self
9
+
10
+ from ..types import UNSET, Unset
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.resource import Resource
14
+
15
+
16
+ T = TypeVar("T", bound="ResourceListResponse")
17
+
18
+
19
+ @_attrs_define
20
+ class ResourceListResponse:
21
+ """
22
+ Attributes:
23
+ ok (bool):
24
+ data (list[Resource]):
25
+ card_id (str | Unset): Canonical live card ID, present only for card attachment lists.
26
+ limit (int | Unset):
27
+ offset (int | Unset):
28
+ next_offset (int | None | Unset): Present for card lists; null when exhausted, otherwise continue here (the next
29
+ page may be empty).
30
+ """
31
+
32
+ ok: bool
33
+ data: list[Resource]
34
+ card_id: str | Unset = UNSET
35
+ limit: int | Unset = UNSET
36
+ offset: int | Unset = UNSET
37
+ next_offset: int | None | Unset = UNSET
38
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
+
40
+ def to_dict(self) -> dict[str, Any]:
41
+ ok = self.ok
42
+
43
+ data = []
44
+ for data_item_data in self.data:
45
+ data_item = data_item_data.to_dict()
46
+ data.append(data_item)
47
+
48
+ card_id = self.card_id
49
+
50
+ limit = self.limit
51
+
52
+ offset = self.offset
53
+
54
+ next_offset: int | None | Unset
55
+ if isinstance(self.next_offset, Unset):
56
+ next_offset = UNSET
57
+ else:
58
+ next_offset = self.next_offset
59
+
60
+ field_dict: dict[str, Any] = {}
61
+ field_dict.update(self.additional_properties)
62
+ field_dict.update(
63
+ {
64
+ "ok": ok,
65
+ "data": data,
66
+ }
67
+ )
68
+ if card_id is not UNSET:
69
+ field_dict["card_id"] = card_id
70
+ if limit is not UNSET:
71
+ field_dict["limit"] = limit
72
+ if offset is not UNSET:
73
+ field_dict["offset"] = offset
74
+ if next_offset is not UNSET:
75
+ field_dict["next_offset"] = next_offset
76
+
77
+ return field_dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
81
+ from ..models.resource import Resource
82
+
83
+ d = dict(src_dict)
84
+ ok = d.pop("ok")
85
+
86
+ data = []
87
+ _data = d.pop("data")
88
+ for data_item_data in _data:
89
+ data_item = Resource.from_dict(data_item_data)
90
+
91
+ data.append(data_item)
92
+
93
+ card_id = d.pop("card_id", UNSET)
94
+
95
+ limit = d.pop("limit", UNSET)
96
+
97
+ offset = d.pop("offset", UNSET)
98
+
99
+ def _parse_next_offset(data: object) -> int | None | Unset:
100
+ if data is None:
101
+ return data
102
+ if isinstance(data, Unset):
103
+ return data
104
+ return cast(int | None | Unset, data)
105
+
106
+ next_offset = _parse_next_offset(d.pop("next_offset", UNSET))
107
+
108
+ resource_list_response = cls(
109
+ ok=ok,
110
+ data=data,
111
+ card_id=card_id,
112
+ limit=limit,
113
+ offset=offset,
114
+ next_offset=next_offset,
115
+ )
116
+
117
+ resource_list_response.additional_properties = d
118
+ return resource_list_response
119
+
120
+ @property
121
+ def additional_keys(self) -> list[str]:
122
+ return list(self.additional_properties.keys())
123
+
124
+ def __getitem__(self, key: str) -> Any:
125
+ return self.additional_properties[key]
126
+
127
+ def __setitem__(self, key: str, value: Any) -> None:
128
+ self.additional_properties[key] = value
129
+
130
+ def __delitem__(self, key: str) -> None:
131
+ del self.additional_properties[key]
132
+
133
+ def __contains__(self, key: str) -> bool:
134
+ return key in self.additional_properties
@@ -0,0 +1,55 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from typing_extensions import Self
9
+
10
+ T = TypeVar("T", bound="ResourceMetadata")
11
+
12
+
13
+ @_attrs_define
14
+ class ResourceMetadata:
15
+ """Permissive metadata map. Repeated and custom values are preserved in order."""
16
+
17
+ additional_properties: dict[str, list[str]] = _attrs_field(init=False, factory=dict)
18
+
19
+ def to_dict(self) -> dict[str, Any]:
20
+
21
+ field_dict: dict[str, Any] = {}
22
+ for prop_name, prop in self.additional_properties.items():
23
+ field_dict[prop_name] = prop
24
+
25
+ return field_dict
26
+
27
+ @classmethod
28
+ def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
29
+ d = dict(src_dict)
30
+ resource_metadata = cls()
31
+
32
+ additional_properties = {}
33
+ for prop_name, prop_dict in d.items():
34
+ additional_property = cast(list[str], prop_dict)
35
+
36
+ additional_properties[prop_name] = additional_property
37
+
38
+ resource_metadata.additional_properties = additional_properties
39
+ return resource_metadata
40
+
41
+ @property
42
+ def additional_keys(self) -> list[str]:
43
+ return list(self.additional_properties.keys())
44
+
45
+ def __getitem__(self, key: str) -> list[str]:
46
+ return self.additional_properties[key]
47
+
48
+ def __setitem__(self, key: str, value: list[str]) -> None:
49
+ self.additional_properties[key] = value
50
+
51
+ def __delitem__(self, key: str) -> None:
52
+ del self.additional_properties[key]
53
+
54
+ def __contains__(self, key: str) -> bool:
55
+ return key in self.additional_properties
@@ -0,0 +1,76 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from typing_extensions import Self
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.resource import Resource
12
+
13
+
14
+ T = TypeVar("T", bound="ResourceResponse")
15
+
16
+
17
+ @_attrs_define
18
+ class ResourceResponse:
19
+ """
20
+ Attributes:
21
+ ok (bool):
22
+ data (Resource):
23
+ """
24
+
25
+ ok: bool
26
+ data: Resource
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> dict[str, Any]:
30
+ ok = self.ok
31
+
32
+ data = self.data.to_dict()
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+ field_dict.update(
37
+ {
38
+ "ok": ok,
39
+ "data": data,
40
+ }
41
+ )
42
+
43
+ return field_dict
44
+
45
+ @classmethod
46
+ def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
47
+ from ..models.resource import Resource
48
+
49
+ d = dict(src_dict)
50
+ ok = d.pop("ok")
51
+
52
+ data = Resource.from_dict(d.pop("data"))
53
+
54
+ resource_response = cls(
55
+ ok=ok,
56
+ data=data,
57
+ )
58
+
59
+ resource_response.additional_properties = d
60
+ return resource_response
61
+
62
+ @property
63
+ def additional_keys(self) -> list[str]:
64
+ return list(self.additional_properties.keys())
65
+
66
+ def __getitem__(self, key: str) -> Any:
67
+ return self.additional_properties[key]
68
+
69
+ def __setitem__(self, key: str, value: Any) -> None:
70
+ self.additional_properties[key] = value
71
+
72
+ def __delitem__(self, key: str) -> None:
73
+ del self.additional_properties[key]
74
+
75
+ def __contains__(self, key: str) -> bool:
76
+ return key in self.additional_properties
@@ -0,0 +1,102 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from typing_extensions import Self
9
+
10
+ from ..types import UNSET, Unset
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.resource_metadata import ResourceMetadata
14
+
15
+
16
+ T = TypeVar("T", bound="ResourceUpdateRequest")
17
+
18
+
19
+ @_attrs_define
20
+ class ResourceUpdateRequest:
21
+ """
22
+ Attributes:
23
+ type_ (str | Unset):
24
+ label (str | Unset):
25
+ metadata (ResourceMetadata | Unset): Permissive metadata map. Repeated and custom values are preserved in order.
26
+ updated_at (int | Unset):
27
+ """
28
+
29
+ type_: str | Unset = UNSET
30
+ label: str | Unset = UNSET
31
+ metadata: ResourceMetadata | Unset = UNSET
32
+ updated_at: int | Unset = UNSET
33
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
34
+
35
+ def to_dict(self) -> dict[str, Any]:
36
+ type_ = self.type_
37
+
38
+ label = self.label
39
+
40
+ metadata: dict[str, Any] | Unset = UNSET
41
+ if not isinstance(self.metadata, Unset):
42
+ metadata = self.metadata.to_dict()
43
+
44
+ updated_at = self.updated_at
45
+
46
+ field_dict: dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update({})
49
+ if type_ is not UNSET:
50
+ field_dict["type"] = type_
51
+ if label is not UNSET:
52
+ field_dict["label"] = label
53
+ if metadata is not UNSET:
54
+ field_dict["metadata"] = metadata
55
+ if updated_at is not UNSET:
56
+ field_dict["updated_at"] = updated_at
57
+
58
+ return field_dict
59
+
60
+ @classmethod
61
+ def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
62
+ from ..models.resource_metadata import ResourceMetadata
63
+
64
+ d = dict(src_dict)
65
+ type_ = d.pop("type", UNSET)
66
+
67
+ label = d.pop("label", UNSET)
68
+
69
+ _metadata = d.pop("metadata", UNSET)
70
+ metadata: ResourceMetadata | Unset
71
+ if isinstance(_metadata, Unset):
72
+ metadata = UNSET
73
+ else:
74
+ metadata = ResourceMetadata.from_dict(_metadata)
75
+
76
+ updated_at = d.pop("updated_at", UNSET)
77
+
78
+ resource_update_request = cls(
79
+ type_=type_,
80
+ label=label,
81
+ metadata=metadata,
82
+ updated_at=updated_at,
83
+ )
84
+
85
+ resource_update_request.additional_properties = d
86
+ return resource_update_request
87
+
88
+ @property
89
+ def additional_keys(self) -> list[str]:
90
+ return list(self.additional_properties.keys())
91
+
92
+ def __getitem__(self, key: str) -> Any:
93
+ return self.additional_properties[key]
94
+
95
+ def __setitem__(self, key: str, value: Any) -> None:
96
+ self.additional_properties[key] = value
97
+
98
+ def __delitem__(self, key: str) -> None:
99
+ del self.additional_properties[key]
100
+
101
+ def __contains__(self, key: str) -> bool:
102
+ return key in self.additional_properties
@@ -0,0 +1,220 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from typing_extensions import Self
9
+
10
+ from ..types import UNSET, Unset
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.ai_local_model_config_data import AiLocalModelConfigData
14
+ from ..models.caste_info import CasteInfo
15
+ from ..models.caste_recommended_model import CasteRecommendedModel
16
+ from ..models.local_model import LocalModel
17
+
18
+
19
+ T = TypeVar("T", bound="RunnerCapabilitiesData")
20
+
21
+
22
+ @_attrs_define
23
+ class RunnerCapabilitiesData:
24
+ """
25
+ Attributes:
26
+ runner_available (bool):
27
+ last_checked (int):
28
+ local_model_config (AiLocalModelConfigData):
29
+ models (list[LocalModel]):
30
+ recommended_models (list[CasteRecommendedModel]):
31
+ recommended_install (list[CasteRecommendedModel]):
32
+ spawn_attempted (bool | Unset):
33
+ version (str | Unset):
34
+ error (None | str | Unset):
35
+ caste (CasteInfo | None | Unset):
36
+ """
37
+
38
+ runner_available: bool
39
+ last_checked: int
40
+ local_model_config: AiLocalModelConfigData
41
+ models: list[LocalModel]
42
+ recommended_models: list[CasteRecommendedModel]
43
+ recommended_install: list[CasteRecommendedModel]
44
+ spawn_attempted: bool | Unset = UNSET
45
+ version: str | Unset = UNSET
46
+ error: None | str | Unset = UNSET
47
+ caste: CasteInfo | None | Unset = UNSET
48
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
49
+
50
+ def to_dict(self) -> dict[str, Any]:
51
+ from ..models.caste_info import CasteInfo
52
+
53
+ runner_available = self.runner_available
54
+
55
+ last_checked = self.last_checked
56
+
57
+ local_model_config = self.local_model_config.to_dict()
58
+
59
+ models = []
60
+ for models_item_data in self.models:
61
+ models_item = models_item_data.to_dict()
62
+ models.append(models_item)
63
+
64
+ recommended_models = []
65
+ for recommended_models_item_data in self.recommended_models:
66
+ recommended_models_item = recommended_models_item_data.to_dict()
67
+ recommended_models.append(recommended_models_item)
68
+
69
+ recommended_install = []
70
+ for recommended_install_item_data in self.recommended_install:
71
+ recommended_install_item = recommended_install_item_data.to_dict()
72
+ recommended_install.append(recommended_install_item)
73
+
74
+ spawn_attempted = self.spawn_attempted
75
+
76
+ version = self.version
77
+
78
+ error: None | str | Unset
79
+ if isinstance(self.error, Unset):
80
+ error = UNSET
81
+ else:
82
+ error = self.error
83
+
84
+ caste: dict[str, Any] | None | Unset
85
+ if isinstance(self.caste, Unset):
86
+ caste = UNSET
87
+ elif isinstance(self.caste, CasteInfo):
88
+ caste = self.caste.to_dict()
89
+ else:
90
+ caste = self.caste
91
+
92
+ field_dict: dict[str, Any] = {}
93
+ field_dict.update(self.additional_properties)
94
+ field_dict.update(
95
+ {
96
+ "runner_available": runner_available,
97
+ "last_checked": last_checked,
98
+ "local_model_config": local_model_config,
99
+ "models": models,
100
+ "recommended_models": recommended_models,
101
+ "recommended_install": recommended_install,
102
+ }
103
+ )
104
+ if spawn_attempted is not UNSET:
105
+ field_dict["spawn_attempted"] = spawn_attempted
106
+ if version is not UNSET:
107
+ field_dict["version"] = version
108
+ if error is not UNSET:
109
+ field_dict["error"] = error
110
+ if caste is not UNSET:
111
+ field_dict["caste"] = caste
112
+
113
+ return field_dict
114
+
115
+ @classmethod
116
+ def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
117
+ from ..models.ai_local_model_config_data import (
118
+ AiLocalModelConfigData,
119
+ )
120
+ from ..models.caste_info import CasteInfo
121
+ from ..models.caste_recommended_model import (
122
+ CasteRecommendedModel,
123
+ )
124
+ from ..models.local_model import LocalModel
125
+
126
+ d = dict(src_dict)
127
+ runner_available = d.pop("runner_available")
128
+
129
+ last_checked = d.pop("last_checked")
130
+
131
+ local_model_config = AiLocalModelConfigData.from_dict(
132
+ d.pop("local_model_config")
133
+ )
134
+
135
+ models = []
136
+ _models = d.pop("models")
137
+ for models_item_data in _models:
138
+ models_item = LocalModel.from_dict(models_item_data)
139
+
140
+ models.append(models_item)
141
+
142
+ recommended_models = []
143
+ _recommended_models = d.pop("recommended_models")
144
+ for recommended_models_item_data in _recommended_models:
145
+ recommended_models_item = CasteRecommendedModel.from_dict(
146
+ recommended_models_item_data
147
+ )
148
+
149
+ recommended_models.append(recommended_models_item)
150
+
151
+ recommended_install = []
152
+ _recommended_install = d.pop("recommended_install")
153
+ for recommended_install_item_data in _recommended_install:
154
+ recommended_install_item = CasteRecommendedModel.from_dict(
155
+ recommended_install_item_data
156
+ )
157
+
158
+ recommended_install.append(recommended_install_item)
159
+
160
+ spawn_attempted = d.pop("spawn_attempted", UNSET)
161
+
162
+ version = d.pop("version", UNSET)
163
+
164
+ def _parse_error(data: object) -> None | str | Unset:
165
+ if data is None:
166
+ return data
167
+ if isinstance(data, Unset):
168
+ return data
169
+ return cast(None | str | Unset, data)
170
+
171
+ error = _parse_error(d.pop("error", UNSET))
172
+
173
+ def _parse_caste(data: object) -> CasteInfo | None | Unset:
174
+ if data is None:
175
+ return data
176
+ if isinstance(data, Unset):
177
+ return data
178
+ try:
179
+ if not isinstance(data, dict):
180
+ raise TypeError()
181
+ caste_type_1 = CasteInfo.from_dict(data)
182
+
183
+ return caste_type_1
184
+ except (TypeError, ValueError, AttributeError, KeyError):
185
+ pass
186
+ return cast(CasteInfo | None | Unset, data)
187
+
188
+ caste = _parse_caste(d.pop("caste", UNSET))
189
+
190
+ runner_capabilities_data = cls(
191
+ runner_available=runner_available,
192
+ last_checked=last_checked,
193
+ local_model_config=local_model_config,
194
+ models=models,
195
+ recommended_models=recommended_models,
196
+ recommended_install=recommended_install,
197
+ spawn_attempted=spawn_attempted,
198
+ version=version,
199
+ error=error,
200
+ caste=caste,
201
+ )
202
+
203
+ runner_capabilities_data.additional_properties = d
204
+ return runner_capabilities_data
205
+
206
+ @property
207
+ def additional_keys(self) -> list[str]:
208
+ return list(self.additional_properties.keys())
209
+
210
+ def __getitem__(self, key: str) -> Any:
211
+ return self.additional_properties[key]
212
+
213
+ def __setitem__(self, key: str, value: Any) -> None:
214
+ self.additional_properties[key] = value
215
+
216
+ def __delitem__(self, key: str) -> None:
217
+ del self.additional_properties[key]
218
+
219
+ def __contains__(self, key: str) -> bool:
220
+ return key in self.additional_properties
@@ -0,0 +1,78 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from typing_extensions import Self
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.runner_capabilities_data import RunnerCapabilitiesData
12
+
13
+
14
+ T = TypeVar("T", bound="RunnerCapabilitiesResponse")
15
+
16
+
17
+ @_attrs_define
18
+ class RunnerCapabilitiesResponse:
19
+ """
20
+ Attributes:
21
+ ok (bool):
22
+ data (RunnerCapabilitiesData):
23
+ """
24
+
25
+ ok: bool
26
+ data: RunnerCapabilitiesData
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> dict[str, Any]:
30
+ ok = self.ok
31
+
32
+ data = self.data.to_dict()
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+ field_dict.update(
37
+ {
38
+ "ok": ok,
39
+ "data": data,
40
+ }
41
+ )
42
+
43
+ return field_dict
44
+
45
+ @classmethod
46
+ def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
47
+ from ..models.runner_capabilities_data import (
48
+ RunnerCapabilitiesData,
49
+ )
50
+
51
+ d = dict(src_dict)
52
+ ok = d.pop("ok")
53
+
54
+ data = RunnerCapabilitiesData.from_dict(d.pop("data"))
55
+
56
+ runner_capabilities_response = cls(
57
+ ok=ok,
58
+ data=data,
59
+ )
60
+
61
+ runner_capabilities_response.additional_properties = d
62
+ return runner_capabilities_response
63
+
64
+ @property
65
+ def additional_keys(self) -> list[str]:
66
+ return list(self.additional_properties.keys())
67
+
68
+ def __getitem__(self, key: str) -> Any:
69
+ return self.additional_properties[key]
70
+
71
+ def __setitem__(self, key: str, value: Any) -> None:
72
+ self.additional_properties[key] = value
73
+
74
+ def __delitem__(self, key: str) -> None:
75
+ del self.additional_properties[key]
76
+
77
+ def __contains__(self, key: str) -> bool:
78
+ return key in self.additional_properties