From a0b8e0c797cefb995d957523f74563aaeef3a259 Mon Sep 17 00:00:00 2001 From: Tobias Herber <22559657+herber@users.noreply.github.com> Date: Sat, 23 May 2026 09:22:45 +0200 Subject: [PATCH] Sync clients --- .../src/mt_2026_01_01_magnetar/__init__.py | 580 ++++++++++++++- .../endpoints/__init__.py | 142 +++- .../endpoints/agents.py | 71 ++ .../endpoints/agents_instances.py | 70 ++ .../endpoints/assistants.py | 53 ++ .../endpoints/callbacks_instances.py | 16 +- .../endpoints/consumer_providers.py | 14 +- .../endpoints/conversations.py | 97 +++ .../endpoints/conversations_messages.py | 80 ++ .../endpoints/custom_providers.py | 15 +- .../endpoints/custom_providers_versions.py | 15 +- .../endpoints/dashboard_instance_agents.py | 73 ++ .../dashboard_instance_agents_instances.py | 72 ++ .../dashboard_instance_assistants.py | 55 ++ .../dashboard_instance_callbacks_instances.py | 17 +- .../dashboard_instance_conversations.py | 101 +++ ...shboard_instance_conversations_messages.py | 83 +++ .../dashboard_instance_custom_providers.py | 16 +- ...oard_instance_custom_providers_versions.py | 16 +- .../endpoints/dashboard_instance_documents.py | 156 ++++ ...shboard_instance_documents_participants.py | 66 ++ ...ashboard_instance_documents_permissions.py | 22 + .../dashboard_instance_documents_versions.py | 66 ++ .../endpoints/dashboard_instance_files.py | 22 +- ...s.py => dashboard_instance_files_links.py} | 28 +- .../dashboard_instance_integrations.py | 160 ++++ ...d_instance_integrations_instance_groups.py | 220 ++++++ ..._integrations_instance_groups_providers.py | 133 ++++ ...shboard_instance_integrations_instances.py | 240 ++++++ ...stance_integrations_instances_providers.py | 128 ++++ ...shboard_instance_integrations_providers.py | 188 +++++ ...rd_instance_integrations_setup_sessions.py | 116 +++ .../dashboard_instance_magic_mcp_endpoints.py | 25 +- .../dashboard_instance_magic_mcp_servers.py | 10 +- ...rd_instance_magic_mcp_servers_providers.py | 68 +- .../endpoints/dashboard_instance_portals.py | 19 +- .../dashboard_instance_portals_access.py | 161 ++++ ...hboard_instance_portals_access_requests.py | 93 +++ .../dashboard_instance_portals_auth_app.py | 44 ++ ...board_instance_portals_auth_sso_tenants.py | 77 ++ ...ce_portals_auth_sso_tenants_connections.py | 43 ++ ...hboard_instance_portals_consumer_groups.py | 138 ++++ ...board_instance_portals_consumer_invites.py | 88 +++ ...oard_instance_portals_consumer_profiles.py | 130 ++++ .../dashboard_instance_portals_listings.py | 156 ++++ ...tance_provider_deployments_auth_configs.py | 8 +- ...d_instance_provider_deployments_configs.py | 8 +- .../dashboard_instance_provider_templates.py | 29 +- .../endpoints/dashboard_instance_sessions.py | 14 +- ...dashboard_instance_sessions_connections.py | 17 +- ...ashboard_instance_sessions_participants.py | 17 +- .../endpoints/dashboard_instance_skills.py | 283 +++++++ .../dashboard_instance_skills_agents.py | 126 ++++ ...ashboard_instance_skills_configurations.py | 122 +++ .../dashboard_instance_skills_exports.py | 92 +++ .../dashboard_instance_skills_groups.py | 145 ++++ .../dashboard_instance_skills_groups_items.py | 104 +++ .../dashboard_instance_skills_items.py | 104 +++ .../dashboard_instance_skills_marketplaces.py | 159 ++++ ...rd_instance_skills_marketplaces_plugins.py | 116 +++ .../dashboard_instance_skills_participants.py | 57 ++ .../dashboard_instance_skills_plugins.py | 177 +++++ ...ashboard_instance_skills_plugins_skills.py | 168 +++++ .../dashboard_instance_skills_templates.py | 148 ++++ ...shboard_instance_skills_templates_items.py | 86 +++ .../dashboard_instance_skills_versions.py | 57 ++ ...board_instance_skills_versions_snapshot.py | 23 + .../endpoints/dashboard_instance_stores.py | 130 ++++ .../dashboard_instance_stores_items.py | 95 +++ .../dashboard_instance_stores_participants.py | 57 ++ .../dashboard_instance_stores_permissions.py | 22 + .../dashboard_instance_tool_calls.py | 17 +- .../endpoints/documents.py | 150 ++++ .../endpoints/documents_participants.py | 64 ++ .../endpoints/documents_permissions.py | 21 + .../endpoints/documents_versions.py | 64 ++ .../mt_2026_01_01_magnetar/endpoints/files.py | 22 +- .../{file_links.py => files_links.py} | 28 +- .../endpoints/integrations.py | 155 ++++ .../endpoints/integrations_instance_groups.py | 213 ++++++ .../integrations_instance_groups_providers.py | 129 ++++ .../endpoints/integrations_instances.py | 233 ++++++ .../integrations_instances_providers.py | 125 ++++ .../endpoints/integrations_providers.py | 183 +++++ .../endpoints/integrations_setup_sessions.py | 113 +++ .../endpoints/magic_mcp_endpoints.py | 25 +- .../endpoints/magic_mcp_servers.py | 10 +- .../endpoints/magic_mcp_servers_providers.py | 66 +- .../endpoints/management_instance_agents.py | 73 ++ .../management_instance_agents_instances.py | 72 ++ .../management_instance_assistants.py | 55 ++ ...management_instance_callbacks_instances.py | 17 +- .../management_instance_conversations.py | 101 +++ ...agement_instance_conversations_messages.py | 83 +++ .../management_instance_custom_providers.py | 16 +- ...ment_instance_custom_providers_versions.py | 16 +- .../management_instance_documents.py | 156 ++++ ...agement_instance_documents_participants.py | 66 ++ ...nagement_instance_documents_permissions.py | 22 + .../management_instance_documents_versions.py | 66 ++ .../endpoints/management_instance_files.py | 22 +- ....py => management_instance_files_links.py} | 28 +- .../management_instance_integrations.py | 160 ++++ ...t_instance_integrations_instance_groups.py | 220 ++++++ ..._integrations_instance_groups_providers.py | 133 ++++ ...agement_instance_integrations_instances.py | 240 ++++++ ...stance_integrations_instances_providers.py | 128 ++++ ...agement_instance_integrations_providers.py | 188 +++++ ...nt_instance_integrations_setup_sessions.py | 116 +++ ...management_instance_magic_mcp_endpoints.py | 25 +- .../management_instance_magic_mcp_servers.py | 10 +- ...nt_instance_magic_mcp_servers_providers.py | 68 +- .../endpoints/management_instance_portals.py | 19 +- .../management_instance_portals_access.py | 161 ++++ ...gement_instance_portals_access_requests.py | 93 +++ .../management_instance_portals_auth_app.py | 44 ++ ...ement_instance_portals_auth_sso_tenants.py | 77 ++ ...ce_portals_auth_sso_tenants_connections.py | 43 ++ ...gement_instance_portals_consumer_groups.py | 138 ++++ ...ement_instance_portals_consumer_invites.py | 88 +++ ...ment_instance_portals_consumer_profiles.py | 130 ++++ .../management_instance_portals_listings.py | 156 ++++ ...tance_provider_deployments_auth_configs.py | 8 +- ...t_instance_provider_deployments_configs.py | 8 +- .../management_instance_provider_templates.py | 29 +- .../endpoints/management_instance_sessions.py | 14 +- ...anagement_instance_sessions_connections.py | 17 +- ...nagement_instance_sessions_participants.py | 17 +- .../endpoints/management_instance_skills.py | 283 +++++++ .../management_instance_skills_agents.py | 126 ++++ ...nagement_instance_skills_configurations.py | 122 +++ .../management_instance_skills_exports.py | 92 +++ .../management_instance_skills_groups.py | 145 ++++ ...management_instance_skills_groups_items.py | 104 +++ .../management_instance_skills_items.py | 104 +++ ...management_instance_skills_marketplaces.py | 159 ++++ ...nt_instance_skills_marketplaces_plugins.py | 116 +++ ...management_instance_skills_participants.py | 57 ++ .../management_instance_skills_plugins.py | 177 +++++ ...nagement_instance_skills_plugins_skills.py | 168 +++++ .../management_instance_skills_templates.py | 148 ++++ ...agement_instance_skills_templates_items.py | 86 +++ .../management_instance_skills_versions.py | 57 ++ ...ement_instance_skills_versions_snapshot.py | 23 + .../endpoints/management_instance_stores.py | 130 ++++ .../management_instance_stores_items.py | 95 +++ ...management_instance_stores_participants.py | 57 ++ .../management_instance_stores_permissions.py | 22 + .../management_instance_tool_calls.py | 17 +- .../endpoints/portals.py | 19 +- .../endpoints/portals_access.py | 156 ++++ .../endpoints/portals_access_requests.py | 90 +++ .../endpoints/portals_auth_app.py | 42 ++ .../endpoints/portals_auth_sso_tenants.py | 74 ++ .../portals_auth_sso_tenants_connections.py | 42 ++ .../endpoints/portals_consumer_groups.py | 133 ++++ .../endpoints/portals_consumer_invites.py | 85 +++ .../endpoints/portals_consumer_profiles.py | 125 ++++ .../endpoints/portals_listings.py | 151 ++++ .../provider_deployments_auth_configs.py | 8 +- .../endpoints/provider_deployments_configs.py | 8 +- .../endpoints/provider_templates.py | 29 +- .../endpoints/sessions.py | 14 +- .../endpoints/sessions_connections.py | 17 +- .../endpoints/sessions_participants.py | 17 +- .../endpoints/skills.py | 275 +++++++ .../endpoints/skills_agents.py | 121 +++ .../endpoints/skills_configurations.py | 117 +++ .../endpoints/skills_exports.py | 89 +++ .../endpoints/skills_groups.py | 140 ++++ .../endpoints/skills_groups_items.py | 100 +++ .../endpoints/skills_items.py | 100 +++ .../endpoints/skills_marketplaces.py | 153 ++++ .../endpoints/skills_marketplaces_plugins.py | 112 +++ .../endpoints/skills_participants.py | 55 ++ .../endpoints/skills_plugins.py | 171 +++++ .../endpoints/skills_plugins_skills.py | 163 ++++ .../endpoints/skills_templates.py | 143 ++++ .../endpoints/skills_templates_items.py | 82 +++ .../endpoints/skills_versions.py | 55 ++ .../endpoints/skills_versions_snapshot.py | 22 + .../endpoints/stores.py | 125 ++++ .../endpoints/stores_items.py | 92 +++ .../endpoints/stores_participants.py | 55 ++ .../endpoints/stores_permissions.py | 21 + ...t_helpers_consumer_oauth_authorizations.py | 33 + .../endpoints/tool_calls.py | 17 +- .../resources/__init__.py | 9 +- .../resources/agents/__init__.py | 3 + .../resources/agents/get.py | 48 ++ .../resources/agents/instances/__init__.py | 2 + .../resources/agents/instances/get.py | 76 ++ .../resources/agents/instances/list.py | 163 ++++ .../resources/agents/list.py | 137 ++++ .../resources/assistants/__init__.py | 2 + .../resources/assistants/get.py | 152 ++++ .../resources/assistants/list.py | 221 ++++++ .../resources/callbacks/instances/__init__.py | 1 + .../resources/callbacks/instances/get.py | 258 +++++++ .../oauth/authorizations/accept.py | 52 +- .../connect_magic_mcp_endpoint.py | 52 +- .../oauth/authorizations/get.py | 52 +- .../oauth/authorizations/reject.py | 52 +- .../consumer_internal/oauth/clients/get.py | 26 +- .../resources/consumer/profile/get.py | 44 +- .../resources/consumer/providers/deploy.py | 348 ++++++++- .../resources/consumer/providers/get_setup.py | 474 +++--------- .../resources/consumer/providers/setup.py | 474 +++--------- .../resources/consumer_surfaces/get.py | 32 + .../resources/consumer_surfaces/list.py | 32 + .../resources/consumers/create.py | 2 + .../resources/consumers/get.py | 2 + .../consumers/get_member_consumer.py | 34 +- .../resources/consumers/list.py | 2 + .../resources/consumers/profiles/get.py | 44 +- .../resources/consumers/profiles/list.py | 96 +-- .../resources/consumers/update.py | 2 + .../resources/conversations/__init__.py | 5 + .../resources/conversations/create.py | 335 +++++++++ .../resources/conversations/get.py | 312 ++++++++ .../resources/conversations/list.py | 383 ++++++++++ .../conversations/messages/__init__.py | 3 + .../conversations/messages/create.py | 291 ++++++++ .../resources/conversations/messages/get.py | 248 +++++++ .../resources/conversations/messages/list.py | 317 ++++++++ .../resources/conversations/update.py | 333 +++++++++ .../resources/custom_providers/__init__.py | 1 + .../resources/custom_providers/get_env.py | 28 + .../custom_providers/versions/__init__.py | 1 + .../custom_providers/versions/get_env.py | 28 + .../resources/dashboard/instance/__init__.py | 8 +- .../dashboard/instance/agents/__init__.py | 3 + .../dashboard/instance/agents/get.py | 48 ++ .../instance/agents/instances/__init__.py | 2 + .../instance/agents/instances/get.py | 76 ++ .../instance/agents/instances/list.py | 163 ++++ .../dashboard/instance/agents/list.py | 137 ++++ .../dashboard/instance/assistants/__init__.py | 2 + .../dashboard/instance/assistants/get.py | 152 ++++ .../dashboard/instance/assistants/list.py | 221 ++++++ .../instance/callbacks/instances/__init__.py | 1 + .../instance/callbacks/instances/get.py | 258 +++++++ .../instance/consumer_surfaces/get.py | 32 + .../instance/consumer_surfaces/list.py | 32 + .../dashboard/instance/consumers/create.py | 2 + .../dashboard/instance/consumers/get.py | 2 + .../instance/consumers/get_member_consumer.py | 34 +- .../dashboard/instance/consumers/list.py | 2 + .../instance/consumers/profiles/get.py | 44 +- .../instance/consumers/profiles/list.py | 96 +-- .../dashboard/instance/consumers/update.py | 2 + .../instance/conversations/__init__.py | 5 + .../instance/conversations/create.py | 335 +++++++++ .../dashboard/instance/conversations/get.py | 312 ++++++++ .../dashboard/instance/conversations/list.py | 383 ++++++++++ .../conversations/messages/__init__.py | 3 + .../instance/conversations/messages/create.py | 291 ++++++++ .../instance/conversations/messages/get.py | 248 +++++++ .../instance/conversations/messages/list.py | 317 ++++++++ .../instance/conversations/update.py | 333 +++++++++ .../instance/custom_providers/__init__.py | 1 + .../instance/custom_providers/get_env.py | 28 + .../custom_providers/versions/__init__.py | 1 + .../custom_providers/versions/get_env.py | 28 + .../dashboard/instance/documents/__init__.py | 9 + .../dashboard/instance/documents/clone.py | 191 +++++ .../dashboard/instance/documents/create.py | 191 +++++ .../dashboard/instance/documents/delete.py | 168 +++++ .../dashboard/instance/documents/get.py | 168 +++++ .../dashboard/instance/documents/list.py | 257 +++++++ .../documents/participants/__init__.py | 2 + .../instance/documents/participants/get.py | 162 ++++ .../instance/documents/participants/list.py | 245 ++++++ .../documents/permissions/__init__.py | 1 + .../instance/documents/permissions/get.py | 40 + .../dashboard/instance/documents/update.py | 191 +++++ .../instance/documents/versions/__init__.py | 2 + .../instance/documents/versions/get.py | 164 +++++ .../instance/documents/versions/list.py | 247 +++++++ .../dashboard/instance/files/__init__.py | 1 + .../dashboard/instance/files/delete.py | 124 +++- .../resources/dashboard/instance/files/get.py | 124 +++- .../{file_links => files/links}/__init__.py | 0 .../{file_links => files/links}/create.py | 20 +- .../{file_links => files/links}/delete.py | 10 +- .../{file_links => files/links}/get.py | 10 +- .../instance/files/links}/list.py | 48 +- .../dashboard/instance/files/list.py | 148 +++- .../instance/integrations/__init__.py | 9 + .../dashboard/instance/integrations/create.py | 185 +++++ .../dashboard/instance/integrations/delete.py | 154 ++++ .../dashboard/instance/integrations/get.py | 154 ++++ .../integrations/instance_groups/__init__.py | 8 + .../integrations/instance_groups/create.py | 161 ++++ .../instance_groups/create_session.py | 257 +++++++ .../create_session_template.py | 201 +++++ .../integrations/instance_groups/delete.py | 114 +++ .../integrations/instance_groups/get.py | 114 +++ .../integrations/instance_groups/list.py | 217 ++++++ .../instance_groups/providers/__init__.py | 4 + .../instance_groups/providers/delete.py | 56 ++ .../instance_groups/providers/get.py | 56 ++ .../instance_groups/providers/list.py | 161 ++++ .../instance_groups/providers/set.py | 77 ++ .../integrations/instance_groups/update.py | 161 ++++ .../integrations/instances/__init__.py | 8 + .../instance/integrations/instances/create.py | 383 ++++++++++ .../integrations/instances/create_session.py | 257 +++++++ .../instances/create_session_template.py | 201 +++++ .../instance/integrations/instances/delete.py | 324 ++++++++ .../instance/integrations/instances/get.py | 324 ++++++++ .../instance/integrations/instances/list.py | 431 +++++++++++ .../instances/providers/__init__.py | 3 + .../integrations/instances/providers/get.py | 260 +++++++ .../integrations/instances/providers/list.py | 363 +++++++++ .../integrations/instances/providers/set.py | 289 ++++++++ .../instance/integrations/instances/update.py | 381 ++++++++++ .../dashboard/instance/integrations/list.py | 245 ++++++ .../integrations/providers/__init__.py | 5 + .../instance/integrations/providers/create.py | 129 ++++ .../instance/integrations/providers/delete.py | 90 +++ .../instance/integrations/providers/get.py | 90 +++ .../instance/integrations/providers/list.py | 189 +++++ .../instance/integrations/providers/update.py | 125 ++++ .../integrations/setup_sessions/__init__.py | 3 + .../integrations/setup_sessions/create.py | 539 ++++++++++++++ .../integrations/setup_sessions/get.py | 368 ++++++++++ .../integrations/setup_sessions/list.py | 457 ++++++++++++ .../dashboard/instance/integrations/update.py | 185 +++++ .../magic_mcp_endpoints/add_servers.py | 22 +- .../instance/magic_mcp_endpoints/create.py | 24 +- .../instance/magic_mcp_endpoints/delete.py | 6 - .../instance/magic_mcp_endpoints/get.py | 6 - .../instance/magic_mcp_endpoints/list.py | 6 - .../magic_mcp_endpoints/remove_servers.py | 6 - .../instance/magic_mcp_endpoints/update.py | 6 - .../instance/magic_mcp_servers/create.py | 344 ++++++++- .../instance/magic_mcp_servers/delete.py | 342 ++++++++- .../instance/magic_mcp_servers/get.py | 342 ++++++++- .../instance/magic_mcp_servers/list.py | 342 ++++++++- .../magic_mcp_servers/providers/create.py | 228 +++++- .../magic_mcp_servers/providers/delete.py | 224 +++++- .../magic_mcp_servers/providers/get.py | 224 +++++- .../magic_mcp_servers/providers/list.py | 228 +++++- .../magic_mcp_servers/providers/update.py | 230 +++++- .../instance/magic_mcp_servers/update.py | 346 ++++++++- .../instance/magic_mcp_sessions/get.py | 348 ++++++++- .../instance/magic_mcp_sessions/list.py | 348 ++++++++- .../dashboard/instance/portals/__init__.py | 7 + .../instance/portals/access/__init__.py | 5 + .../instance/portals/access/create.py | 105 +++ .../instance/portals/access/delete.py | 76 ++ .../dashboard/instance/portals/access/get.py | 76 ++ .../dashboard/instance/portals/access/list.py | 165 +++++ .../instance/portals/access/update.py | 101 +++ .../portals/access_requests/__init__.py | 3 + .../instance/portals/access_requests/get.py | 68 ++ .../instance/portals/access_requests/list.py | 143 ++++ .../portals/access_requests/update.py | 93 +++ .../instance/portals/auth/__init__.py | 2 + .../instance/portals/auth/app/__init__.py | 2 + .../instance/portals/auth/app/get.py | 36 + .../instance/portals/auth/app/update.py | 57 ++ .../portals/auth/sso_tenants/__init__.py | 4 + .../auth/sso_tenants/connections/__init__.py | 1 + .../auth/sso_tenants/connections/list.py | 105 +++ .../portals/auth/sso_tenants/create.py | 79 ++ .../instance/portals/auth/sso_tenants/list.py | 127 ++++ .../portals/auth/sso_tenants/setup.py | 28 + .../portals/consumer_groups/__init__.py | 5 + .../portals/consumer_groups/create.py | 69 ++ .../portals/consumer_groups/delete.py | 42 ++ .../instance/portals/consumer_groups/get.py | 42 ++ .../instance/portals/consumer_groups/list.py | 115 +++ .../portals/consumer_groups/update.py | 69 ++ .../portals/consumer_invites/__init__.py | 3 + .../portals/consumer_invites/create.py | 117 +++ .../instance/portals/consumer_invites/get.py | 92 +++ .../instance/portals/consumer_invites/list.py | 165 +++++ .../portals/consumer_profiles/__init__.py | 5 + .../consumer_profiles/assign_groups.py | 81 ++ .../portals/consumer_profiles/create.py | 83 +++ .../instance/portals/consumer_profiles/get.py | 60 ++ .../portals/consumer_profiles/list.py | 83 +++ .../consumer_profiles/unassign_groups.py | 81 ++ .../dashboard/instance/portals/create.py | 40 +- .../dashboard/instance/portals/delete.py | 34 + .../dashboard/instance/portals/get.py | 34 + .../dashboard/instance/portals/list.py | 34 + .../instance/portals/listings/__init__.py | 5 + .../instance/portals/listings/create.py | 93 +++ .../instance/portals/listings/delete.py | 66 ++ .../instance/portals/listings/get.py | 66 ++ .../instance/portals/listings/list.py | 153 ++++ .../instance/portals/listings/update.py | 91 +++ .../dashboard/instance/portals/update.py | 64 +- .../provider_deployments/auth_configs/list.py | 4 + .../provider_deployments/configs/list.py | 4 + .../instance/provider_templates/create.py | 45 +- .../instance/provider_templates/delete.py | 6 +- .../instance/provider_templates/get.py | 6 +- .../instance/provider_templates/list.py | 10 +- .../instance/provider_templates/update.py | 44 +- .../instance/session_templates/create.py | 8 + .../instance/session_templates/delete.py | 8 + .../instance/session_templates/get.py | 8 + .../instance/session_templates/list.py | 8 + .../instance/session_templates/update.py | 8 + .../instance/sessions/connections/get.py | 16 + .../instance/sessions/connections/list.py | 26 + .../dashboard/instance/sessions/create.py | 4 + .../dashboard/instance/sessions/delete.py | 4 + .../dashboard/instance/sessions/events/get.py | 188 +++++ .../instance/sessions/events/list.py | 188 +++++ .../dashboard/instance/sessions/get.py | 4 + .../dashboard/instance/sessions/list.py | 12 + .../instance/sessions/messages/get.py | 172 +++++ .../instance/sessions/messages/list.py | 172 +++++ .../instance/sessions/participants/get.py | 16 + .../instance/sessions/participants/list.py | 26 + .../dashboard/instance/sessions/update.py | 4 + .../dashboard/instance/skills/__init__.py | 18 + .../instance/skills/agents/__init__.py | 5 + .../instance/skills/agents/create.py | 77 ++ .../instance/skills/agents/delete.py | 52 ++ .../dashboard/instance/skills/agents/get.py | 52 ++ .../dashboard/instance/skills/agents/list.py | 123 ++++ .../instance/skills/agents/update.py | 75 ++ .../skills/configurations/__init__.py | 5 + .../instance/skills/configurations/create.py | 67 ++ .../instance/skills/configurations/delete.py | 42 ++ .../instance/skills/configurations/get.py | 42 ++ .../instance/skills/configurations/list.py | 111 +++ .../instance/skills/configurations/update.py | 67 ++ .../dashboard/instance/skills/create.py | 641 ++++++++++++++++ .../dashboard/instance/skills/delete.py | 602 +++++++++++++++ .../dashboard/instance/skills/duplicate.py | 637 ++++++++++++++++ .../instance/skills/exports/__init__.py | 3 + .../instance/skills/exports/create.py | 381 ++++++++++ .../dashboard/instance/skills/exports/get.py | 354 +++++++++ .../dashboard/instance/skills/exports/list.py | 429 +++++++++++ .../dashboard/instance/skills/fork.py | 639 ++++++++++++++++ .../dashboard/instance/skills/get.py | 602 +++++++++++++++ .../instance/skills/groups/__init__.py | 6 + .../instance/skills/groups/create.py | 115 +++ .../instance/skills/groups/delete.py | 88 +++ .../dashboard/instance/skills/groups/get.py | 88 +++ .../instance/skills/groups/items}/__init__.py | 0 .../instance/skills/groups/items/create.py | 103 +++ .../instance/skills/groups/items/delete.py | 82 +++ .../instance/skills/groups/items/get.py | 82 +++ .../instance/skills/groups/items/list.py | 163 ++++ .../dashboard/instance/skills/groups/list.py | 177 +++++ .../instance/skills/groups/update.py | 115 +++ .../instance/skills/items}/__init__.py | 0 .../dashboard/instance/skills/items/create.py | 145 ++++ .../dashboard/instance/skills/items/delete.py | 128 ++++ .../dashboard/instance/skills/items/get.py | 128 ++++ .../dashboard/instance/skills/items/list.py | 213 ++++++ .../dashboard/instance/skills/list.py | 695 ++++++++++++++++++ .../instance/skills/marketplaces/__init__.py | 7 + .../instance/skills/marketplaces/archive.py | 170 +++++ .../instance/skills/marketplaces/create.py | 197 +++++ .../instance/skills/marketplaces/get.py | 170 +++++ .../instance/skills/marketplaces/list.py | 259 +++++++ .../skills/marketplaces/plugins/__init__.py | 4 + .../skills/marketplaces/plugins/add.py | 155 ++++ .../skills/marketplaces/plugins/get.py | 130 ++++ .../skills/marketplaces/plugins/list.py | 219 ++++++ .../skills/marketplaces/plugins/remove.py | 130 ++++ .../instance/skills/marketplaces/sync.py | 191 +++++ .../instance/skills/marketplaces/update.py | 197 +++++ .../instance/skills/participants/__init__.py | 2 + .../instance/skills/participants/get.py | 160 ++++ .../instance/skills/participants/list.py | 229 ++++++ .../instance/skills/plugins/__init__.py | 7 + .../instance/skills/plugins/archive.py | 94 +++ .../instance/skills/plugins/create.py | 125 ++++ .../dashboard/instance/skills/plugins/get.py | 94 +++ .../dashboard/instance/skills/plugins/list.py | 187 +++++ .../skills/plugins/skills/__init__.py | 5 + .../instance/skills/plugins/skills/add.py | 85 +++ .../instance/skills/plugins/skills/get.py | 50 ++ .../instance/skills/plugins/skills/list.py | 139 ++++ .../instance/skills/plugins/skills/remove.py | 50 ++ .../instance/skills/plugins/skills/update.py | 81 ++ .../dashboard/instance/skills/plugins/sync.py | 115 +++ .../instance/skills/plugins/update.py | 125 ++++ .../instance/skills/publish_consumer_skill.py | 602 +++++++++++++++ .../instance/skills/templates/__init__.py | 6 + .../instance/skills/templates/create.py | 193 +++++ .../instance/skills/templates/delete.py | 166 +++++ .../instance/skills/templates/get.py | 166 +++++ .../skills/templates/items/__init__.py | 4 + .../instance/skills/templates/items/create.py | 143 ++++ .../instance/skills/templates/items/delete.py | 126 ++++ .../instance/skills/templates/items/get.py | 126 ++++ .../instance/skills/templates/items/list.py | 195 +++++ .../instance/skills/templates/list.py | 259 +++++++ .../instance/skills/templates/update.py | 191 +++++ .../dashboard/instance/skills/update.py | 639 ++++++++++++++++ .../instance/skills/versions/__init__.py | 3 + .../dashboard/instance/skills/versions/get.py | 38 + .../instance/skills/versions/list.py | 107 +++ .../skills/versions/snapshot/__init__.py | 1 + .../instance/skills/versions/snapshot/get.py | 74 ++ .../dashboard/instance/stores/__init__.py | 8 + .../dashboard/instance/stores/create.py | 65 ++ .../dashboard/instance/stores/delete.py | 38 + .../dashboard/instance/stores/get.py | 38 + .../instance/stores/items/__init__.py | 3 + .../dashboard/instance/stores/items/get.py | 364 +++++++++ .../dashboard/instance/stores/items/list.py | 453 ++++++++++++ .../dashboard/instance/stores/items/modify.py | 431 +++++++++++ .../dashboard/instance/stores/list.py | 121 +++ .../instance/stores/participants/__init__.py | 2 + .../instance/stores/participants/get.py | 158 ++++ .../instance/stores/participants/list.py | 227 ++++++ .../instance/stores/permissions/__init__.py | 1 + .../instance/stores/permissions/get.py | 38 + .../dashboard/instance/stores/update.py | 61 ++ .../dashboard/instance/tool_calls/create.py | 140 ++++ .../dashboard/instance/tool_calls/get.py | 140 ++++ .../dashboard/instance/tool_calls/list.py | 150 ++++ .../resources/documents/__init__.py | 9 + .../resources/documents/clone.py | 191 +++++ .../resources/documents/create.py | 191 +++++ .../resources/documents/delete.py | 168 +++++ .../resources/documents/get.py | 168 +++++ .../resources/documents/list.py | 257 +++++++ .../documents/participants/__init__.py | 2 + .../resources/documents/participants/get.py | 162 ++++ .../resources/documents/participants/list.py | 245 ++++++ .../documents/permissions/__init__.py | 1 + .../resources/documents/permissions/get.py | 40 + .../resources/documents/update.py | 191 +++++ .../resources/documents/versions/__init__.py | 2 + .../resources/documents/versions/get.py | 164 +++++ .../resources/documents/versions/list.py | 247 +++++++ .../resources/files/__init__.py | 1 + .../resources/files/delete.py | 124 +++- .../resources/files/get.py | 124 +++- .../resources/files/links/__init__.py | 4 + .../{file_links => files/links}/create.py | 20 +- .../{file_links => files/links}/delete.py | 10 +- .../{file_links => files/links}/get.py | 10 +- .../{file_links => files/links}/list.py | 48 +- .../resources/files/list.py | 148 +++- .../resources/integrations/__init__.py | 9 + .../resources/integrations/create.py | 185 +++++ .../resources/integrations/delete.py | 154 ++++ .../resources/integrations/get.py | 154 ++++ .../integrations/instance_groups/__init__.py | 8 + .../integrations/instance_groups/create.py | 161 ++++ .../instance_groups/create_session.py | 257 +++++++ .../create_session_template.py | 201 +++++ .../integrations/instance_groups/delete.py | 114 +++ .../integrations/instance_groups/get.py | 114 +++ .../integrations/instance_groups/list.py | 217 ++++++ .../instance_groups/providers/__init__.py | 4 + .../instance_groups/providers/delete.py | 56 ++ .../instance_groups/providers/get.py | 56 ++ .../instance_groups/providers/list.py | 161 ++++ .../instance_groups/providers/set.py | 77 ++ .../integrations/instance_groups/update.py | 161 ++++ .../integrations/instances/__init__.py | 8 + .../integrations/instances/create.py | 383 ++++++++++ .../integrations/instances/create_session.py | 257 +++++++ .../instances/create_session_template.py | 201 +++++ .../integrations/instances/delete.py | 324 ++++++++ .../resources/integrations/instances/get.py | 324 ++++++++ .../resources/integrations/instances/list.py | 431 +++++++++++ .../instances/providers/__init__.py | 3 + .../integrations/instances/providers/get.py | 260 +++++++ .../integrations/instances/providers/list.py | 363 +++++++++ .../integrations/instances/providers/set.py | 289 ++++++++ .../integrations/instances/update.py | 381 ++++++++++ .../resources/integrations/list.py | 245 ++++++ .../integrations/providers/__init__.py | 5 + .../integrations/providers/create.py | 129 ++++ .../integrations/providers/delete.py | 90 +++ .../resources/integrations/providers/get.py | 90 +++ .../resources/integrations/providers/list.py | 189 +++++ .../integrations/providers/update.py | 125 ++++ .../integrations/setup_sessions/__init__.py | 3 + .../integrations/setup_sessions/create.py | 539 ++++++++++++++ .../integrations/setup_sessions/get.py | 368 ++++++++++ .../integrations/setup_sessions/list.py | 457 ++++++++++++ .../resources/integrations/update.py | 185 +++++ .../magic_mcp_endpoints/add_servers.py | 22 +- .../resources/magic_mcp_endpoints/create.py | 24 +- .../resources/magic_mcp_endpoints/delete.py | 6 - .../resources/magic_mcp_endpoints/get.py | 6 - .../resources/magic_mcp_endpoints/list.py | 6 - .../magic_mcp_endpoints/remove_servers.py | 6 - .../resources/magic_mcp_endpoints/update.py | 6 - .../resources/magic_mcp_servers/create.py | 344 ++++++++- .../resources/magic_mcp_servers/delete.py | 342 ++++++++- .../resources/magic_mcp_servers/get.py | 342 ++++++++- .../resources/magic_mcp_servers/list.py | 342 ++++++++- .../magic_mcp_servers/providers/create.py | 228 +++++- .../magic_mcp_servers/providers/delete.py | 224 +++++- .../magic_mcp_servers/providers/get.py | 224 +++++- .../magic_mcp_servers/providers/list.py | 228 +++++- .../magic_mcp_servers/providers/update.py | 230 +++++- .../resources/magic_mcp_servers/update.py | 346 ++++++++- .../resources/magic_mcp_sessions/get.py | 348 ++++++++- .../resources/magic_mcp_sessions/list.py | 348 ++++++++- .../resources/management/instance/__init__.py | 8 +- .../management/instance/agents/__init__.py | 3 + .../management/instance/agents/get.py | 48 ++ .../instance/agents/instances/__init__.py | 2 + .../instance/agents/instances/get.py | 76 ++ .../instance/agents/instances/list.py | 163 ++++ .../management/instance/agents/list.py | 137 ++++ .../instance/assistants/__init__.py | 2 + .../management/instance/assistants/get.py | 152 ++++ .../management/instance/assistants/list.py | 221 ++++++ .../instance/callbacks/instances/__init__.py | 1 + .../instance/callbacks/instances/get.py | 258 +++++++ .../instance/consumer_surfaces/get.py | 32 + .../instance/consumer_surfaces/list.py | 32 + .../management/instance/consumers/create.py | 2 + .../management/instance/consumers/get.py | 2 + .../instance/consumers/get_member_consumer.py | 34 +- .../management/instance/consumers/list.py | 2 + .../instance/consumers/profiles/get.py | 44 +- .../instance/consumers/profiles/list.py | 96 +-- .../management/instance/consumers/update.py | 2 + .../instance/conversations/__init__.py | 5 + .../instance/conversations/create.py | 335 +++++++++ .../management/instance/conversations/get.py | 312 ++++++++ .../management/instance/conversations/list.py | 383 ++++++++++ .../conversations/messages/__init__.py | 3 + .../instance/conversations/messages/create.py | 291 ++++++++ .../instance/conversations/messages/get.py | 248 +++++++ .../instance/conversations/messages/list.py | 317 ++++++++ .../instance/conversations/update.py | 333 +++++++++ .../instance/custom_providers/__init__.py | 1 + .../instance/custom_providers/get_env.py | 28 + .../custom_providers/versions/__init__.py | 1 + .../custom_providers/versions/get_env.py | 28 + .../management/instance/documents/__init__.py | 9 + .../management/instance/documents/clone.py | 191 +++++ .../management/instance/documents/create.py | 191 +++++ .../management/instance/documents/delete.py | 168 +++++ .../management/instance/documents/get.py | 168 +++++ .../management/instance/documents/list.py | 257 +++++++ .../documents/participants/__init__.py | 2 + .../instance/documents/participants/get.py | 162 ++++ .../instance/documents/participants/list.py | 245 ++++++ .../documents/permissions/__init__.py | 1 + .../instance/documents/permissions/get.py | 40 + .../management/instance/documents/update.py | 191 +++++ .../instance/documents/versions/__init__.py | 2 + .../instance/documents/versions/get.py | 164 +++++ .../instance/documents/versions/list.py | 247 +++++++ .../management/instance/files/__init__.py | 1 + .../management/instance/files/delete.py | 124 +++- .../management/instance/files/get.py | 124 +++- .../instance/files/links/__init__.py | 4 + .../{file_links => files/links}/create.py | 20 +- .../{file_links => files/links}/delete.py | 10 +- .../{file_links => files/links}/get.py | 10 +- .../instance/files/links}/list.py | 48 +- .../management/instance/files/list.py | 148 +++- .../instance/integrations/__init__.py | 9 + .../instance/integrations/create.py | 185 +++++ .../instance/integrations/delete.py | 154 ++++ .../management/instance/integrations/get.py | 154 ++++ .../integrations/instance_groups/__init__.py | 8 + .../integrations/instance_groups/create.py | 161 ++++ .../instance_groups/create_session.py | 257 +++++++ .../create_session_template.py | 201 +++++ .../integrations/instance_groups/delete.py | 114 +++ .../integrations/instance_groups/get.py | 114 +++ .../integrations/instance_groups/list.py | 217 ++++++ .../instance_groups/providers/__init__.py | 4 + .../instance_groups/providers/delete.py | 56 ++ .../instance_groups/providers/get.py | 56 ++ .../instance_groups/providers/list.py | 161 ++++ .../instance_groups/providers/set.py | 77 ++ .../integrations/instance_groups/update.py | 161 ++++ .../integrations/instances/__init__.py | 8 + .../instance/integrations/instances/create.py | 383 ++++++++++ .../integrations/instances/create_session.py | 257 +++++++ .../instances/create_session_template.py | 201 +++++ .../instance/integrations/instances/delete.py | 324 ++++++++ .../instance/integrations/instances/get.py | 324 ++++++++ .../instance/integrations/instances/list.py | 431 +++++++++++ .../instances/providers/__init__.py | 3 + .../integrations/instances/providers/get.py | 260 +++++++ .../integrations/instances/providers/list.py | 363 +++++++++ .../integrations/instances/providers/set.py | 289 ++++++++ .../instance/integrations/instances/update.py | 381 ++++++++++ .../management/instance/integrations/list.py | 245 ++++++ .../integrations/providers/__init__.py | 5 + .../instance/integrations/providers/create.py | 129 ++++ .../instance/integrations/providers/delete.py | 90 +++ .../instance/integrations/providers/get.py | 90 +++ .../instance/integrations/providers/list.py | 189 +++++ .../instance/integrations/providers/update.py | 125 ++++ .../integrations/setup_sessions/__init__.py | 3 + .../integrations/setup_sessions/create.py | 539 ++++++++++++++ .../integrations/setup_sessions/get.py | 368 ++++++++++ .../integrations/setup_sessions/list.py | 457 ++++++++++++ .../instance/integrations/update.py | 185 +++++ .../magic_mcp_endpoints/add_servers.py | 22 +- .../instance/magic_mcp_endpoints/create.py | 24 +- .../instance/magic_mcp_endpoints/delete.py | 6 - .../instance/magic_mcp_endpoints/get.py | 6 - .../instance/magic_mcp_endpoints/list.py | 6 - .../magic_mcp_endpoints/remove_servers.py | 6 - .../instance/magic_mcp_endpoints/update.py | 6 - .../instance/magic_mcp_servers/create.py | 344 ++++++++- .../instance/magic_mcp_servers/delete.py | 342 ++++++++- .../instance/magic_mcp_servers/get.py | 342 ++++++++- .../instance/magic_mcp_servers/list.py | 342 ++++++++- .../magic_mcp_servers/providers/create.py | 228 +++++- .../magic_mcp_servers/providers/delete.py | 224 +++++- .../magic_mcp_servers/providers/get.py | 224 +++++- .../magic_mcp_servers/providers/list.py | 228 +++++- .../magic_mcp_servers/providers/update.py | 230 +++++- .../instance/magic_mcp_servers/update.py | 346 ++++++++- .../instance/magic_mcp_sessions/get.py | 348 ++++++++- .../instance/magic_mcp_sessions/list.py | 348 ++++++++- .../management/instance/portals/__init__.py | 7 + .../instance/portals/access/__init__.py | 5 + .../instance/portals/access/create.py | 105 +++ .../instance/portals/access/delete.py | 76 ++ .../management/instance/portals/access/get.py | 76 ++ .../instance/portals/access/list.py | 165 +++++ .../instance/portals/access/update.py | 101 +++ .../portals/access_requests/__init__.py | 3 + .../instance/portals/access_requests/get.py | 68 ++ .../instance/portals/access_requests/list.py | 143 ++++ .../portals/access_requests/update.py | 93 +++ .../instance/portals/auth/__init__.py | 2 + .../instance/portals/auth/app/__init__.py | 2 + .../instance/portals/auth/app/get.py | 36 + .../instance/portals/auth/app/update.py | 57 ++ .../portals/auth/sso_tenants/__init__.py | 4 + .../auth/sso_tenants/connections/__init__.py | 1 + .../auth/sso_tenants/connections/list.py | 105 +++ .../portals/auth/sso_tenants/create.py | 79 ++ .../instance/portals/auth/sso_tenants/list.py | 127 ++++ .../portals/auth/sso_tenants/setup.py | 28 + .../portals/consumer_groups/__init__.py | 5 + .../portals/consumer_groups/create.py | 69 ++ .../portals/consumer_groups/delete.py | 42 ++ .../instance/portals/consumer_groups/get.py | 42 ++ .../instance/portals/consumer_groups/list.py | 115 +++ .../portals/consumer_groups/update.py | 69 ++ .../portals/consumer_invites/__init__.py | 3 + .../portals/consumer_invites/create.py | 117 +++ .../instance/portals/consumer_invites/get.py | 92 +++ .../instance/portals/consumer_invites/list.py | 165 +++++ .../portals/consumer_profiles/__init__.py | 5 + .../consumer_profiles/assign_groups.py | 81 ++ .../portals/consumer_profiles/create.py | 83 +++ .../instance/portals/consumer_profiles/get.py | 60 ++ .../portals/consumer_profiles/list.py | 83 +++ .../consumer_profiles/unassign_groups.py | 81 ++ .../management/instance/portals/create.py | 40 +- .../management/instance/portals/delete.py | 34 + .../management/instance/portals/get.py | 34 + .../management/instance/portals/list.py | 34 + .../instance/portals/listings/__init__.py | 5 + .../instance/portals/listings/create.py | 93 +++ .../instance/portals/listings/delete.py | 66 ++ .../instance/portals/listings/get.py | 66 ++ .../instance/portals/listings/list.py | 153 ++++ .../instance/portals/listings/update.py | 91 +++ .../management/instance/portals/update.py | 64 +- .../provider_deployments/auth_configs/list.py | 4 + .../provider_deployments/configs/list.py | 4 + .../instance/provider_templates/create.py | 45 +- .../instance/provider_templates/delete.py | 6 +- .../instance/provider_templates/get.py | 6 +- .../instance/provider_templates/list.py | 10 +- .../instance/provider_templates/update.py | 44 +- .../instance/session_templates/create.py | 8 + .../instance/session_templates/delete.py | 8 + .../instance/session_templates/get.py | 8 + .../instance/session_templates/list.py | 8 + .../instance/session_templates/update.py | 8 + .../instance/sessions/connections/get.py | 16 + .../instance/sessions/connections/list.py | 26 + .../management/instance/sessions/create.py | 4 + .../management/instance/sessions/delete.py | 4 + .../instance/sessions/events/get.py | 188 +++++ .../instance/sessions/events/list.py | 188 +++++ .../management/instance/sessions/get.py | 4 + .../management/instance/sessions/list.py | 12 + .../instance/sessions/messages/get.py | 172 +++++ .../instance/sessions/messages/list.py | 172 +++++ .../instance/sessions/participants/get.py | 16 + .../instance/sessions/participants/list.py | 26 + .../management/instance/sessions/update.py | 4 + .../management/instance/skills/__init__.py | 18 + .../instance/skills/agents/__init__.py | 5 + .../instance/skills/agents/create.py | 77 ++ .../instance/skills/agents/delete.py | 52 ++ .../management/instance/skills/agents/get.py | 52 ++ .../management/instance/skills/agents/list.py | 123 ++++ .../instance/skills/agents/update.py | 75 ++ .../skills/configurations/__init__.py | 5 + .../instance/skills/configurations/create.py | 67 ++ .../instance/skills/configurations/delete.py | 42 ++ .../instance/skills/configurations/get.py | 42 ++ .../instance/skills/configurations/list.py | 111 +++ .../instance/skills/configurations/update.py | 67 ++ .../management/instance/skills/create.py | 641 ++++++++++++++++ .../management/instance/skills/delete.py | 602 +++++++++++++++ .../management/instance/skills/duplicate.py | 637 ++++++++++++++++ .../instance/skills/exports/__init__.py | 3 + .../instance/skills/exports/create.py | 381 ++++++++++ .../management/instance/skills/exports/get.py | 354 +++++++++ .../instance/skills/exports/list.py | 429 +++++++++++ .../management/instance/skills/fork.py | 639 ++++++++++++++++ .../management/instance/skills/get.py | 602 +++++++++++++++ .../instance/skills/groups/__init__.py | 6 + .../instance/skills/groups/create.py | 115 +++ .../instance/skills/groups/delete.py | 88 +++ .../management/instance/skills/groups/get.py | 88 +++ .../instance/skills/groups/items/__init__.py | 4 + .../instance/skills/groups/items/create.py | 103 +++ .../instance/skills/groups/items/delete.py | 82 +++ .../instance/skills/groups/items/get.py | 82 +++ .../instance/skills/groups/items/list.py | 163 ++++ .../management/instance/skills/groups/list.py | 177 +++++ .../instance/skills/groups/update.py | 115 +++ .../instance/skills/items/__init__.py | 4 + .../instance/skills/items/create.py | 145 ++++ .../instance/skills/items/delete.py | 128 ++++ .../management/instance/skills/items/get.py | 128 ++++ .../management/instance/skills/items/list.py | 213 ++++++ .../management/instance/skills/list.py | 695 ++++++++++++++++++ .../instance/skills/marketplaces/__init__.py | 7 + .../instance/skills/marketplaces/archive.py | 170 +++++ .../instance/skills/marketplaces/create.py | 197 +++++ .../instance/skills/marketplaces/get.py | 170 +++++ .../instance/skills/marketplaces/list.py | 259 +++++++ .../skills/marketplaces/plugins/__init__.py | 4 + .../skills/marketplaces/plugins/add.py | 155 ++++ .../skills/marketplaces/plugins/get.py | 130 ++++ .../skills/marketplaces/plugins/list.py | 219 ++++++ .../skills/marketplaces/plugins/remove.py | 130 ++++ .../instance/skills/marketplaces/sync.py | 191 +++++ .../instance/skills/marketplaces/update.py | 197 +++++ .../instance/skills/participants/__init__.py | 2 + .../instance/skills/participants/get.py | 160 ++++ .../instance/skills/participants/list.py | 229 ++++++ .../instance/skills/plugins/__init__.py | 7 + .../instance/skills/plugins/archive.py | 94 +++ .../instance/skills/plugins/create.py | 125 ++++ .../management/instance/skills/plugins/get.py | 94 +++ .../instance/skills/plugins/list.py | 187 +++++ .../skills/plugins/skills/__init__.py | 5 + .../instance/skills/plugins/skills/add.py | 85 +++ .../instance/skills/plugins/skills/get.py | 50 ++ .../instance/skills/plugins/skills/list.py | 139 ++++ .../instance/skills/plugins/skills/remove.py | 50 ++ .../instance/skills/plugins/skills/update.py | 81 ++ .../instance/skills/plugins/sync.py | 115 +++ .../instance/skills/plugins/update.py | 125 ++++ .../instance/skills/publish_consumer_skill.py | 602 +++++++++++++++ .../instance/skills/templates/__init__.py | 6 + .../instance/skills/templates/create.py | 193 +++++ .../instance/skills/templates/delete.py | 166 +++++ .../instance/skills/templates/get.py | 166 +++++ .../skills/templates/items/__init__.py | 4 + .../instance/skills/templates/items/create.py | 143 ++++ .../instance/skills/templates/items/delete.py | 126 ++++ .../instance/skills/templates/items/get.py | 126 ++++ .../instance/skills/templates/items/list.py | 195 +++++ .../instance/skills/templates/list.py | 259 +++++++ .../instance/skills/templates/update.py | 191 +++++ .../management/instance/skills/update.py | 639 ++++++++++++++++ .../instance/skills/versions/__init__.py | 3 + .../instance/skills/versions/get.py | 38 + .../instance/skills/versions/list.py | 107 +++ .../skills/versions/snapshot/__init__.py | 1 + .../instance/skills/versions/snapshot/get.py | 74 ++ .../management/instance/stores/__init__.py | 8 + .../management/instance/stores/create.py | 65 ++ .../management/instance/stores/delete.py | 38 + .../management/instance/stores/get.py | 38 + .../instance/stores/items/__init__.py | 3 + .../management/instance/stores/items/get.py | 364 +++++++++ .../management/instance/stores/items/list.py | 453 ++++++++++++ .../instance/stores/items/modify.py | 431 +++++++++++ .../management/instance/stores/list.py | 121 +++ .../instance/stores/participants/__init__.py | 2 + .../instance/stores/participants/get.py | 158 ++++ .../instance/stores/participants/list.py | 227 ++++++ .../instance/stores/permissions/__init__.py | 1 + .../instance/stores/permissions/get.py | 38 + .../management/instance/stores/update.py | 61 ++ .../management/instance/tool_calls/create.py | 140 ++++ .../management/instance/tool_calls/get.py | 140 ++++ .../management/instance/tool_calls/list.py | 150 ++++ .../resources/portals/__init__.py | 7 + .../resources/portals/access/__init__.py | 5 + .../resources/portals/access/create.py | 105 +++ .../resources/portals/access/delete.py | 76 ++ .../resources/portals/access/get.py | 76 ++ .../resources/portals/access/list.py | 165 +++++ .../resources/portals/access/update.py | 101 +++ .../portals/access_requests/__init__.py | 3 + .../resources/portals/access_requests/get.py | 68 ++ .../resources/portals/access_requests/list.py | 143 ++++ .../portals/access_requests/update.py | 93 +++ .../resources/portals/auth/__init__.py | 2 + .../resources/portals/auth/app/__init__.py | 2 + .../resources/portals/auth/app/get.py | 36 + .../resources/portals/auth/app/update.py | 57 ++ .../portals/auth/sso_tenants/__init__.py | 4 + .../auth/sso_tenants/connections/__init__.py | 1 + .../auth/sso_tenants/connections/list.py | 105 +++ .../portals/auth/sso_tenants/create.py | 79 ++ .../portals/auth/sso_tenants/list.py | 127 ++++ .../portals/auth/sso_tenants/setup.py | 28 + .../portals/consumer_groups/__init__.py | 5 + .../portals/consumer_groups/create.py | 69 ++ .../portals/consumer_groups/delete.py | 42 ++ .../resources/portals/consumer_groups/get.py | 42 ++ .../resources/portals/consumer_groups/list.py | 115 +++ .../portals/consumer_groups/update.py | 69 ++ .../portals/consumer_invites/__init__.py | 3 + .../portals/consumer_invites/create.py | 117 +++ .../resources/portals/consumer_invites/get.py | 92 +++ .../portals/consumer_invites/list.py | 165 +++++ .../portals/consumer_profiles/__init__.py | 5 + .../consumer_profiles/assign_groups.py | 81 ++ .../portals/consumer_profiles/create.py | 83 +++ .../portals/consumer_profiles/get.py | 60 ++ .../portals/consumer_profiles/list.py | 83 +++ .../consumer_profiles/unassign_groups.py | 81 ++ .../resources/portals/create.py | 40 +- .../resources/portals/delete.py | 34 + .../resources/portals/get.py | 34 + .../resources/portals/list.py | 34 + .../resources/portals/listings/__init__.py | 5 + .../resources/portals/listings/create.py | 93 +++ .../resources/portals/listings/delete.py | 66 ++ .../resources/portals/listings/get.py | 66 ++ .../resources/portals/listings/list.py | 153 ++++ .../resources/portals/listings/update.py | 91 +++ .../resources/portals/update.py | 64 +- .../provider_deployments/auth_configs/list.py | 4 + .../provider_deployments/configs/list.py | 4 + .../resources/provider_templates/create.py | 45 +- .../resources/provider_templates/delete.py | 6 +- .../resources/provider_templates/get.py | 6 +- .../resources/provider_templates/list.py | 10 +- .../resources/provider_templates/update.py | 44 +- .../resources/session_templates/create.py | 8 + .../resources/session_templates/delete.py | 8 + .../resources/session_templates/get.py | 8 + .../resources/session_templates/list.py | 8 + .../resources/session_templates/update.py | 8 + .../resources/sessions/connections/get.py | 16 + .../resources/sessions/connections/list.py | 26 + .../resources/sessions/create.py | 4 + .../resources/sessions/delete.py | 4 + .../resources/sessions/events/get.py | 188 +++++ .../resources/sessions/events/list.py | 188 +++++ .../resources/sessions/get.py | 4 + .../resources/sessions/list.py | 12 + .../resources/sessions/messages/get.py | 172 +++++ .../resources/sessions/messages/list.py | 172 +++++ .../resources/sessions/participants/get.py | 16 + .../resources/sessions/participants/list.py | 26 + .../resources/sessions/update.py | 4 + .../resources/skills/__init__.py | 18 + .../resources/skills/agents/__init__.py | 5 + .../resources/skills/agents/create.py | 77 ++ .../resources/skills/agents/delete.py | 52 ++ .../resources/skills/agents/get.py | 52 ++ .../resources/skills/agents/list.py | 123 ++++ .../resources/skills/agents/update.py | 75 ++ .../skills/configurations/__init__.py | 5 + .../resources/skills/configurations/create.py | 67 ++ .../resources/skills/configurations/delete.py | 42 ++ .../resources/skills/configurations/get.py | 42 ++ .../resources/skills/configurations/list.py | 111 +++ .../resources/skills/configurations/update.py | 67 ++ .../resources/skills/create.py | 641 ++++++++++++++++ .../resources/skills/delete.py | 602 +++++++++++++++ .../resources/skills/duplicate.py | 637 ++++++++++++++++ .../resources/skills/exports/__init__.py | 3 + .../resources/skills/exports/create.py | 381 ++++++++++ .../resources/skills/exports/get.py | 354 +++++++++ .../resources/skills/exports/list.py | 429 +++++++++++ .../resources/skills/fork.py | 639 ++++++++++++++++ .../resources/skills/get.py | 602 +++++++++++++++ .../resources/skills/groups/__init__.py | 6 + .../resources/skills/groups/create.py | 115 +++ .../resources/skills/groups/delete.py | 88 +++ .../resources/skills/groups/get.py | 88 +++ .../resources/skills/groups/items/__init__.py | 4 + .../resources/skills/groups/items/create.py | 103 +++ .../resources/skills/groups/items/delete.py | 82 +++ .../resources/skills/groups/items/get.py | 82 +++ .../resources/skills/groups/items/list.py | 163 ++++ .../resources/skills/groups/list.py | 177 +++++ .../resources/skills/groups/update.py | 115 +++ .../resources/skills/items/__init__.py | 4 + .../resources/skills/items/create.py | 145 ++++ .../resources/skills/items/delete.py | 128 ++++ .../resources/skills/items/get.py | 128 ++++ .../resources/skills/items/list.py | 213 ++++++ .../resources/skills/list.py | 695 ++++++++++++++++++ .../resources/skills/marketplaces/__init__.py | 7 + .../resources/skills/marketplaces/archive.py | 170 +++++ .../resources/skills/marketplaces/create.py | 197 +++++ .../resources/skills/marketplaces/get.py | 170 +++++ .../resources/skills/marketplaces/list.py | 259 +++++++ .../skills/marketplaces/plugins/__init__.py | 4 + .../skills/marketplaces/plugins/add.py | 155 ++++ .../skills/marketplaces/plugins/get.py | 130 ++++ .../skills/marketplaces/plugins/list.py | 219 ++++++ .../skills/marketplaces/plugins/remove.py | 130 ++++ .../resources/skills/marketplaces/sync.py | 191 +++++ .../resources/skills/marketplaces/update.py | 197 +++++ .../resources/skills/participants/__init__.py | 2 + .../resources/skills/participants/get.py | 160 ++++ .../resources/skills/participants/list.py | 229 ++++++ .../resources/skills/plugins/__init__.py | 7 + .../resources/skills/plugins/archive.py | 94 +++ .../resources/skills/plugins/create.py | 125 ++++ .../resources/skills/plugins/get.py | 94 +++ .../resources/skills/plugins/list.py | 187 +++++ .../skills/plugins/skills/__init__.py | 5 + .../resources/skills/plugins/skills/add.py | 85 +++ .../resources/skills/plugins/skills/get.py | 50 ++ .../resources/skills/plugins/skills/list.py | 139 ++++ .../resources/skills/plugins/skills/remove.py | 50 ++ .../resources/skills/plugins/skills/update.py | 81 ++ .../resources/skills/plugins/sync.py | 115 +++ .../resources/skills/plugins/update.py | 125 ++++ .../skills/publish_consumer_skill.py | 602 +++++++++++++++ .../resources/skills/templates/__init__.py | 6 + .../resources/skills/templates/create.py | 193 +++++ .../resources/skills/templates/delete.py | 166 +++++ .../resources/skills/templates/get.py | 166 +++++ .../skills/templates/items/__init__.py | 4 + .../skills/templates/items/create.py | 143 ++++ .../skills/templates/items/delete.py | 126 ++++ .../resources/skills/templates/items/get.py | 126 ++++ .../resources/skills/templates/items/list.py | 195 +++++ .../resources/skills/templates/list.py | 259 +++++++ .../resources/skills/templates/update.py | 191 +++++ .../resources/skills/update.py | 639 ++++++++++++++++ .../resources/skills/versions/__init__.py | 3 + .../resources/skills/versions/get.py | 38 + .../resources/skills/versions/list.py | 107 +++ .../skills/versions/snapshot/__init__.py | 1 + .../resources/skills/versions/snapshot/get.py | 74 ++ .../resources/stores/__init__.py | 8 + .../resources/stores/create.py | 65 ++ .../resources/stores/delete.py | 38 + .../resources/stores/get.py | 38 + .../resources/stores/items/__init__.py | 3 + .../resources/stores/items/get.py | 364 +++++++++ .../resources/stores/items/list.py | 453 ++++++++++++ .../resources/stores/items/modify.py | 431 +++++++++++ .../resources/stores/list.py | 121 +++ .../resources/stores/participants/__init__.py | 2 + .../resources/stores/participants/get.py | 158 ++++ .../resources/stores/participants/list.py | 227 ++++++ .../resources/stores/permissions/__init__.py | 1 + .../resources/stores/permissions/get.py | 38 + .../resources/stores/update.py | 61 ++ .../resources/test_helpers/__init__.py | 1 + .../test_helpers/consumer_oauth/__init__.py | 1 + .../consumer_oauth/authorizations/__init__.py | 1 + .../consumer_oauth/authorizations/create.py | 61 ++ .../resources/tool_calls/create.py | 140 ++++ .../resources/tool_calls/get.py | 140 ++++ .../resources/tool_calls/list.py | 150 ++++ 1082 files changed, 129483 insertions(+), 2278 deletions(-) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/agents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/agents_instances.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/assistants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/conversations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/conversations_messages.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_agents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_agents_instances.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_assistants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_conversations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_conversations_messages.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_permissions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_versions.py rename src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/{dashboard_instance_file_links.py => dashboard_instance_files_links.py} (74%) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instance_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instance_groups_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instances.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instances_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_setup_sessions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_access.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_access_requests.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_app.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_sso_tenants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_sso_tenants_connections.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_invites.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_profiles.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_listings.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_agents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_configurations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_exports.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_groups_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_marketplaces.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_marketplaces_plugins.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_plugins.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_plugins_skills.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_versions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_versions_snapshot.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_permissions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_permissions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_versions.py rename src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/{file_links.py => files_links.py} (71%) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instance_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instance_groups_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instances.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instances_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_setup_sessions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_agents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_agents_instances.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_assistants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_conversations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_conversations_messages.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_permissions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_versions.py rename src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/{management_instance_file_links.py => management_instance_files_links.py} (73%) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instance_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instance_groups_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instances.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instances_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_providers.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_setup_sessions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_access.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_access_requests.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_app.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_sso_tenants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_sso_tenants_connections.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_invites.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_profiles.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_listings.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_agents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_configurations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_exports.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_groups_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_marketplaces.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_marketplaces_plugins.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_plugins.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_plugins_skills.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_versions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_versions_snapshot.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_permissions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_access.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_access_requests.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_app.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_sso_tenants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_sso_tenants_connections.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_invites.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_profiles.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_listings.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_agents.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_configurations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_exports.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_groups_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_marketplaces.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_marketplaces_plugins.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_plugins.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_plugins_skills.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_templates.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_templates_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_versions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_versions_snapshot.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_items.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_participants.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_permissions.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/test_helpers_consumer_oauth_authorizations.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/callbacks/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/get_env.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/versions/get_env.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/callbacks/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/get_env.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/versions/get_env.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/clone.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/permissions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/permissions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/list.py rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/{file_links => files/links}/__init__.py (100%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/{file_links => files/links}/create.py (72%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/{file_links => files/links}/delete.py (76%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/{file_links => files/links}/get.py (77%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/{management/instance/file_links => dashboard/instance/files/links}/list.py (62%) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create_session.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create_session_template.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/set.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create_session.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create_session_template.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/set.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/connections/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/connections/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/setup.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/assign_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/unassign_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/duplicate.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/fork.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/get.py rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/{file_links => dashboard/instance/skills/groups/items}/__init__.py (100%) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/update.py rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/{management/instance/file_links => dashboard/instance/skills/items}/__init__.py (100%) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/archive.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/add.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/remove.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/sync.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/archive.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/add.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/remove.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/sync.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/publish_consumer_skill.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/snapshot/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/snapshot/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/modify.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/permissions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/permissions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/clone.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/permissions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/permissions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/__init__.py rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/{file_links => files/links}/create.py (71%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/{file_links => files/links}/delete.py (76%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/{file_links => files/links}/get.py (77%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/{file_links => files/links}/list.py (60%) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create_session.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create_session_template.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/set.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create_session.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create_session_template.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/set.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/callbacks/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/get_env.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/versions/get_env.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/clone.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/permissions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/permissions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/__init__.py rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/{file_links => files/links}/create.py (71%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/{file_links => files/links}/delete.py (76%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/{file_links => files/links}/get.py (77%) rename src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/{dashboard/instance/file_links => management/instance/files/links}/list.py (53%) create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create_session.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create_session_template.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/set.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create_session.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create_session_template.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/set.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/connections/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/connections/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/setup.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/assign_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/unassign_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/duplicate.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/fork.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/archive.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/add.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/remove.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/sync.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/archive.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/add.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/remove.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/sync.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/publish_consumer_skill.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/snapshot/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/snapshot/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/modify.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/permissions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/permissions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/connections/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/connections/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/setup.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/assign_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/unassign_groups.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/duplicate.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/fork.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/archive.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/add.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/remove.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/sync.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/archive.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/add.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/remove.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/sync.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/publish_consumer_skill.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/snapshot/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/snapshot/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/create.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/delete.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/modify.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/list.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/permissions/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/permissions/get.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/update.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/authorizations/__init__.py create mode 100644 src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/authorizations/create.py diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/__init__.py index e028cfa5..c96e0a8b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/__init__.py @@ -29,6 +29,15 @@ # ConsumerProvidersSetupOutput # ConsumerSessionGetOutput # ConsumerSessionLogoutOutput +# DashboardInstanceAgentsGetOutput +# DashboardInstanceAgentsInstancesGetOutput +# DashboardInstanceAgentsInstancesListOutput +# DashboardInstanceAgentsInstancesListQuery +# DashboardInstanceAgentsListOutput +# DashboardInstanceAgentsListQuery +# DashboardInstanceAssistantsGetOutput +# DashboardInstanceAssistantsListOutput +# DashboardInstanceAssistantsListQuery # DashboardInstanceCallbacksCreateBody # DashboardInstanceCallbacksCreateOutput # DashboardInstanceCallbacksDeleteOutput @@ -47,6 +56,7 @@ # DashboardInstanceCallbacksInstancesCreateBody # DashboardInstanceCallbacksInstancesCreateOutput # DashboardInstanceCallbacksInstancesDeleteOutput +# DashboardInstanceCallbacksInstancesGetOutput # DashboardInstanceCallbacksInstancesListOutput # DashboardInstanceCallbacksInstancesListQuery # DashboardInstanceCallbacksListOutput @@ -71,6 +81,18 @@ # DashboardInstanceConsumersProfilesListQuery # DashboardInstanceConsumersUpdateBody # DashboardInstanceConsumersUpdateOutput +# DashboardInstanceConversationsCreateBody +# DashboardInstanceConversationsCreateOutput +# DashboardInstanceConversationsGetOutput +# DashboardInstanceConversationsListOutput +# DashboardInstanceConversationsListQuery +# DashboardInstanceConversationsMessagesCreateBody +# DashboardInstanceConversationsMessagesCreateOutput +# DashboardInstanceConversationsMessagesGetOutput +# DashboardInstanceConversationsMessagesListOutput +# DashboardInstanceConversationsMessagesListQuery +# DashboardInstanceConversationsUpdateBody +# DashboardInstanceConversationsUpdateOutput # DashboardInstanceCustomProvidersCommitsCreateBody # DashboardInstanceCustomProvidersCommitsCreateOutput # DashboardInstanceCustomProvidersCommitsGetOutput @@ -85,6 +107,7 @@ # DashboardInstanceCustomProvidersEnvironmentsGetOutput # DashboardInstanceCustomProvidersEnvironmentsListOutput # DashboardInstanceCustomProvidersEnvironmentsListQuery +# DashboardInstanceCustomProvidersGetEnvOutput # DashboardInstanceCustomProvidersGetOutput # DashboardInstanceCustomProvidersListOutput # DashboardInstanceCustomProvidersListQuery @@ -92,17 +115,35 @@ # DashboardInstanceCustomProvidersUpdateOutput # DashboardInstanceCustomProvidersVersionsCreateBody # DashboardInstanceCustomProvidersVersionsCreateOutput +# DashboardInstanceCustomProvidersVersionsGetEnvOutput # DashboardInstanceCustomProvidersVersionsGetOutput # DashboardInstanceCustomProvidersVersionsListOutput # DashboardInstanceCustomProvidersVersionsListQuery -# DashboardInstanceFileLinksCreateBody -# DashboardInstanceFileLinksCreateOutput -# DashboardInstanceFileLinksDeleteOutput -# DashboardInstanceFileLinksGetOutput -# DashboardInstanceFileLinksListOutput -# DashboardInstanceFileLinksListQuery +# DashboardInstanceDocumentsCloneBody +# DashboardInstanceDocumentsCloneOutput +# DashboardInstanceDocumentsCreateBody +# DashboardInstanceDocumentsCreateOutput +# DashboardInstanceDocumentsDeleteOutput +# DashboardInstanceDocumentsGetOutput +# DashboardInstanceDocumentsListOutput +# DashboardInstanceDocumentsListQuery +# DashboardInstanceDocumentsParticipantsGetOutput +# DashboardInstanceDocumentsParticipantsListOutput +# DashboardInstanceDocumentsParticipantsListQuery +# DashboardInstanceDocumentsPermissionsGetOutput +# DashboardInstanceDocumentsUpdateBody +# DashboardInstanceDocumentsUpdateOutput +# DashboardInstanceDocumentsVersionsGetOutput +# DashboardInstanceDocumentsVersionsListOutput +# DashboardInstanceDocumentsVersionsListQuery # DashboardInstanceFilesDeleteOutput # DashboardInstanceFilesGetOutput +# DashboardInstanceFilesLinksCreateBody +# DashboardInstanceFilesLinksCreateOutput +# DashboardInstanceFilesLinksDeleteOutput +# DashboardInstanceFilesLinksGetOutput +# DashboardInstanceFilesLinksListOutput +# DashboardInstanceFilesLinksListQuery # DashboardInstanceFilesListOutput # DashboardInstanceFilesListQuery # DashboardInstanceIdentitiesCreateBody @@ -154,6 +195,62 @@ # DashboardInstanceIdentityActorsUpdateBody # DashboardInstanceIdentityActorsUpdateOutput # DashboardInstanceInstanceGetOutput +# DashboardInstanceIntegrationsCreateBody +# DashboardInstanceIntegrationsCreateOutput +# DashboardInstanceIntegrationsDeleteOutput +# DashboardInstanceIntegrationsGetOutput +# DashboardInstanceIntegrationsInstanceGroupsCreateBody +# DashboardInstanceIntegrationsInstanceGroupsCreateOutput +# DashboardInstanceIntegrationsInstanceGroupsCreateSessionBody +# DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput +# DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody +# DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput +# DashboardInstanceIntegrationsInstanceGroupsDeleteOutput +# DashboardInstanceIntegrationsInstanceGroupsGetOutput +# DashboardInstanceIntegrationsInstanceGroupsListOutput +# DashboardInstanceIntegrationsInstanceGroupsListQuery +# DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput +# DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput +# DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput +# DashboardInstanceIntegrationsInstanceGroupsProvidersListQuery +# DashboardInstanceIntegrationsInstanceGroupsProvidersSetBody +# DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput +# DashboardInstanceIntegrationsInstanceGroupsUpdateBody +# DashboardInstanceIntegrationsInstanceGroupsUpdateOutput +# DashboardInstanceIntegrationsInstancesCreateBody +# DashboardInstanceIntegrationsInstancesCreateOutput +# DashboardInstanceIntegrationsInstancesCreateSessionBody +# DashboardInstanceIntegrationsInstancesCreateSessionOutput +# DashboardInstanceIntegrationsInstancesCreateSessionTemplateBody +# DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput +# DashboardInstanceIntegrationsInstancesDeleteOutput +# DashboardInstanceIntegrationsInstancesGetOutput +# DashboardInstanceIntegrationsInstancesListOutput +# DashboardInstanceIntegrationsInstancesListQuery +# DashboardInstanceIntegrationsInstancesProvidersGetOutput +# DashboardInstanceIntegrationsInstancesProvidersListOutput +# DashboardInstanceIntegrationsInstancesProvidersListQuery +# DashboardInstanceIntegrationsInstancesProvidersSetBody +# DashboardInstanceIntegrationsInstancesProvidersSetOutput +# DashboardInstanceIntegrationsInstancesUpdateBody +# DashboardInstanceIntegrationsInstancesUpdateOutput +# DashboardInstanceIntegrationsListOutput +# DashboardInstanceIntegrationsListQuery +# DashboardInstanceIntegrationsProvidersCreateBody +# DashboardInstanceIntegrationsProvidersCreateOutput +# DashboardInstanceIntegrationsProvidersDeleteOutput +# DashboardInstanceIntegrationsProvidersGetOutput +# DashboardInstanceIntegrationsProvidersListOutput +# DashboardInstanceIntegrationsProvidersListQuery +# DashboardInstanceIntegrationsProvidersUpdateBody +# DashboardInstanceIntegrationsProvidersUpdateOutput +# DashboardInstanceIntegrationsSetupSessionsCreateBody +# DashboardInstanceIntegrationsSetupSessionsCreateOutput +# DashboardInstanceIntegrationsSetupSessionsGetOutput +# DashboardInstanceIntegrationsSetupSessionsListOutput +# DashboardInstanceIntegrationsSetupSessionsListQuery +# DashboardInstanceIntegrationsUpdateBody +# DashboardInstanceIntegrationsUpdateOutput # DashboardInstanceMagicMcpEndpointsAddServersBody # DashboardInstanceMagicMcpEndpointsAddServersOutput # DashboardInstanceMagicMcpEndpointsCreateBody @@ -210,12 +307,65 @@ # DashboardInstanceMagicMcpTokensRemoveGroupsOutput # DashboardInstanceMagicMcpTokensUpdateBody # DashboardInstanceMagicMcpTokensUpdateOutput +# DashboardInstancePortalsAccessCreateBody +# DashboardInstancePortalsAccessCreateOutput +# DashboardInstancePortalsAccessDeleteOutput +# DashboardInstancePortalsAccessGetOutput +# DashboardInstancePortalsAccessListOutput +# DashboardInstancePortalsAccessListQuery +# DashboardInstancePortalsAccessRequestsGetOutput +# DashboardInstancePortalsAccessRequestsListOutput +# DashboardInstancePortalsAccessRequestsListQuery +# DashboardInstancePortalsAccessRequestsUpdateBody +# DashboardInstancePortalsAccessRequestsUpdateOutput +# DashboardInstancePortalsAccessUpdateBody +# DashboardInstancePortalsAccessUpdateOutput +# DashboardInstancePortalsAuthAppGetOutput +# DashboardInstancePortalsAuthAppUpdateBody +# DashboardInstancePortalsAuthAppUpdateOutput +# DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput +# DashboardInstancePortalsAuthSsoTenantsConnectionsListQuery +# DashboardInstancePortalsAuthSsoTenantsCreateBody +# DashboardInstancePortalsAuthSsoTenantsCreateOutput +# DashboardInstancePortalsAuthSsoTenantsListOutput +# DashboardInstancePortalsAuthSsoTenantsListQuery +# DashboardInstancePortalsAuthSsoTenantsSetupOutput +# DashboardInstancePortalsConsumerGroupsCreateBody +# DashboardInstancePortalsConsumerGroupsCreateOutput +# DashboardInstancePortalsConsumerGroupsDeleteOutput +# DashboardInstancePortalsConsumerGroupsGetOutput +# DashboardInstancePortalsConsumerGroupsListOutput +# DashboardInstancePortalsConsumerGroupsListQuery +# DashboardInstancePortalsConsumerGroupsUpdateBody +# DashboardInstancePortalsConsumerGroupsUpdateOutput +# DashboardInstancePortalsConsumerInvitesCreateBody +# DashboardInstancePortalsConsumerInvitesCreateOutput +# DashboardInstancePortalsConsumerInvitesGetOutput +# DashboardInstancePortalsConsumerInvitesListOutput +# DashboardInstancePortalsConsumerInvitesListQuery +# DashboardInstancePortalsConsumerProfilesAssignGroupsBody +# DashboardInstancePortalsConsumerProfilesAssignGroupsOutput +# DashboardInstancePortalsConsumerProfilesCreateBody +# DashboardInstancePortalsConsumerProfilesCreateOutput +# DashboardInstancePortalsConsumerProfilesGetOutput +# DashboardInstancePortalsConsumerProfilesListOutput +# DashboardInstancePortalsConsumerProfilesListQuery +# DashboardInstancePortalsConsumerProfilesUnassignGroupsBody +# DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput # DashboardInstancePortalsCreateBody # DashboardInstancePortalsCreateOutput # DashboardInstancePortalsDeleteOutput # DashboardInstancePortalsGetOutput # DashboardInstancePortalsListOutput # DashboardInstancePortalsListQuery +# DashboardInstancePortalsListingsCreateBody +# DashboardInstancePortalsListingsCreateOutput +# DashboardInstancePortalsListingsDeleteOutput +# DashboardInstancePortalsListingsGetOutput +# DashboardInstancePortalsListingsListOutput +# DashboardInstancePortalsListingsListQuery +# DashboardInstancePortalsListingsUpdateBody +# DashboardInstancePortalsListingsUpdateOutput # DashboardInstancePortalsUpdateBody # DashboardInstancePortalsUpdateOutput # DashboardInstanceProviderCategoriesGetOutput @@ -383,6 +533,132 @@ # DashboardInstanceSessionsProvidersUpdateOutput # DashboardInstanceSessionsUpdateBody # DashboardInstanceSessionsUpdateOutput +# DashboardInstanceSkillsAgentsCreateBody +# DashboardInstanceSkillsAgentsCreateOutput +# DashboardInstanceSkillsAgentsDeleteOutput +# DashboardInstanceSkillsAgentsGetOutput +# DashboardInstanceSkillsAgentsListOutput +# DashboardInstanceSkillsAgentsListQuery +# DashboardInstanceSkillsAgentsUpdateBody +# DashboardInstanceSkillsAgentsUpdateOutput +# DashboardInstanceSkillsConfigurationsCreateBody +# DashboardInstanceSkillsConfigurationsCreateOutput +# DashboardInstanceSkillsConfigurationsDeleteOutput +# DashboardInstanceSkillsConfigurationsGetOutput +# DashboardInstanceSkillsConfigurationsListOutput +# DashboardInstanceSkillsConfigurationsListQuery +# DashboardInstanceSkillsConfigurationsUpdateBody +# DashboardInstanceSkillsConfigurationsUpdateOutput +# DashboardInstanceSkillsCreateBody +# DashboardInstanceSkillsCreateOutput +# DashboardInstanceSkillsDeleteOutput +# DashboardInstanceSkillsDuplicateBody +# DashboardInstanceSkillsDuplicateOutput +# DashboardInstanceSkillsExportsCreateBody +# DashboardInstanceSkillsExportsCreateOutput +# DashboardInstanceSkillsExportsGetOutput +# DashboardInstanceSkillsExportsListOutput +# DashboardInstanceSkillsExportsListQuery +# DashboardInstanceSkillsForkBody +# DashboardInstanceSkillsForkOutput +# DashboardInstanceSkillsGetOutput +# DashboardInstanceSkillsGroupsCreateBody +# DashboardInstanceSkillsGroupsCreateOutput +# DashboardInstanceSkillsGroupsDeleteOutput +# DashboardInstanceSkillsGroupsGetOutput +# DashboardInstanceSkillsGroupsItemsCreateBody +# DashboardInstanceSkillsGroupsItemsCreateOutput +# DashboardInstanceSkillsGroupsItemsDeleteOutput +# DashboardInstanceSkillsGroupsItemsGetOutput +# DashboardInstanceSkillsGroupsItemsListOutput +# DashboardInstanceSkillsGroupsItemsListQuery +# DashboardInstanceSkillsGroupsListOutput +# DashboardInstanceSkillsGroupsListQuery +# DashboardInstanceSkillsGroupsUpdateBody +# DashboardInstanceSkillsGroupsUpdateOutput +# DashboardInstanceSkillsItemsCreateBody +# DashboardInstanceSkillsItemsCreateOutput +# DashboardInstanceSkillsItemsDeleteOutput +# DashboardInstanceSkillsItemsGetOutput +# DashboardInstanceSkillsItemsListOutput +# DashboardInstanceSkillsItemsListQuery +# DashboardInstanceSkillsListOutput +# DashboardInstanceSkillsListQuery +# DashboardInstanceSkillsMarketplacesArchiveOutput +# DashboardInstanceSkillsMarketplacesCreateBody +# DashboardInstanceSkillsMarketplacesCreateOutput +# DashboardInstanceSkillsMarketplacesGetOutput +# DashboardInstanceSkillsMarketplacesListOutput +# DashboardInstanceSkillsMarketplacesListQuery +# DashboardInstanceSkillsMarketplacesPluginsAddBody +# DashboardInstanceSkillsMarketplacesPluginsAddOutput +# DashboardInstanceSkillsMarketplacesPluginsGetOutput +# DashboardInstanceSkillsMarketplacesPluginsListOutput +# DashboardInstanceSkillsMarketplacesPluginsListQuery +# DashboardInstanceSkillsMarketplacesPluginsRemoveOutput +# DashboardInstanceSkillsMarketplacesSyncBody +# DashboardInstanceSkillsMarketplacesSyncOutput +# DashboardInstanceSkillsMarketplacesUpdateBody +# DashboardInstanceSkillsMarketplacesUpdateOutput +# DashboardInstanceSkillsParticipantsGetOutput +# DashboardInstanceSkillsParticipantsListOutput +# DashboardInstanceSkillsParticipantsListQuery +# DashboardInstanceSkillsPluginsArchiveOutput +# DashboardInstanceSkillsPluginsCreateBody +# DashboardInstanceSkillsPluginsCreateOutput +# DashboardInstanceSkillsPluginsGetOutput +# DashboardInstanceSkillsPluginsListOutput +# DashboardInstanceSkillsPluginsListQuery +# DashboardInstanceSkillsPluginsSkillsAddBody +# DashboardInstanceSkillsPluginsSkillsAddOutput +# DashboardInstanceSkillsPluginsSkillsGetOutput +# DashboardInstanceSkillsPluginsSkillsListOutput +# DashboardInstanceSkillsPluginsSkillsListQuery +# DashboardInstanceSkillsPluginsSkillsRemoveOutput +# DashboardInstanceSkillsPluginsSkillsUpdateBody +# DashboardInstanceSkillsPluginsSkillsUpdateOutput +# DashboardInstanceSkillsPluginsSyncBody +# DashboardInstanceSkillsPluginsSyncOutput +# DashboardInstanceSkillsPluginsUpdateBody +# DashboardInstanceSkillsPluginsUpdateOutput +# DashboardInstanceSkillsPublishConsumerSkillOutput +# DashboardInstanceSkillsTemplatesCreateBody +# DashboardInstanceSkillsTemplatesCreateOutput +# DashboardInstanceSkillsTemplatesDeleteOutput +# DashboardInstanceSkillsTemplatesGetOutput +# DashboardInstanceSkillsTemplatesItemsCreateBody +# DashboardInstanceSkillsTemplatesItemsCreateOutput +# DashboardInstanceSkillsTemplatesItemsDeleteOutput +# DashboardInstanceSkillsTemplatesItemsGetOutput +# DashboardInstanceSkillsTemplatesItemsListOutput +# DashboardInstanceSkillsTemplatesItemsListQuery +# DashboardInstanceSkillsTemplatesListOutput +# DashboardInstanceSkillsTemplatesListQuery +# DashboardInstanceSkillsTemplatesUpdateBody +# DashboardInstanceSkillsTemplatesUpdateOutput +# DashboardInstanceSkillsUpdateBody +# DashboardInstanceSkillsUpdateOutput +# DashboardInstanceSkillsVersionsGetOutput +# DashboardInstanceSkillsVersionsListOutput +# DashboardInstanceSkillsVersionsListQuery +# DashboardInstanceSkillsVersionsSnapshotGetOutput +# DashboardInstanceStoresCreateBody +# DashboardInstanceStoresCreateOutput +# DashboardInstanceStoresDeleteOutput +# DashboardInstanceStoresGetOutput +# DashboardInstanceStoresItemsGetOutput +# DashboardInstanceStoresItemsListOutput +# DashboardInstanceStoresItemsListQuery +# DashboardInstanceStoresItemsModifyBody +# DashboardInstanceStoresItemsModifyOutput +# DashboardInstanceStoresListOutput +# DashboardInstanceStoresListQuery +# DashboardInstanceStoresParticipantsGetOutput +# DashboardInstanceStoresParticipantsListOutput +# DashboardInstanceStoresParticipantsListQuery +# DashboardInstanceStoresPermissionsGetOutput +# DashboardInstanceStoresUpdateBody +# DashboardInstanceStoresUpdateOutput # DashboardInstanceToolCallsCreateBody # DashboardInstanceToolCallsCreateOutput # DashboardInstanceToolCallsGetOutput @@ -401,6 +677,8 @@ # DashboardOrganizationsApiKeysUpdateOutput # InstancesGetOutput # InstancesListOutput +# TestHelpersConsumerOauthAuthorizationsCreateBody +# TestHelpersConsumerOauthAuthorizationsCreateOutput # TokenGetOutput # Mapper classes @@ -427,6 +705,15 @@ # mapConsumerProvidersSetupOutput # mapConsumerSessionGetOutput # mapConsumerSessionLogoutOutput +# mapDashboardInstanceAgentsGetOutput +# mapDashboardInstanceAgentsInstancesGetOutput +# mapDashboardInstanceAgentsInstancesListOutput +# mapDashboardInstanceAgentsInstancesListQuery +# mapDashboardInstanceAgentsListOutput +# mapDashboardInstanceAgentsListQuery +# mapDashboardInstanceAssistantsGetOutput +# mapDashboardInstanceAssistantsListOutput +# mapDashboardInstanceAssistantsListQuery # mapDashboardInstanceCallbacksCreateBody # mapDashboardInstanceCallbacksCreateOutput # mapDashboardInstanceCallbacksDeleteOutput @@ -445,6 +732,7 @@ # mapDashboardInstanceCallbacksInstancesCreateBody # mapDashboardInstanceCallbacksInstancesCreateOutput # mapDashboardInstanceCallbacksInstancesDeleteOutput +# mapDashboardInstanceCallbacksInstancesGetOutput # mapDashboardInstanceCallbacksInstancesListOutput # mapDashboardInstanceCallbacksInstancesListQuery # mapDashboardInstanceCallbacksListOutput @@ -469,6 +757,18 @@ # mapDashboardInstanceConsumersProfilesListQuery # mapDashboardInstanceConsumersUpdateBody # mapDashboardInstanceConsumersUpdateOutput +# mapDashboardInstanceConversationsCreateBody +# mapDashboardInstanceConversationsCreateOutput +# mapDashboardInstanceConversationsGetOutput +# mapDashboardInstanceConversationsListOutput +# mapDashboardInstanceConversationsListQuery +# mapDashboardInstanceConversationsMessagesCreateBody +# mapDashboardInstanceConversationsMessagesCreateOutput +# mapDashboardInstanceConversationsMessagesGetOutput +# mapDashboardInstanceConversationsMessagesListOutput +# mapDashboardInstanceConversationsMessagesListQuery +# mapDashboardInstanceConversationsUpdateBody +# mapDashboardInstanceConversationsUpdateOutput # mapDashboardInstanceCustomProvidersCommitsCreateBody # mapDashboardInstanceCustomProvidersCommitsCreateOutput # mapDashboardInstanceCustomProvidersCommitsGetOutput @@ -483,6 +783,7 @@ # mapDashboardInstanceCustomProvidersEnvironmentsGetOutput # mapDashboardInstanceCustomProvidersEnvironmentsListOutput # mapDashboardInstanceCustomProvidersEnvironmentsListQuery +# mapDashboardInstanceCustomProvidersGetEnvOutput # mapDashboardInstanceCustomProvidersGetOutput # mapDashboardInstanceCustomProvidersListOutput # mapDashboardInstanceCustomProvidersListQuery @@ -490,17 +791,35 @@ # mapDashboardInstanceCustomProvidersUpdateOutput # mapDashboardInstanceCustomProvidersVersionsCreateBody # mapDashboardInstanceCustomProvidersVersionsCreateOutput +# mapDashboardInstanceCustomProvidersVersionsGetEnvOutput # mapDashboardInstanceCustomProvidersVersionsGetOutput # mapDashboardInstanceCustomProvidersVersionsListOutput # mapDashboardInstanceCustomProvidersVersionsListQuery -# mapDashboardInstanceFileLinksCreateBody -# mapDashboardInstanceFileLinksCreateOutput -# mapDashboardInstanceFileLinksDeleteOutput -# mapDashboardInstanceFileLinksGetOutput -# mapDashboardInstanceFileLinksListOutput -# mapDashboardInstanceFileLinksListQuery +# mapDashboardInstanceDocumentsCloneBody +# mapDashboardInstanceDocumentsCloneOutput +# mapDashboardInstanceDocumentsCreateBody +# mapDashboardInstanceDocumentsCreateOutput +# mapDashboardInstanceDocumentsDeleteOutput +# mapDashboardInstanceDocumentsGetOutput +# mapDashboardInstanceDocumentsListOutput +# mapDashboardInstanceDocumentsListQuery +# mapDashboardInstanceDocumentsParticipantsGetOutput +# mapDashboardInstanceDocumentsParticipantsListOutput +# mapDashboardInstanceDocumentsParticipantsListQuery +# mapDashboardInstanceDocumentsPermissionsGetOutput +# mapDashboardInstanceDocumentsUpdateBody +# mapDashboardInstanceDocumentsUpdateOutput +# mapDashboardInstanceDocumentsVersionsGetOutput +# mapDashboardInstanceDocumentsVersionsListOutput +# mapDashboardInstanceDocumentsVersionsListQuery # mapDashboardInstanceFilesDeleteOutput # mapDashboardInstanceFilesGetOutput +# mapDashboardInstanceFilesLinksCreateBody +# mapDashboardInstanceFilesLinksCreateOutput +# mapDashboardInstanceFilesLinksDeleteOutput +# mapDashboardInstanceFilesLinksGetOutput +# mapDashboardInstanceFilesLinksListOutput +# mapDashboardInstanceFilesLinksListQuery # mapDashboardInstanceFilesListOutput # mapDashboardInstanceFilesListQuery # mapDashboardInstanceIdentitiesCreateBody @@ -552,6 +871,62 @@ # mapDashboardInstanceIdentityActorsUpdateBody # mapDashboardInstanceIdentityActorsUpdateOutput # mapDashboardInstanceInstanceGetOutput +# mapDashboardInstanceIntegrationsCreateBody +# mapDashboardInstanceIntegrationsCreateOutput +# mapDashboardInstanceIntegrationsDeleteOutput +# mapDashboardInstanceIntegrationsGetOutput +# mapDashboardInstanceIntegrationsInstanceGroupsCreateBody +# mapDashboardInstanceIntegrationsInstanceGroupsCreateOutput +# mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionBody +# mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput +# mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody +# mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput +# mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutput +# mapDashboardInstanceIntegrationsInstanceGroupsGetOutput +# mapDashboardInstanceIntegrationsInstanceGroupsListOutput +# mapDashboardInstanceIntegrationsInstanceGroupsListQuery +# mapDashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput +# mapDashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput +# mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutput +# mapDashboardInstanceIntegrationsInstanceGroupsProvidersListQuery +# mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetBody +# mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput +# mapDashboardInstanceIntegrationsInstanceGroupsUpdateBody +# mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutput +# mapDashboardInstanceIntegrationsInstancesCreateBody +# mapDashboardInstanceIntegrationsInstancesCreateOutput +# mapDashboardInstanceIntegrationsInstancesCreateSessionBody +# mapDashboardInstanceIntegrationsInstancesCreateSessionOutput +# mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateBody +# mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput +# mapDashboardInstanceIntegrationsInstancesDeleteOutput +# mapDashboardInstanceIntegrationsInstancesGetOutput +# mapDashboardInstanceIntegrationsInstancesListOutput +# mapDashboardInstanceIntegrationsInstancesListQuery +# mapDashboardInstanceIntegrationsInstancesProvidersGetOutput +# mapDashboardInstanceIntegrationsInstancesProvidersListOutput +# mapDashboardInstanceIntegrationsInstancesProvidersListQuery +# mapDashboardInstanceIntegrationsInstancesProvidersSetBody +# mapDashboardInstanceIntegrationsInstancesProvidersSetOutput +# mapDashboardInstanceIntegrationsInstancesUpdateBody +# mapDashboardInstanceIntegrationsInstancesUpdateOutput +# mapDashboardInstanceIntegrationsListOutput +# mapDashboardInstanceIntegrationsListQuery +# mapDashboardInstanceIntegrationsProvidersCreateBody +# mapDashboardInstanceIntegrationsProvidersCreateOutput +# mapDashboardInstanceIntegrationsProvidersDeleteOutput +# mapDashboardInstanceIntegrationsProvidersGetOutput +# mapDashboardInstanceIntegrationsProvidersListOutput +# mapDashboardInstanceIntegrationsProvidersListQuery +# mapDashboardInstanceIntegrationsProvidersUpdateBody +# mapDashboardInstanceIntegrationsProvidersUpdateOutput +# mapDashboardInstanceIntegrationsSetupSessionsCreateBody +# mapDashboardInstanceIntegrationsSetupSessionsCreateOutput +# mapDashboardInstanceIntegrationsSetupSessionsGetOutput +# mapDashboardInstanceIntegrationsSetupSessionsListOutput +# mapDashboardInstanceIntegrationsSetupSessionsListQuery +# mapDashboardInstanceIntegrationsUpdateBody +# mapDashboardInstanceIntegrationsUpdateOutput # mapDashboardInstanceMagicMcpEndpointsAddServersBody # mapDashboardInstanceMagicMcpEndpointsAddServersOutput # mapDashboardInstanceMagicMcpEndpointsCreateBody @@ -608,12 +983,65 @@ # mapDashboardInstanceMagicMcpTokensRemoveGroupsOutput # mapDashboardInstanceMagicMcpTokensUpdateBody # mapDashboardInstanceMagicMcpTokensUpdateOutput +# mapDashboardInstancePortalsAccessCreateBody +# mapDashboardInstancePortalsAccessCreateOutput +# mapDashboardInstancePortalsAccessDeleteOutput +# mapDashboardInstancePortalsAccessGetOutput +# mapDashboardInstancePortalsAccessListOutput +# mapDashboardInstancePortalsAccessListQuery +# mapDashboardInstancePortalsAccessRequestsGetOutput +# mapDashboardInstancePortalsAccessRequestsListOutput +# mapDashboardInstancePortalsAccessRequestsListQuery +# mapDashboardInstancePortalsAccessRequestsUpdateBody +# mapDashboardInstancePortalsAccessRequestsUpdateOutput +# mapDashboardInstancePortalsAccessUpdateBody +# mapDashboardInstancePortalsAccessUpdateOutput +# mapDashboardInstancePortalsAuthAppGetOutput +# mapDashboardInstancePortalsAuthAppUpdateBody +# mapDashboardInstancePortalsAuthAppUpdateOutput +# mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutput +# mapDashboardInstancePortalsAuthSsoTenantsConnectionsListQuery +# mapDashboardInstancePortalsAuthSsoTenantsCreateBody +# mapDashboardInstancePortalsAuthSsoTenantsCreateOutput +# mapDashboardInstancePortalsAuthSsoTenantsListOutput +# mapDashboardInstancePortalsAuthSsoTenantsListQuery +# mapDashboardInstancePortalsAuthSsoTenantsSetupOutput +# mapDashboardInstancePortalsConsumerGroupsCreateBody +# mapDashboardInstancePortalsConsumerGroupsCreateOutput +# mapDashboardInstancePortalsConsumerGroupsDeleteOutput +# mapDashboardInstancePortalsConsumerGroupsGetOutput +# mapDashboardInstancePortalsConsumerGroupsListOutput +# mapDashboardInstancePortalsConsumerGroupsListQuery +# mapDashboardInstancePortalsConsumerGroupsUpdateBody +# mapDashboardInstancePortalsConsumerGroupsUpdateOutput +# mapDashboardInstancePortalsConsumerInvitesCreateBody +# mapDashboardInstancePortalsConsumerInvitesCreateOutput +# mapDashboardInstancePortalsConsumerInvitesGetOutput +# mapDashboardInstancePortalsConsumerInvitesListOutput +# mapDashboardInstancePortalsConsumerInvitesListQuery +# mapDashboardInstancePortalsConsumerProfilesAssignGroupsBody +# mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput +# mapDashboardInstancePortalsConsumerProfilesCreateBody +# mapDashboardInstancePortalsConsumerProfilesCreateOutput +# mapDashboardInstancePortalsConsumerProfilesGetOutput +# mapDashboardInstancePortalsConsumerProfilesListOutput +# mapDashboardInstancePortalsConsumerProfilesListQuery +# mapDashboardInstancePortalsConsumerProfilesUnassignGroupsBody +# mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput # mapDashboardInstancePortalsCreateBody # mapDashboardInstancePortalsCreateOutput # mapDashboardInstancePortalsDeleteOutput # mapDashboardInstancePortalsGetOutput # mapDashboardInstancePortalsListOutput # mapDashboardInstancePortalsListQuery +# mapDashboardInstancePortalsListingsCreateBody +# mapDashboardInstancePortalsListingsCreateOutput +# mapDashboardInstancePortalsListingsDeleteOutput +# mapDashboardInstancePortalsListingsGetOutput +# mapDashboardInstancePortalsListingsListOutput +# mapDashboardInstancePortalsListingsListQuery +# mapDashboardInstancePortalsListingsUpdateBody +# mapDashboardInstancePortalsListingsUpdateOutput # mapDashboardInstancePortalsUpdateBody # mapDashboardInstancePortalsUpdateOutput # mapDashboardInstanceProviderCategoriesGetOutput @@ -781,6 +1209,132 @@ # mapDashboardInstanceSessionsProvidersUpdateOutput # mapDashboardInstanceSessionsUpdateBody # mapDashboardInstanceSessionsUpdateOutput +# mapDashboardInstanceSkillsAgentsCreateBody +# mapDashboardInstanceSkillsAgentsCreateOutput +# mapDashboardInstanceSkillsAgentsDeleteOutput +# mapDashboardInstanceSkillsAgentsGetOutput +# mapDashboardInstanceSkillsAgentsListOutput +# mapDashboardInstanceSkillsAgentsListQuery +# mapDashboardInstanceSkillsAgentsUpdateBody +# mapDashboardInstanceSkillsAgentsUpdateOutput +# mapDashboardInstanceSkillsConfigurationsCreateBody +# mapDashboardInstanceSkillsConfigurationsCreateOutput +# mapDashboardInstanceSkillsConfigurationsDeleteOutput +# mapDashboardInstanceSkillsConfigurationsGetOutput +# mapDashboardInstanceSkillsConfigurationsListOutput +# mapDashboardInstanceSkillsConfigurationsListQuery +# mapDashboardInstanceSkillsConfigurationsUpdateBody +# mapDashboardInstanceSkillsConfigurationsUpdateOutput +# mapDashboardInstanceSkillsCreateBody +# mapDashboardInstanceSkillsCreateOutput +# mapDashboardInstanceSkillsDeleteOutput +# mapDashboardInstanceSkillsDuplicateBody +# mapDashboardInstanceSkillsDuplicateOutput +# mapDashboardInstanceSkillsExportsCreateBody +# mapDashboardInstanceSkillsExportsCreateOutput +# mapDashboardInstanceSkillsExportsGetOutput +# mapDashboardInstanceSkillsExportsListOutput +# mapDashboardInstanceSkillsExportsListQuery +# mapDashboardInstanceSkillsForkBody +# mapDashboardInstanceSkillsForkOutput +# mapDashboardInstanceSkillsGetOutput +# mapDashboardInstanceSkillsGroupsCreateBody +# mapDashboardInstanceSkillsGroupsCreateOutput +# mapDashboardInstanceSkillsGroupsDeleteOutput +# mapDashboardInstanceSkillsGroupsGetOutput +# mapDashboardInstanceSkillsGroupsItemsCreateBody +# mapDashboardInstanceSkillsGroupsItemsCreateOutput +# mapDashboardInstanceSkillsGroupsItemsDeleteOutput +# mapDashboardInstanceSkillsGroupsItemsGetOutput +# mapDashboardInstanceSkillsGroupsItemsListOutput +# mapDashboardInstanceSkillsGroupsItemsListQuery +# mapDashboardInstanceSkillsGroupsListOutput +# mapDashboardInstanceSkillsGroupsListQuery +# mapDashboardInstanceSkillsGroupsUpdateBody +# mapDashboardInstanceSkillsGroupsUpdateOutput +# mapDashboardInstanceSkillsItemsCreateBody +# mapDashboardInstanceSkillsItemsCreateOutput +# mapDashboardInstanceSkillsItemsDeleteOutput +# mapDashboardInstanceSkillsItemsGetOutput +# mapDashboardInstanceSkillsItemsListOutput +# mapDashboardInstanceSkillsItemsListQuery +# mapDashboardInstanceSkillsListOutput +# mapDashboardInstanceSkillsListQuery +# mapDashboardInstanceSkillsMarketplacesArchiveOutput +# mapDashboardInstanceSkillsMarketplacesCreateBody +# mapDashboardInstanceSkillsMarketplacesCreateOutput +# mapDashboardInstanceSkillsMarketplacesGetOutput +# mapDashboardInstanceSkillsMarketplacesListOutput +# mapDashboardInstanceSkillsMarketplacesListQuery +# mapDashboardInstanceSkillsMarketplacesPluginsAddBody +# mapDashboardInstanceSkillsMarketplacesPluginsAddOutput +# mapDashboardInstanceSkillsMarketplacesPluginsGetOutput +# mapDashboardInstanceSkillsMarketplacesPluginsListOutput +# mapDashboardInstanceSkillsMarketplacesPluginsListQuery +# mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutput +# mapDashboardInstanceSkillsMarketplacesSyncBody +# mapDashboardInstanceSkillsMarketplacesSyncOutput +# mapDashboardInstanceSkillsMarketplacesUpdateBody +# mapDashboardInstanceSkillsMarketplacesUpdateOutput +# mapDashboardInstanceSkillsParticipantsGetOutput +# mapDashboardInstanceSkillsParticipantsListOutput +# mapDashboardInstanceSkillsParticipantsListQuery +# mapDashboardInstanceSkillsPluginsArchiveOutput +# mapDashboardInstanceSkillsPluginsCreateBody +# mapDashboardInstanceSkillsPluginsCreateOutput +# mapDashboardInstanceSkillsPluginsGetOutput +# mapDashboardInstanceSkillsPluginsListOutput +# mapDashboardInstanceSkillsPluginsListQuery +# mapDashboardInstanceSkillsPluginsSkillsAddBody +# mapDashboardInstanceSkillsPluginsSkillsAddOutput +# mapDashboardInstanceSkillsPluginsSkillsGetOutput +# mapDashboardInstanceSkillsPluginsSkillsListOutput +# mapDashboardInstanceSkillsPluginsSkillsListQuery +# mapDashboardInstanceSkillsPluginsSkillsRemoveOutput +# mapDashboardInstanceSkillsPluginsSkillsUpdateBody +# mapDashboardInstanceSkillsPluginsSkillsUpdateOutput +# mapDashboardInstanceSkillsPluginsSyncBody +# mapDashboardInstanceSkillsPluginsSyncOutput +# mapDashboardInstanceSkillsPluginsUpdateBody +# mapDashboardInstanceSkillsPluginsUpdateOutput +# mapDashboardInstanceSkillsPublishConsumerSkillOutput +# mapDashboardInstanceSkillsTemplatesCreateBody +# mapDashboardInstanceSkillsTemplatesCreateOutput +# mapDashboardInstanceSkillsTemplatesDeleteOutput +# mapDashboardInstanceSkillsTemplatesGetOutput +# mapDashboardInstanceSkillsTemplatesItemsCreateBody +# mapDashboardInstanceSkillsTemplatesItemsCreateOutput +# mapDashboardInstanceSkillsTemplatesItemsDeleteOutput +# mapDashboardInstanceSkillsTemplatesItemsGetOutput +# mapDashboardInstanceSkillsTemplatesItemsListOutput +# mapDashboardInstanceSkillsTemplatesItemsListQuery +# mapDashboardInstanceSkillsTemplatesListOutput +# mapDashboardInstanceSkillsTemplatesListQuery +# mapDashboardInstanceSkillsTemplatesUpdateBody +# mapDashboardInstanceSkillsTemplatesUpdateOutput +# mapDashboardInstanceSkillsUpdateBody +# mapDashboardInstanceSkillsUpdateOutput +# mapDashboardInstanceSkillsVersionsGetOutput +# mapDashboardInstanceSkillsVersionsListOutput +# mapDashboardInstanceSkillsVersionsListQuery +# mapDashboardInstanceSkillsVersionsSnapshotGetOutput +# mapDashboardInstanceStoresCreateBody +# mapDashboardInstanceStoresCreateOutput +# mapDashboardInstanceStoresDeleteOutput +# mapDashboardInstanceStoresGetOutput +# mapDashboardInstanceStoresItemsGetOutput +# mapDashboardInstanceStoresItemsListOutput +# mapDashboardInstanceStoresItemsListQuery +# mapDashboardInstanceStoresItemsModifyBody +# mapDashboardInstanceStoresItemsModifyOutput +# mapDashboardInstanceStoresListOutput +# mapDashboardInstanceStoresListQuery +# mapDashboardInstanceStoresParticipantsGetOutput +# mapDashboardInstanceStoresParticipantsListOutput +# mapDashboardInstanceStoresParticipantsListQuery +# mapDashboardInstanceStoresPermissionsGetOutput +# mapDashboardInstanceStoresUpdateBody +# mapDashboardInstanceStoresUpdateOutput # mapDashboardInstanceToolCallsCreateBody # mapDashboardInstanceToolCallsCreateOutput # mapDashboardInstanceToolCallsGetOutput @@ -799,6 +1353,8 @@ # mapDashboardOrganizationsApiKeysUpdateOutput # mapInstancesGetOutput # mapInstancesListOutput +# mapTestHelpersConsumerOauthAuthorizationsCreateBody +# mapTestHelpersConsumerOauthAuthorizationsCreateOutput # mapTokenGetOutput # All types and mappers are available via: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/__init__.py index d34855f5..ba2d9cdf 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/__init__.py @@ -1,3 +1,6 @@ +from .agents import * +from .agents_instances import * +from .assistants import * from .callbacks import * from .callbacks_destinations import * from .callbacks_events import * @@ -13,11 +16,16 @@ from .consumer_surfaces import * from .consumers import * from .consumers_profiles import * +from .conversations import * +from .conversations_messages import * from .custom_providers import * from .custom_providers_commits import * from .custom_providers_deployments import * from .custom_providers_environments import * from .custom_providers_versions import * +from .dashboard_instance_agents import * +from .dashboard_instance_agents_instances import * +from .dashboard_instance_assistants import * from .dashboard_instance_callbacks import * from .dashboard_instance_callbacks_destinations import * from .dashboard_instance_callbacks_events import * @@ -26,13 +34,19 @@ from .dashboard_instance_consumer_surfaces import * from .dashboard_instance_consumers import * from .dashboard_instance_consumers_profiles import * +from .dashboard_instance_conversations import * +from .dashboard_instance_conversations_messages import * from .dashboard_instance_custom_providers import * from .dashboard_instance_custom_providers_commits import * from .dashboard_instance_custom_providers_deployments import * from .dashboard_instance_custom_providers_environments import * from .dashboard_instance_custom_providers_versions import * -from .dashboard_instance_file_links import * +from .dashboard_instance_documents import * +from .dashboard_instance_documents_participants import * +from .dashboard_instance_documents_permissions import * +from .dashboard_instance_documents_versions import * from .dashboard_instance_files import * +from .dashboard_instance_files_links import * from .dashboard_instance_identities import * from .dashboard_instance_identities_credentials import * from .dashboard_instance_identities_delegation_configs import * @@ -40,6 +54,13 @@ from .dashboard_instance_identities_delegations import * from .dashboard_instance_identity_actors import * from .dashboard_instance_instance import * +from .dashboard_instance_integrations import * +from .dashboard_instance_integrations_instance_groups import * +from .dashboard_instance_integrations_instance_groups_providers import * +from .dashboard_instance_integrations_instances import * +from .dashboard_instance_integrations_instances_providers import * +from .dashboard_instance_integrations_providers import * +from .dashboard_instance_integrations_setup_sessions import * from .dashboard_instance_magic_mcp_endpoints import * from .dashboard_instance_magic_mcp_groups import * from .dashboard_instance_magic_mcp_servers import * @@ -47,6 +68,15 @@ from .dashboard_instance_magic_mcp_sessions import * from .dashboard_instance_magic_mcp_tokens import * from .dashboard_instance_portals import * +from .dashboard_instance_portals_access import * +from .dashboard_instance_portals_access_requests import * +from .dashboard_instance_portals_auth_app import * +from .dashboard_instance_portals_auth_sso_tenants import * +from .dashboard_instance_portals_auth_sso_tenants_connections import * +from .dashboard_instance_portals_consumer_groups import * +from .dashboard_instance_portals_consumer_invites import * +from .dashboard_instance_portals_consumer_profiles import * +from .dashboard_instance_portals_listings import * from .dashboard_instance_provider_categories import * from .dashboard_instance_provider_collections import * from .dashboard_instance_provider_deployments import * @@ -78,10 +108,34 @@ from .dashboard_instance_sessions_messages import * from .dashboard_instance_sessions_participants import * from .dashboard_instance_sessions_providers import * +from .dashboard_instance_skills import * +from .dashboard_instance_skills_agents import * +from .dashboard_instance_skills_configurations import * +from .dashboard_instance_skills_exports import * +from .dashboard_instance_skills_groups import * +from .dashboard_instance_skills_groups_items import * +from .dashboard_instance_skills_items import * +from .dashboard_instance_skills_marketplaces import * +from .dashboard_instance_skills_marketplaces_plugins import * +from .dashboard_instance_skills_participants import * +from .dashboard_instance_skills_plugins import * +from .dashboard_instance_skills_plugins_skills import * +from .dashboard_instance_skills_templates import * +from .dashboard_instance_skills_templates_items import * +from .dashboard_instance_skills_versions import * +from .dashboard_instance_skills_versions_snapshot import * +from .dashboard_instance_stores import * +from .dashboard_instance_stores_items import * +from .dashboard_instance_stores_participants import * +from .dashboard_instance_stores_permissions import * from .dashboard_instance_tool_calls import * from .dashboard_organizations_api_keys import * -from .file_links import * +from .documents import * +from .documents_participants import * +from .documents_permissions import * +from .documents_versions import * from .files import * +from .files_links import * from .identities import * from .identities_credentials import * from .identities_delegation_configs import * @@ -90,12 +144,22 @@ from .identity_actors import * from .instance import * from .instances import * +from .integrations import * +from .integrations_instance_groups import * +from .integrations_instance_groups_providers import * +from .integrations_instances import * +from .integrations_instances_providers import * +from .integrations_providers import * +from .integrations_setup_sessions import * from .magic_mcp_endpoints import * from .magic_mcp_groups import * from .magic_mcp_servers import * from .magic_mcp_servers_providers import * from .magic_mcp_sessions import * from .magic_mcp_tokens import * +from .management_instance_agents import * +from .management_instance_agents_instances import * +from .management_instance_assistants import * from .management_instance_callbacks import * from .management_instance_callbacks_destinations import * from .management_instance_callbacks_events import * @@ -104,13 +168,19 @@ from .management_instance_consumer_surfaces import * from .management_instance_consumers import * from .management_instance_consumers_profiles import * +from .management_instance_conversations import * +from .management_instance_conversations_messages import * from .management_instance_custom_providers import * from .management_instance_custom_providers_commits import * from .management_instance_custom_providers_deployments import * from .management_instance_custom_providers_environments import * from .management_instance_custom_providers_versions import * -from .management_instance_file_links import * +from .management_instance_documents import * +from .management_instance_documents_participants import * +from .management_instance_documents_permissions import * +from .management_instance_documents_versions import * from .management_instance_files import * +from .management_instance_files_links import * from .management_instance_identities import * from .management_instance_identities_credentials import * from .management_instance_identities_delegation_configs import * @@ -118,6 +188,13 @@ from .management_instance_identities_delegations import * from .management_instance_identity_actors import * from .management_instance_instance import * +from .management_instance_integrations import * +from .management_instance_integrations_instance_groups import * +from .management_instance_integrations_instance_groups_providers import * +from .management_instance_integrations_instances import * +from .management_instance_integrations_instances_providers import * +from .management_instance_integrations_providers import * +from .management_instance_integrations_setup_sessions import * from .management_instance_magic_mcp_endpoints import * from .management_instance_magic_mcp_groups import * from .management_instance_magic_mcp_servers import * @@ -125,6 +202,15 @@ from .management_instance_magic_mcp_sessions import * from .management_instance_magic_mcp_tokens import * from .management_instance_portals import * +from .management_instance_portals_access import * +from .management_instance_portals_access_requests import * +from .management_instance_portals_auth_app import * +from .management_instance_portals_auth_sso_tenants import * +from .management_instance_portals_auth_sso_tenants_connections import * +from .management_instance_portals_consumer_groups import * +from .management_instance_portals_consumer_invites import * +from .management_instance_portals_consumer_profiles import * +from .management_instance_portals_listings import * from .management_instance_provider_categories import * from .management_instance_provider_collections import * from .management_instance_provider_deployments import * @@ -156,9 +242,38 @@ from .management_instance_sessions_messages import * from .management_instance_sessions_participants import * from .management_instance_sessions_providers import * +from .management_instance_skills import * +from .management_instance_skills_agents import * +from .management_instance_skills_configurations import * +from .management_instance_skills_exports import * +from .management_instance_skills_groups import * +from .management_instance_skills_groups_items import * +from .management_instance_skills_items import * +from .management_instance_skills_marketplaces import * +from .management_instance_skills_marketplaces_plugins import * +from .management_instance_skills_participants import * +from .management_instance_skills_plugins import * +from .management_instance_skills_plugins_skills import * +from .management_instance_skills_templates import * +from .management_instance_skills_templates_items import * +from .management_instance_skills_versions import * +from .management_instance_skills_versions_snapshot import * +from .management_instance_stores import * +from .management_instance_stores_items import * +from .management_instance_stores_participants import * +from .management_instance_stores_permissions import * from .management_instance_tool_calls import * from .management_organization_api_keys import * from .portals import * +from .portals_access import * +from .portals_access_requests import * +from .portals_auth_app import * +from .portals_auth_sso_tenants import * +from .portals_auth_sso_tenants_connections import * +from .portals_consumer_groups import * +from .portals_consumer_invites import * +from .portals_consumer_profiles import * +from .portals_listings import * from .provider_categories import * from .provider_collections import * from .provider_deployments import * @@ -190,5 +305,26 @@ from .sessions_messages import * from .sessions_participants import * from .sessions_providers import * +from .skills import * +from .skills_agents import * +from .skills_configurations import * +from .skills_exports import * +from .skills_groups import * +from .skills_groups_items import * +from .skills_items import * +from .skills_marketplaces import * +from .skills_marketplaces_plugins import * +from .skills_participants import * +from .skills_plugins import * +from .skills_plugins_skills import * +from .skills_templates import * +from .skills_templates_items import * +from .skills_versions import * +from .skills_versions_snapshot import * +from .stores import * +from .stores_items import * +from .stores_participants import * +from .stores_permissions import * +from .test_helpers_consumer_oauth_authorizations import * from .token import * from .tool_calls import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/agents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/agents.py new file mode 100644 index 00000000..c3e88504 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/agents.py @@ -0,0 +1,71 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAgentsListOutput, DashboardInstanceAgentsListOutput, mapDashboardInstanceAgentsListQuery, DashboardInstanceAgentsListQuery, mapDashboardInstanceAgentsGetOutput, DashboardInstanceAgentsGetOutput + +class MetorialAgentsEndpoint(BaseMetorialEndpoint): + """Inspect agents and their linked clients and instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceAgentsListOutput: + """ + List agents + Returns a paginated list of agents for the instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceAgentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['agents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAgentsListOutput.from_dict) + + def get(self, agent_id: str) -> DashboardInstanceAgentsGetOutput: + """ + Get agent + Retrieves a specific agent by ID. + + :param agent_id: str + :return: DashboardInstanceAgentsGetOutput + """ + request = MetorialRequest( + path=['agents', agent_id] + ) + return self._get(request).transform(mapDashboardInstanceAgentsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/agents_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/agents_instances.py new file mode 100644 index 00000000..7496ae67 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/agents_instances.py @@ -0,0 +1,70 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAgentsInstancesListOutput, DashboardInstanceAgentsInstancesListOutput, mapDashboardInstanceAgentsInstancesListQuery, DashboardInstanceAgentsInstancesListQuery, mapDashboardInstanceAgentsInstancesGetOutput, DashboardInstanceAgentsInstancesGetOutput + +class MetorialAgentsInstancesEndpoint(BaseMetorialEndpoint): + """Inspect agents and their linked clients and instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, agent_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_client_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceAgentsInstancesListOutput: + """ + List agent instances + Returns a paginated list of instances for an agent. + + :param agent_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param agent_client_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceAgentsInstancesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if agent_client_id is not None: + query_dict["agent_client_id"] = agent_client_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['agents', agent_id, 'instances'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAgentsInstancesListOutput.from_dict) + + def get(self, agent_id: str, agent_instance_id: str) -> DashboardInstanceAgentsInstancesGetOutput: + """ + Get agent instance + Retrieves a specific agent instance by ID. + + :param agent_id: str + :param agent_instance_id: str + :return: DashboardInstanceAgentsInstancesGetOutput + """ + request = MetorialRequest( + path=['agents', agent_id, 'instances', agent_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceAgentsInstancesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/assistants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/assistants.py new file mode 100644 index 00000000..431d5b69 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/assistants.py @@ -0,0 +1,53 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAssistantsListOutput, DashboardInstanceAssistantsListOutput, mapDashboardInstanceAssistantsListQuery, DashboardInstanceAssistantsListQuery, mapDashboardInstanceAssistantsGetOutput, DashboardInstanceAssistantsGetOutput + +class MetorialAssistantsEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceAssistantsListOutput: + """ + List assistants + List assistants available in an instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceAssistantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['assistants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAssistantsListOutput.from_dict) + + def get(self, assistant_id: str) -> DashboardInstanceAssistantsGetOutput: + """ + Get assistant + Get an assistant available in an instance. + + :param assistant_id: str + :return: DashboardInstanceAssistantsGetOutput + """ + request = MetorialRequest( + path=['assistants', assistant_id] + ) + return self._get(request).transform(mapDashboardInstanceAssistantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/callbacks_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/callbacks_instances.py index 5121c9ad..098bd866 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/callbacks_instances.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/callbacks_instances.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCallbacksInstancesListOutput, DashboardInstanceCallbacksInstancesListOutput, mapDashboardInstanceCallbacksInstancesListQuery, DashboardInstanceCallbacksInstancesListQuery, mapDashboardInstanceCallbacksInstancesCreateOutput, DashboardInstanceCallbacksInstancesCreateOutput, mapDashboardInstanceCallbacksInstancesCreateBody, DashboardInstanceCallbacksInstancesCreateBody, mapDashboardInstanceCallbacksInstancesDeleteOutput, DashboardInstanceCallbacksInstancesDeleteOutput +from ..resources import mapDashboardInstanceCallbacksInstancesListOutput, DashboardInstanceCallbacksInstancesListOutput, mapDashboardInstanceCallbacksInstancesListQuery, DashboardInstanceCallbacksInstancesListQuery, mapDashboardInstanceCallbacksInstancesGetOutput, DashboardInstanceCallbacksInstancesGetOutput, mapDashboardInstanceCallbacksInstancesCreateOutput, DashboardInstanceCallbacksInstancesCreateOutput, mapDashboardInstanceCallbacksInstancesCreateBody, DashboardInstanceCallbacksInstancesCreateBody, mapDashboardInstanceCallbacksInstancesDeleteOutput, DashboardInstanceCallbacksInstancesDeleteOutput class MetorialCallbacksInstancesEndpoint(BaseMetorialEndpoint): """Attach or detach callback instances for a deployment/config/auth-config combination.""" @@ -58,6 +58,20 @@ def list(self, callback_id: str, *, limit: Optional[float] = None, after: Option ) return self._get(request).transform(mapDashboardInstanceCallbacksInstancesListOutput.from_dict) + def get(self, callback_id: str, callback_instance_id: str) -> DashboardInstanceCallbacksInstancesGetOutput: + """ + Get callback instance + Retrieves a specific callback instance by ID. + + :param callback_id: str + :param callback_instance_id: str + :return: DashboardInstanceCallbacksInstancesGetOutput + """ + request = MetorialRequest( + path=['callbacks', callback_id, 'instances', callback_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceCallbacksInstancesGetOutput.from_dict) + def create(self, callback_id: str, *, provider_config_id: str, provider_auth_config_id: Optional[str] = None) -> DashboardInstanceCallbacksInstancesCreateOutput: """ Create callback instance diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumer_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumer_providers.py index 1ddc0a1f..cab8f8b2 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumer_providers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumer_providers.py @@ -84,7 +84,7 @@ def request_access(self, catalog_item_id: str, *, message: Optional[str] = None, def setup(self, catalog_item_id: str, *, provider_auth_method_id: Optional[str] = None) -> ConsumerProvidersSetupOutput: """ Start consumer provider setup - Starts an OAuth setup flow for a portal provider template. + Starts an integration setup flow for a portal provider template. :param catalog_item_id: str :param provider_auth_method_id: Optional[str] (optional) @@ -104,7 +104,7 @@ def setup(self, catalog_item_id: str, *, provider_auth_method_id: Optional[str] def get_setup(self, catalog_item_id: str, provider_setup_session_id: str) -> ConsumerProvidersGetSetupOutput: """ Get consumer provider setup - Reads the status of an OAuth setup flow for a portal provider template. + Reads the status of an integration setup flow for a portal provider template. :param catalog_item_id: str :param provider_setup_session_id: str @@ -115,7 +115,7 @@ def get_setup(self, catalog_item_id: str, provider_setup_session_id: str) -> Con ) return self._get(request).transform(mapConsumerProvidersGetSetupOutput.from_dict) - def deploy(self, catalog_item_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, config: Optional[Dict[str, Any]] = None, auth: Optional[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any]]] = None) -> ConsumerProvidersDeployOutput: + def deploy(self, catalog_item_id: str, *, integration_setup_session_id: str, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> ConsumerProvidersDeployOutput: """ Deploy consumer provider Creates an owned Magic MCP server from a portal provider template. @@ -124,8 +124,7 @@ def deploy(self, catalog_item_id: str, *, name: Optional[str] = None, descriptio :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) - :param config: Optional[Dict[str, Any]] (optional) - :param auth: Optional[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any]]] (optional) + :param integration_setup_session_id: str :return: ConsumerProvidersDeployOutput """ # Build body parameters from keyword arguments @@ -136,10 +135,7 @@ def deploy(self, catalog_item_id: str, *, name: Optional[str] = None, descriptio body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata - if config is not None: - body_dict["config"] = config - if auth is not None: - body_dict["auth"] = auth + body_dict["integration_setup_session_id"] = integration_setup_session_id request = MetorialRequest( path=['consumer', 'providers', catalog_item_id, 'deploy'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/conversations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/conversations.py new file mode 100644 index 00000000..5ca34d5c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/conversations.py @@ -0,0 +1,97 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConversationsListOutput, DashboardInstanceConversationsListOutput, mapDashboardInstanceConversationsListQuery, DashboardInstanceConversationsListQuery, mapDashboardInstanceConversationsCreateOutput, DashboardInstanceConversationsCreateOutput, mapDashboardInstanceConversationsCreateBody, DashboardInstanceConversationsCreateBody, mapDashboardInstanceConversationsGetOutput, DashboardInstanceConversationsGetOutput, mapDashboardInstanceConversationsUpdateOutput, DashboardInstanceConversationsUpdateOutput, mapDashboardInstanceConversationsUpdateBody, DashboardInstanceConversationsUpdateBody + +class MetorialConversationsEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, assistant_id: Optional[Union[str, List[str]]] = None) -> DashboardInstanceConversationsListOutput: + """ + List assistant conversations + List assistant conversations in an instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param assistant_id: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstanceConversationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if assistant_id is not None: + query_dict["assistant_id"] = assistant_id + + request = MetorialRequest( + path=['conversations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConversationsListOutput.from_dict) + + def create(self, *, assistant_id: str, title: Optional[str] = None) -> DashboardInstanceConversationsCreateOutput: + """ + Create assistant conversation + Create a new assistant conversation in an instance. + + :param assistant_id: str + :param title: Optional[str] (optional) + :return: DashboardInstanceConversationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["assistant_id"] = assistant_id + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['conversations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConversationsCreateOutput.from_dict) + + def get(self, assistant_conversation_id: str) -> DashboardInstanceConversationsGetOutput: + """ + Get assistant conversation + Get a specific assistant conversation. + + :param assistant_conversation_id: str + :return: DashboardInstanceConversationsGetOutput + """ + request = MetorialRequest( + path=['conversations', assistant_conversation_id] + ) + return self._get(request).transform(mapDashboardInstanceConversationsGetOutput.from_dict) + + def update(self, assistant_conversation_id: str, *, title: Optional[str] = None) -> DashboardInstanceConversationsUpdateOutput: + """ + Update assistant conversation + Update a specific assistant conversation. + + :param assistant_conversation_id: str + :param title: Optional[str] (optional) + :return: DashboardInstanceConversationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['conversations', assistant_conversation_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConversationsUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/conversations_messages.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/conversations_messages.py new file mode 100644 index 00000000..fd7b9f51 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/conversations_messages.py @@ -0,0 +1,80 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConversationsMessagesListOutput, DashboardInstanceConversationsMessagesListOutput, mapDashboardInstanceConversationsMessagesListQuery, DashboardInstanceConversationsMessagesListQuery, mapDashboardInstanceConversationsMessagesCreateOutput, DashboardInstanceConversationsMessagesCreateOutput, mapDashboardInstanceConversationsMessagesCreateBody, DashboardInstanceConversationsMessagesCreateBody, mapDashboardInstanceConversationsMessagesGetOutput, DashboardInstanceConversationsMessagesGetOutput + +class MetorialConversationsMessagesEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, assistant_conversation_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConversationsMessagesListOutput: + """ + List assistant messages + List messages in a specific assistant conversation. + + :param assistant_conversation_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConversationsMessagesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['conversations', assistant_conversation_id, 'messages'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConversationsMessagesListOutput.from_dict) + + def create(self, assistant_conversation_id: str, *, message: Dict[str, Any], parent_message_id: Optional[str] = None, model_id: Optional[str] = None) -> DashboardInstanceConversationsMessagesCreateOutput: + """ + Create assistant message + Create a user message and assistant request in a specific conversation. + + :param assistant_conversation_id: str + :param message: Dict[str, Any] + :param parent_message_id: Optional[str] (optional) + :param model_id: Optional[str] (optional) + :return: DashboardInstanceConversationsMessagesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["message"] = message + if parent_message_id is not None: + body_dict["parent_message_id"] = parent_message_id + if model_id is not None: + body_dict["model_id"] = model_id + + request = MetorialRequest( + path=['conversations', assistant_conversation_id, 'messages'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConversationsMessagesCreateOutput.from_dict) + + def get(self, assistant_conversation_id: str, assistant_message_id: str) -> DashboardInstanceConversationsMessagesGetOutput: + """ + Get assistant message + Get a specific assistant message. + + :param assistant_conversation_id: str + :param assistant_message_id: str + :return: DashboardInstanceConversationsMessagesGetOutput + """ + request = MetorialRequest( + path=['conversations', assistant_conversation_id, 'messages', assistant_message_id] + ) + return self._get(request).transform(mapDashboardInstanceConversationsMessagesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/custom_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/custom_providers.py index 31cd0c71..7d8a5c44 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/custom_providers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/custom_providers.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCustomProvidersListOutput, DashboardInstanceCustomProvidersListOutput, mapDashboardInstanceCustomProvidersListQuery, DashboardInstanceCustomProvidersListQuery, mapDashboardInstanceCustomProvidersGetOutput, DashboardInstanceCustomProvidersGetOutput, mapDashboardInstanceCustomProvidersCreateOutput, DashboardInstanceCustomProvidersCreateOutput, mapDashboardInstanceCustomProvidersCreateBody, DashboardInstanceCustomProvidersCreateBody, mapDashboardInstanceCustomProvidersUpdateOutput, DashboardInstanceCustomProvidersUpdateOutput, mapDashboardInstanceCustomProvidersUpdateBody, DashboardInstanceCustomProvidersUpdateBody +from ..resources import mapDashboardInstanceCustomProvidersListOutput, DashboardInstanceCustomProvidersListOutput, mapDashboardInstanceCustomProvidersListQuery, DashboardInstanceCustomProvidersListQuery, mapDashboardInstanceCustomProvidersGetOutput, DashboardInstanceCustomProvidersGetOutput, mapDashboardInstanceCustomProvidersGetEnvOutput, DashboardInstanceCustomProvidersGetEnvOutput, mapDashboardInstanceCustomProvidersCreateOutput, DashboardInstanceCustomProvidersCreateOutput, mapDashboardInstanceCustomProvidersCreateBody, DashboardInstanceCustomProvidersCreateBody, mapDashboardInstanceCustomProvidersUpdateOutput, DashboardInstanceCustomProvidersUpdateOutput, mapDashboardInstanceCustomProvidersUpdateBody, DashboardInstanceCustomProvidersUpdateBody class MetorialCustomProvidersEndpoint(BaseMetorialEndpoint): """Custom providers allow you to deploy your own MCP servers. Create providers from container images, remote URLs, or serverless functions.""" @@ -73,6 +73,19 @@ def get(self, custom_provider_id: str) -> DashboardInstanceCustomProvidersGetOut ) return self._get(request).transform(mapDashboardInstanceCustomProvidersGetOutput.from_dict) + def get_env(self, custom_provider_id: str) -> DashboardInstanceCustomProvidersGetEnvOutput: + """ + Get custom provider environment + Retrieves the environment variables for a specific custom provider by ID. + + :param custom_provider_id: str + :return: DashboardInstanceCustomProvidersGetEnvOutput + """ + request = MetorialRequest( + path=['custom-providers', custom_provider_id, 'env'] + ) + return self._get(request).transform(mapDashboardInstanceCustomProvidersGetEnvOutput.from_dict) + def create(self, *, name: str, from_: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, config: Optional[Dict[str, Any]] = None) -> DashboardInstanceCustomProvidersCreateOutput: """ Create custom provider diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/custom_providers_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/custom_providers_versions.py index c35b6120..08676440 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/custom_providers_versions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/custom_providers_versions.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCustomProvidersVersionsListOutput, DashboardInstanceCustomProvidersVersionsListOutput, mapDashboardInstanceCustomProvidersVersionsListQuery, DashboardInstanceCustomProvidersVersionsListQuery, mapDashboardInstanceCustomProvidersVersionsGetOutput, DashboardInstanceCustomProvidersVersionsGetOutput, mapDashboardInstanceCustomProvidersVersionsCreateOutput, DashboardInstanceCustomProvidersVersionsCreateOutput, mapDashboardInstanceCustomProvidersVersionsCreateBody, DashboardInstanceCustomProvidersVersionsCreateBody +from ..resources import mapDashboardInstanceCustomProvidersVersionsListOutput, DashboardInstanceCustomProvidersVersionsListOutput, mapDashboardInstanceCustomProvidersVersionsListQuery, DashboardInstanceCustomProvidersVersionsListQuery, mapDashboardInstanceCustomProvidersVersionsGetOutput, DashboardInstanceCustomProvidersVersionsGetOutput, mapDashboardInstanceCustomProvidersVersionsGetEnvOutput, DashboardInstanceCustomProvidersVersionsGetEnvOutput, mapDashboardInstanceCustomProvidersVersionsCreateOutput, DashboardInstanceCustomProvidersVersionsCreateOutput, mapDashboardInstanceCustomProvidersVersionsCreateBody, DashboardInstanceCustomProvidersVersionsCreateBody class MetorialCustomProvidersVersionsEndpoint(BaseMetorialEndpoint): """Versions represent different releases of a custom provider. Each version can be deployed to environments.""" @@ -79,6 +79,19 @@ def get(self, custom_provider_version_id: str) -> DashboardInstanceCustomProvide ) return self._get(request).transform(mapDashboardInstanceCustomProvidersVersionsGetOutput.from_dict) + def get_env(self, custom_provider_version_id: str) -> DashboardInstanceCustomProvidersVersionsGetEnvOutput: + """ + Get custom provider version environment + Retrieves the environment variables for a specific version of a custom provider. + + :param custom_provider_version_id: str + :return: DashboardInstanceCustomProvidersVersionsGetEnvOutput + """ + request = MetorialRequest( + path=['custom-provider-versions', custom_provider_version_id, 'env'] + ) + return self._get(request).transform(mapDashboardInstanceCustomProvidersVersionsGetEnvOutput.from_dict) + def create(self, *, custom_provider_id: str, from_: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], config: Optional[Dict[str, Any]] = None) -> DashboardInstanceCustomProvidersVersionsCreateOutput: """ Create custom provider version diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_agents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_agents.py new file mode 100644 index 00000000..14445933 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_agents.py @@ -0,0 +1,73 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAgentsListOutput, DashboardInstanceAgentsListOutput, mapDashboardInstanceAgentsListQuery, DashboardInstanceAgentsListQuery, mapDashboardInstanceAgentsGetOutput, DashboardInstanceAgentsGetOutput + +class MetorialDashboardInstanceAgentsEndpoint(BaseMetorialEndpoint): + """Inspect agents and their linked clients and instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceAgentsListOutput: + """ + List agents + Returns a paginated list of agents for the instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceAgentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'agents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAgentsListOutput.from_dict) + + def get(self, instance_id: str, agent_id: str) -> DashboardInstanceAgentsGetOutput: + """ + Get agent + Retrieves a specific agent by ID. + + :param instance_id: str + :param agent_id: str + :return: DashboardInstanceAgentsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'agents', agent_id] + ) + return self._get(request).transform(mapDashboardInstanceAgentsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_agents_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_agents_instances.py new file mode 100644 index 00000000..58f9e9c8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_agents_instances.py @@ -0,0 +1,72 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAgentsInstancesListOutput, DashboardInstanceAgentsInstancesListOutput, mapDashboardInstanceAgentsInstancesListQuery, DashboardInstanceAgentsInstancesListQuery, mapDashboardInstanceAgentsInstancesGetOutput, DashboardInstanceAgentsInstancesGetOutput + +class MetorialDashboardInstanceAgentsInstancesEndpoint(BaseMetorialEndpoint): + """Inspect agents and their linked clients and instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, agent_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_client_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceAgentsInstancesListOutput: + """ + List agent instances + Returns a paginated list of instances for an agent. + + :param instance_id: str + :param agent_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param agent_client_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceAgentsInstancesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if agent_client_id is not None: + query_dict["agent_client_id"] = agent_client_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'agents', agent_id, 'instances'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAgentsInstancesListOutput.from_dict) + + def get(self, instance_id: str, agent_id: str, agent_instance_id: str) -> DashboardInstanceAgentsInstancesGetOutput: + """ + Get agent instance + Retrieves a specific agent instance by ID. + + :param instance_id: str + :param agent_id: str + :param agent_instance_id: str + :return: DashboardInstanceAgentsInstancesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'agents', agent_id, 'instances', agent_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceAgentsInstancesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_assistants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_assistants.py new file mode 100644 index 00000000..9605e75c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_assistants.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAssistantsListOutput, DashboardInstanceAssistantsListOutput, mapDashboardInstanceAssistantsListQuery, DashboardInstanceAssistantsListQuery, mapDashboardInstanceAssistantsGetOutput, DashboardInstanceAssistantsGetOutput + +class MetorialDashboardInstanceAssistantsEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceAssistantsListOutput: + """ + List assistants + List assistants available in an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceAssistantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'assistants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAssistantsListOutput.from_dict) + + def get(self, instance_id: str, assistant_id: str) -> DashboardInstanceAssistantsGetOutput: + """ + Get assistant + Get an assistant available in an instance. + + :param instance_id: str + :param assistant_id: str + :return: DashboardInstanceAssistantsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'assistants', assistant_id] + ) + return self._get(request).transform(mapDashboardInstanceAssistantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_callbacks_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_callbacks_instances.py index 16a06146..6b09cb70 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_callbacks_instances.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_callbacks_instances.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCallbacksInstancesListOutput, DashboardInstanceCallbacksInstancesListOutput, mapDashboardInstanceCallbacksInstancesListQuery, DashboardInstanceCallbacksInstancesListQuery, mapDashboardInstanceCallbacksInstancesCreateOutput, DashboardInstanceCallbacksInstancesCreateOutput, mapDashboardInstanceCallbacksInstancesCreateBody, DashboardInstanceCallbacksInstancesCreateBody, mapDashboardInstanceCallbacksInstancesDeleteOutput, DashboardInstanceCallbacksInstancesDeleteOutput +from ..resources import mapDashboardInstanceCallbacksInstancesListOutput, DashboardInstanceCallbacksInstancesListOutput, mapDashboardInstanceCallbacksInstancesListQuery, DashboardInstanceCallbacksInstancesListQuery, mapDashboardInstanceCallbacksInstancesGetOutput, DashboardInstanceCallbacksInstancesGetOutput, mapDashboardInstanceCallbacksInstancesCreateOutput, DashboardInstanceCallbacksInstancesCreateOutput, mapDashboardInstanceCallbacksInstancesCreateBody, DashboardInstanceCallbacksInstancesCreateBody, mapDashboardInstanceCallbacksInstancesDeleteOutput, DashboardInstanceCallbacksInstancesDeleteOutput class MetorialDashboardInstanceCallbacksInstancesEndpoint(BaseMetorialEndpoint): """Attach or detach callback instances for a deployment/config/auth-config combination.""" @@ -59,6 +59,21 @@ def list(self, instance_id: str, callback_id: str, *, limit: Optional[float] = N ) return self._get(request).transform(mapDashboardInstanceCallbacksInstancesListOutput.from_dict) + def get(self, instance_id: str, callback_id: str, callback_instance_id: str) -> DashboardInstanceCallbacksInstancesGetOutput: + """ + Get callback instance + Retrieves a specific callback instance by ID. + + :param instance_id: str + :param callback_id: str + :param callback_instance_id: str + :return: DashboardInstanceCallbacksInstancesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'callbacks', callback_id, 'instances', callback_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceCallbacksInstancesGetOutput.from_dict) + def create(self, instance_id: str, callback_id: str, *, provider_config_id: str, provider_auth_config_id: Optional[str] = None) -> DashboardInstanceCallbacksInstancesCreateOutput: """ Create callback instance diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_conversations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_conversations.py new file mode 100644 index 00000000..fc7a0a75 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_conversations.py @@ -0,0 +1,101 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConversationsListOutput, DashboardInstanceConversationsListOutput, mapDashboardInstanceConversationsListQuery, DashboardInstanceConversationsListQuery, mapDashboardInstanceConversationsCreateOutput, DashboardInstanceConversationsCreateOutput, mapDashboardInstanceConversationsCreateBody, DashboardInstanceConversationsCreateBody, mapDashboardInstanceConversationsGetOutput, DashboardInstanceConversationsGetOutput, mapDashboardInstanceConversationsUpdateOutput, DashboardInstanceConversationsUpdateOutput, mapDashboardInstanceConversationsUpdateBody, DashboardInstanceConversationsUpdateBody + +class MetorialDashboardInstanceConversationsEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, assistant_id: Optional[Union[str, List[str]]] = None) -> DashboardInstanceConversationsListOutput: + """ + List assistant conversations + List assistant conversations in an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param assistant_id: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstanceConversationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if assistant_id is not None: + query_dict["assistant_id"] = assistant_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'conversations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConversationsListOutput.from_dict) + + def create(self, instance_id: str, *, assistant_id: str, title: Optional[str] = None) -> DashboardInstanceConversationsCreateOutput: + """ + Create assistant conversation + Create a new assistant conversation in an instance. + + :param instance_id: str + :param assistant_id: str + :param title: Optional[str] (optional) + :return: DashboardInstanceConversationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["assistant_id"] = assistant_id + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'conversations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConversationsCreateOutput.from_dict) + + def get(self, instance_id: str, assistant_conversation_id: str) -> DashboardInstanceConversationsGetOutput: + """ + Get assistant conversation + Get a specific assistant conversation. + + :param instance_id: str + :param assistant_conversation_id: str + :return: DashboardInstanceConversationsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'conversations', assistant_conversation_id] + ) + return self._get(request).transform(mapDashboardInstanceConversationsGetOutput.from_dict) + + def update(self, instance_id: str, assistant_conversation_id: str, *, title: Optional[str] = None) -> DashboardInstanceConversationsUpdateOutput: + """ + Update assistant conversation + Update a specific assistant conversation. + + :param instance_id: str + :param assistant_conversation_id: str + :param title: Optional[str] (optional) + :return: DashboardInstanceConversationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'conversations', assistant_conversation_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConversationsUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_conversations_messages.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_conversations_messages.py new file mode 100644 index 00000000..9cac7124 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_conversations_messages.py @@ -0,0 +1,83 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConversationsMessagesListOutput, DashboardInstanceConversationsMessagesListOutput, mapDashboardInstanceConversationsMessagesListQuery, DashboardInstanceConversationsMessagesListQuery, mapDashboardInstanceConversationsMessagesCreateOutput, DashboardInstanceConversationsMessagesCreateOutput, mapDashboardInstanceConversationsMessagesCreateBody, DashboardInstanceConversationsMessagesCreateBody, mapDashboardInstanceConversationsMessagesGetOutput, DashboardInstanceConversationsMessagesGetOutput + +class MetorialDashboardInstanceConversationsMessagesEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, assistant_conversation_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConversationsMessagesListOutput: + """ + List assistant messages + List messages in a specific assistant conversation. + + :param instance_id: str + :param assistant_conversation_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConversationsMessagesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'conversations', assistant_conversation_id, 'messages'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConversationsMessagesListOutput.from_dict) + + def create(self, instance_id: str, assistant_conversation_id: str, *, message: Dict[str, Any], parent_message_id: Optional[str] = None, model_id: Optional[str] = None) -> DashboardInstanceConversationsMessagesCreateOutput: + """ + Create assistant message + Create a user message and assistant request in a specific conversation. + + :param instance_id: str + :param assistant_conversation_id: str + :param message: Dict[str, Any] + :param parent_message_id: Optional[str] (optional) + :param model_id: Optional[str] (optional) + :return: DashboardInstanceConversationsMessagesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["message"] = message + if parent_message_id is not None: + body_dict["parent_message_id"] = parent_message_id + if model_id is not None: + body_dict["model_id"] = model_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'conversations', assistant_conversation_id, 'messages'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConversationsMessagesCreateOutput.from_dict) + + def get(self, instance_id: str, assistant_conversation_id: str, assistant_message_id: str) -> DashboardInstanceConversationsMessagesGetOutput: + """ + Get assistant message + Get a specific assistant message. + + :param instance_id: str + :param assistant_conversation_id: str + :param assistant_message_id: str + :return: DashboardInstanceConversationsMessagesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'conversations', assistant_conversation_id, 'messages', assistant_message_id] + ) + return self._get(request).transform(mapDashboardInstanceConversationsMessagesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_custom_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_custom_providers.py index e2698aeb..bb85ea7e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_custom_providers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_custom_providers.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCustomProvidersListOutput, DashboardInstanceCustomProvidersListOutput, mapDashboardInstanceCustomProvidersListQuery, DashboardInstanceCustomProvidersListQuery, mapDashboardInstanceCustomProvidersGetOutput, DashboardInstanceCustomProvidersGetOutput, mapDashboardInstanceCustomProvidersCreateOutput, DashboardInstanceCustomProvidersCreateOutput, mapDashboardInstanceCustomProvidersCreateBody, DashboardInstanceCustomProvidersCreateBody, mapDashboardInstanceCustomProvidersUpdateOutput, DashboardInstanceCustomProvidersUpdateOutput, mapDashboardInstanceCustomProvidersUpdateBody, DashboardInstanceCustomProvidersUpdateBody +from ..resources import mapDashboardInstanceCustomProvidersListOutput, DashboardInstanceCustomProvidersListOutput, mapDashboardInstanceCustomProvidersListQuery, DashboardInstanceCustomProvidersListQuery, mapDashboardInstanceCustomProvidersGetOutput, DashboardInstanceCustomProvidersGetOutput, mapDashboardInstanceCustomProvidersGetEnvOutput, DashboardInstanceCustomProvidersGetEnvOutput, mapDashboardInstanceCustomProvidersCreateOutput, DashboardInstanceCustomProvidersCreateOutput, mapDashboardInstanceCustomProvidersCreateBody, DashboardInstanceCustomProvidersCreateBody, mapDashboardInstanceCustomProvidersUpdateOutput, DashboardInstanceCustomProvidersUpdateOutput, mapDashboardInstanceCustomProvidersUpdateBody, DashboardInstanceCustomProvidersUpdateBody class MetorialDashboardInstanceCustomProvidersEndpoint(BaseMetorialEndpoint): """Custom providers allow you to deploy your own MCP servers. Create providers from container images, remote URLs, or serverless functions.""" @@ -75,6 +75,20 @@ def get(self, instance_id: str, custom_provider_id: str) -> DashboardInstanceCus ) return self._get(request).transform(mapDashboardInstanceCustomProvidersGetOutput.from_dict) + def get_env(self, instance_id: str, custom_provider_id: str) -> DashboardInstanceCustomProvidersGetEnvOutput: + """ + Get custom provider environment + Retrieves the environment variables for a specific custom provider by ID. + + :param instance_id: str + :param custom_provider_id: str + :return: DashboardInstanceCustomProvidersGetEnvOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'custom-providers', custom_provider_id, 'env'] + ) + return self._get(request).transform(mapDashboardInstanceCustomProvidersGetEnvOutput.from_dict) + def create(self, instance_id: str, *, name: str, from_: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, config: Optional[Dict[str, Any]] = None) -> DashboardInstanceCustomProvidersCreateOutput: """ Create custom provider diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_custom_providers_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_custom_providers_versions.py index 8afc8247..d46ab8ae 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_custom_providers_versions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_custom_providers_versions.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCustomProvidersVersionsListOutput, DashboardInstanceCustomProvidersVersionsListOutput, mapDashboardInstanceCustomProvidersVersionsListQuery, DashboardInstanceCustomProvidersVersionsListQuery, mapDashboardInstanceCustomProvidersVersionsGetOutput, DashboardInstanceCustomProvidersVersionsGetOutput, mapDashboardInstanceCustomProvidersVersionsCreateOutput, DashboardInstanceCustomProvidersVersionsCreateOutput, mapDashboardInstanceCustomProvidersVersionsCreateBody, DashboardInstanceCustomProvidersVersionsCreateBody +from ..resources import mapDashboardInstanceCustomProvidersVersionsListOutput, DashboardInstanceCustomProvidersVersionsListOutput, mapDashboardInstanceCustomProvidersVersionsListQuery, DashboardInstanceCustomProvidersVersionsListQuery, mapDashboardInstanceCustomProvidersVersionsGetOutput, DashboardInstanceCustomProvidersVersionsGetOutput, mapDashboardInstanceCustomProvidersVersionsGetEnvOutput, DashboardInstanceCustomProvidersVersionsGetEnvOutput, mapDashboardInstanceCustomProvidersVersionsCreateOutput, DashboardInstanceCustomProvidersVersionsCreateOutput, mapDashboardInstanceCustomProvidersVersionsCreateBody, DashboardInstanceCustomProvidersVersionsCreateBody class MetorialDashboardInstanceCustomProvidersVersionsEndpoint(BaseMetorialEndpoint): """Versions represent different releases of a custom provider. Each version can be deployed to environments.""" @@ -81,6 +81,20 @@ def get(self, instance_id: str, custom_provider_version_id: str) -> DashboardIns ) return self._get(request).transform(mapDashboardInstanceCustomProvidersVersionsGetOutput.from_dict) + def get_env(self, instance_id: str, custom_provider_version_id: str) -> DashboardInstanceCustomProvidersVersionsGetEnvOutput: + """ + Get custom provider version environment + Retrieves the environment variables for a specific version of a custom provider. + + :param instance_id: str + :param custom_provider_version_id: str + :return: DashboardInstanceCustomProvidersVersionsGetEnvOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'custom-provider-versions', custom_provider_version_id, 'env'] + ) + return self._get(request).transform(mapDashboardInstanceCustomProvidersVersionsGetEnvOutput.from_dict) + def create(self, instance_id: str, *, custom_provider_id: str, from_: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], config: Optional[Dict[str, Any]] = None) -> DashboardInstanceCustomProvidersVersionsCreateOutput: """ Create custom provider version diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents.py new file mode 100644 index 00000000..6596c0e2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents.py @@ -0,0 +1,156 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsListOutput, DashboardInstanceDocumentsListOutput, mapDashboardInstanceDocumentsListQuery, DashboardInstanceDocumentsListQuery, mapDashboardInstanceDocumentsCreateOutput, DashboardInstanceDocumentsCreateOutput, mapDashboardInstanceDocumentsCreateBody, DashboardInstanceDocumentsCreateBody, mapDashboardInstanceDocumentsGetOutput, DashboardInstanceDocumentsGetOutput, mapDashboardInstanceDocumentsUpdateOutput, DashboardInstanceDocumentsUpdateOutput, mapDashboardInstanceDocumentsUpdateBody, DashboardInstanceDocumentsUpdateBody, mapDashboardInstanceDocumentsDeleteOutput, DashboardInstanceDocumentsDeleteOutput, mapDashboardInstanceDocumentsCloneOutput, DashboardInstanceDocumentsCloneOutput, mapDashboardInstanceDocumentsCloneBody, DashboardInstanceDocumentsCloneBody + +class MetorialDashboardInstanceDocumentsEndpoint(BaseMetorialEndpoint): + """Create and manage instance documents backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, file_id: Optional[Union[str, List[str]]] = None, store_id: Optional[Union[str, List[str]]] = None, parent_document_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsListOutput: + """ + List documents + Returns a paginated list of documents owned by the instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param file_id: Optional[Union[str, List[str]]] (optional) + :param store_id: Optional[Union[str, List[str]]] (optional) + :param parent_document_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if file_id is not None: + query_dict["file_id"] = file_id + if store_id is not None: + query_dict["store_id"] = store_id + if parent_document_id is not None: + query_dict["parent_document_id"] = parent_document_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsListOutput.from_dict) + + def create(self, instance_id: str, *, title: str, content: str) -> DashboardInstanceDocumentsCreateOutput: + """ + Create document + Creates a new document for the instance. + + :param instance_id: str + :param title: str + :param content: str + :return: DashboardInstanceDocumentsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["title"] = title + body_dict["content"] = content + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceDocumentsCreateOutput.from_dict) + + def get(self, instance_id: str, document_id: str) -> DashboardInstanceDocumentsGetOutput: + """ + Get document by ID + Retrieves a document by its ID. + + :param instance_id: str + :param document_id: str + :return: DashboardInstanceDocumentsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsGetOutput.from_dict) + + def update(self, instance_id: str, document_id: str, *, title: Optional[str] = None, content: Optional[str] = None) -> DashboardInstanceDocumentsUpdateOutput: + """ + Update document by ID + Updates a specific document. + + :param instance_id: str + :param document_id: str + :param title: Optional[str] (optional) + :param content: Optional[str] (optional) + :return: DashboardInstanceDocumentsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if title is not None: + body_dict["title"] = title + if content is not None: + body_dict["content"] = content + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceDocumentsUpdateOutput.from_dict) + + def delete(self, instance_id: str, document_id: str) -> DashboardInstanceDocumentsDeleteOutput: + """ + Delete document by ID + Deletes a specific document. + + :param instance_id: str + :param document_id: str + :return: DashboardInstanceDocumentsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id] + ) + return self._delete(request).transform(mapDashboardInstanceDocumentsDeleteOutput.from_dict) + + def clone(self, instance_id: str, document_id: str, *, target_document_id: Optional[str] = None, title: Optional[str] = None) -> DashboardInstanceDocumentsCloneOutput: + """ + Clone document by ID + Clones a specific document. + + :param instance_id: str + :param document_id: str + :param target_document_id: Optional[str] (optional) + :param title: Optional[str] (optional) + :return: DashboardInstanceDocumentsCloneOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if target_document_id is not None: + body_dict["target_document_id"] = target_document_id + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id, 'clone'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceDocumentsCloneOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_participants.py new file mode 100644 index 00000000..bde12c8e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_participants.py @@ -0,0 +1,66 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsParticipantsListOutput, DashboardInstanceDocumentsParticipantsListOutput, mapDashboardInstanceDocumentsParticipantsListQuery, DashboardInstanceDocumentsParticipantsListQuery, mapDashboardInstanceDocumentsParticipantsGetOutput, DashboardInstanceDocumentsParticipantsGetOutput + +class MetorialDashboardInstanceDocumentsParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect document participants and their linked Metorial resources.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, document_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsParticipantsListOutput: + """ + List document participants + Returns a paginated list of participants for a specific document. + + :param instance_id: str + :param document_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsParticipantsListOutput.from_dict) + + def get(self, instance_id: str, document_id: str, document_participant_id: str) -> DashboardInstanceDocumentsParticipantsGetOutput: + """ + Get document participant by ID + Retrieves a specific document participant by its ID. + + :param instance_id: str + :param document_id: str + :param document_participant_id: str + :return: DashboardInstanceDocumentsParticipantsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id, 'participants', document_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_permissions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_permissions.py new file mode 100644 index 00000000..b0aac0c8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_permissions.py @@ -0,0 +1,22 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsPermissionsGetOutput, DashboardInstanceDocumentsPermissionsGetOutput + +class MetorialDashboardInstanceDocumentsPermissionsEndpoint(BaseMetorialEndpoint): + """Create and manage instance documents backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, instance_id: str, document_id: str) -> DashboardInstanceDocumentsPermissionsGetOutput: + """ + Get document permissions + Returns the effective Cargo permissions for the current actor on a specific document. + + :param instance_id: str + :param document_id: str + :return: DashboardInstanceDocumentsPermissionsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id, 'permissions'] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsPermissionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_versions.py new file mode 100644 index 00000000..2cbf1fba --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_documents_versions.py @@ -0,0 +1,66 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsVersionsListOutput, DashboardInstanceDocumentsVersionsListOutput, mapDashboardInstanceDocumentsVersionsListQuery, DashboardInstanceDocumentsVersionsListQuery, mapDashboardInstanceDocumentsVersionsGetOutput, DashboardInstanceDocumentsVersionsGetOutput + +class MetorialDashboardInstanceDocumentsVersionsEndpoint(BaseMetorialEndpoint): + """Inspect document version history for an instance document.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, document_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, last_edited_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsVersionsListOutput: + """ + List document versions + Returns a paginated list of versions for a specific document. + + :param instance_id: str + :param document_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param last_edited_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsVersionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if last_edited_at is not None: + query_dict["last_edited_at"] = last_edited_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id, 'versions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsVersionsListOutput.from_dict) + + def get(self, instance_id: str, document_id: str, document_version_id: str) -> DashboardInstanceDocumentsVersionsGetOutput: + """ + Get document version by ID + Retrieves a specific document version by its ID. + + :param instance_id: str + :param document_id: str + :param document_version_id: str + :return: DashboardInstanceDocumentsVersionsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'documents', document_id, 'versions', document_version_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsVersionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_files.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_files.py index 2fae552a..d7ad0f17 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_files.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_files.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceFilesEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, purpose: Optional[str] = None) -> DashboardInstanceFilesListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, purpose: Optional[Union[str, List[str]]] = None, store_id: Optional[Union[str, List[str]]] = None, document_id: Optional[Union[str, List[str]]] = None, file_link_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceFilesListOutput: """ List instance files Returns a paginated list of files owned by the instance. @@ -19,7 +19,13 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param before: Optional[str] (optional) :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) - :param purpose: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param purpose: Optional[Union[str, List[str]]] (optional) + :param store_id: Optional[Union[str, List[str]]] (optional) + :param document_id: Optional[Union[str, List[str]]] (optional) + :param file_link_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceFilesListOutput """ # Build query parameters from keyword arguments @@ -34,8 +40,20 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["cursor"] = cursor if order is not None: query_dict["order"] = order + if id is not None: + query_dict["id"] = id if purpose is not None: query_dict["purpose"] = purpose + if store_id is not None: + query_dict["store_id"] = store_id + if document_id is not None: + query_dict["document_id"] = document_id + if file_link_id is not None: + query_dict["file_link_id"] = file_link_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'files'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_file_links.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_files_links.py similarity index 74% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_file_links.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_files_links.py index 2b6cfd2e..add3a370 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_file_links.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_files_links.py @@ -1,15 +1,15 @@ from typing import Any, Dict, List, Optional, Union from datetime import datetime from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceFileLinksListOutput, DashboardInstanceFileLinksListOutput, mapDashboardInstanceFileLinksListQuery, DashboardInstanceFileLinksListQuery, mapDashboardInstanceFileLinksGetOutput, DashboardInstanceFileLinksGetOutput, mapDashboardInstanceFileLinksCreateOutput, DashboardInstanceFileLinksCreateOutput, mapDashboardInstanceFileLinksCreateBody, DashboardInstanceFileLinksCreateBody, mapDashboardInstanceFileLinksDeleteOutput, DashboardInstanceFileLinksDeleteOutput +from ..resources import mapDashboardInstanceFilesLinksListOutput, DashboardInstanceFilesLinksListOutput, mapDashboardInstanceFilesLinksListQuery, DashboardInstanceFilesLinksListQuery, mapDashboardInstanceFilesLinksGetOutput, DashboardInstanceFilesLinksGetOutput, mapDashboardInstanceFilesLinksCreateOutput, DashboardInstanceFilesLinksCreateOutput, mapDashboardInstanceFilesLinksCreateBody, DashboardInstanceFilesLinksCreateBody, mapDashboardInstanceFilesLinksDeleteOutput, DashboardInstanceFilesLinksDeleteOutput -class MetorialDashboardInstanceFileLinksEndpoint(BaseMetorialEndpoint): +class MetorialDashboardInstanceFilesLinksEndpoint(BaseMetorialEndpoint): """Files are private by default. If you want to share a file, you can create a link for it. Links are public and do not require authentication to access, so be careful with what you share.""" def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, file_id: Optional[str] = None) -> DashboardInstanceFileLinksListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, file_id: Optional[str] = None) -> DashboardInstanceFilesLinksListOutput: """ List file links Returns a paginated list of file links owned by the instance organization. @@ -21,7 +21,7 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) :param file_id: Optional[str] (optional) - :return: DashboardInstanceFileLinksListOutput + :return: DashboardInstanceFilesLinksListOutput """ # Build query parameters from keyword arguments query_dict = {} @@ -42,23 +42,23 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option path=['dashboard', 'instances', instance_id, 'file-links'], query=query_dict ) - return self._get(request).transform(mapDashboardInstanceFileLinksListOutput.from_dict) + return self._get(request).transform(mapDashboardInstanceFilesLinksListOutput.from_dict) - def get(self, instance_id: str, link_id: str) -> DashboardInstanceFileLinksGetOutput: + def get(self, instance_id: str, link_id: str) -> DashboardInstanceFilesLinksGetOutput: """ Get file link by ID Retrieves the details of a specific file link by its ID. :param instance_id: str :param link_id: str - :return: DashboardInstanceFileLinksGetOutput + :return: DashboardInstanceFilesLinksGetOutput """ request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'file-links', link_id] ) - return self._get(request).transform(mapDashboardInstanceFileLinksGetOutput.from_dict) + return self._get(request).transform(mapDashboardInstanceFilesLinksGetOutput.from_dict) - def create(self, instance_id: str, *, file_id: str, expires_at: Optional[datetime] = None) -> DashboardInstanceFileLinksCreateOutput: + def create(self, instance_id: str, *, file_id: str, expires_at: Optional[datetime] = None) -> DashboardInstanceFilesLinksCreateOutput: """ Create file link Creates a new link for a specific file. @@ -66,7 +66,7 @@ def create(self, instance_id: str, *, file_id: str, expires_at: Optional[datetim :param instance_id: str :param file_id: str :param expires_at: Optional[datetime] (optional) - :return: DashboardInstanceFileLinksCreateOutput + :return: DashboardInstanceFilesLinksCreateOutput """ # Build body parameters from keyword arguments body_dict = {} @@ -78,18 +78,18 @@ def create(self, instance_id: str, *, file_id: str, expires_at: Optional[datetim path=['dashboard', 'instances', instance_id, 'file-links'], body=body_dict ) - return self._post(request).transform(mapDashboardInstanceFileLinksCreateOutput.from_dict) + return self._post(request).transform(mapDashboardInstanceFilesLinksCreateOutput.from_dict) - def delete(self, instance_id: str, link_id: str) -> DashboardInstanceFileLinksDeleteOutput: + def delete(self, instance_id: str, link_id: str) -> DashboardInstanceFilesLinksDeleteOutput: """ Delete file link by ID Deletes a specific file link by its ID. :param instance_id: str :param link_id: str - :return: DashboardInstanceFileLinksDeleteOutput + :return: DashboardInstanceFilesLinksDeleteOutput """ request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'file-links', link_id] ) - return self._delete(request).transform(mapDashboardInstanceFileLinksDeleteOutput.from_dict) \ No newline at end of file + return self._delete(request).transform(mapDashboardInstanceFilesLinksDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations.py new file mode 100644 index 00000000..2fc8b123 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations.py @@ -0,0 +1,160 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsListOutput, DashboardInstanceIntegrationsListOutput, mapDashboardInstanceIntegrationsListQuery, DashboardInstanceIntegrationsListQuery, mapDashboardInstanceIntegrationsGetOutput, DashboardInstanceIntegrationsGetOutput, mapDashboardInstanceIntegrationsCreateOutput, DashboardInstanceIntegrationsCreateOutput, mapDashboardInstanceIntegrationsCreateBody, DashboardInstanceIntegrationsCreateBody, mapDashboardInstanceIntegrationsUpdateOutput, DashboardInstanceIntegrationsUpdateOutput, mapDashboardInstanceIntegrationsUpdateBody, DashboardInstanceIntegrationsUpdateBody, mapDashboardInstanceIntegrationsDeleteOutput, DashboardInstanceIntegrationsDeleteOutput + +class MetorialDashboardInstanceIntegrationsEndpoint(BaseMetorialEndpoint): + """Integrations define reusable provider contracts that can then be materialized into integration instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsListOutput: + """ + List integrations + Returns a paginated list of integrations. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integrations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsListOutput.from_dict) + + def get(self, instance_id: str, integration_id: str) -> DashboardInstanceIntegrationsGetOutput: + """ + Get integration + Retrieves a specific integration. + + :param instance_id: str + :param integration_id: str + :return: DashboardInstanceIntegrationsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integrations', integration_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, can_attach_custom_tool_filters: Optional[bool] = None, can_attach_custom_provider_config: Optional[bool] = None, can_override_tool_filters: Optional[bool] = None) -> DashboardInstanceIntegrationsCreateOutput: + """ + Create integration + Creates a new integration. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param can_attach_custom_tool_filters: Optional[bool] (optional) + :param can_attach_custom_provider_config: Optional[bool] (optional) + :param can_override_tool_filters: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if can_attach_custom_tool_filters is not None: + body_dict["can_attach_custom_tool_filters"] = can_attach_custom_tool_filters + if can_attach_custom_provider_config is not None: + body_dict["can_attach_custom_provider_config"] = can_attach_custom_provider_config + if can_override_tool_filters is not None: + body_dict["can_override_tool_filters"] = can_override_tool_filters + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integrations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsCreateOutput.from_dict) + + def update(self, instance_id: str, integration_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, can_attach_custom_tool_filters: Optional[bool] = None, can_attach_custom_provider_config: Optional[bool] = None, can_override_tool_filters: Optional[bool] = None) -> DashboardInstanceIntegrationsUpdateOutput: + """ + Update integration + Updates a specific integration. + + :param instance_id: str + :param integration_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param can_attach_custom_tool_filters: Optional[bool] (optional) + :param can_attach_custom_provider_config: Optional[bool] (optional) + :param can_override_tool_filters: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if can_attach_custom_tool_filters is not None: + body_dict["can_attach_custom_tool_filters"] = can_attach_custom_tool_filters + if can_attach_custom_provider_config is not None: + body_dict["can_attach_custom_provider_config"] = can_attach_custom_provider_config + if can_override_tool_filters is not None: + body_dict["can_override_tool_filters"] = can_override_tool_filters + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integrations', integration_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsUpdateOutput.from_dict) + + def delete(self, instance_id: str, integration_id: str) -> DashboardInstanceIntegrationsDeleteOutput: + """ + Delete integration + Archives a specific integration. + + :param instance_id: str + :param integration_id: str + :return: DashboardInstanceIntegrationsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integrations', integration_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instance_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instance_groups.py new file mode 100644 index 00000000..1eb444b0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instance_groups.py @@ -0,0 +1,220 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstanceGroupsListOutput, DashboardInstanceIntegrationsInstanceGroupsListOutput, mapDashboardInstanceIntegrationsInstanceGroupsListQuery, DashboardInstanceIntegrationsInstanceGroupsListQuery, mapDashboardInstanceIntegrationsInstanceGroupsGetOutput, DashboardInstanceIntegrationsInstanceGroupsGetOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput, DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody, DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput, DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionBody, DashboardInstanceIntegrationsInstanceGroupsCreateSessionBody, mapDashboardInstanceIntegrationsInstanceGroupsCreateOutput, DashboardInstanceIntegrationsInstanceGroupsCreateOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateBody, DashboardInstanceIntegrationsInstanceGroupsCreateBody, mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutput, DashboardInstanceIntegrationsInstanceGroupsUpdateOutput, mapDashboardInstanceIntegrationsInstanceGroupsUpdateBody, DashboardInstanceIntegrationsInstanceGroupsUpdateBody, mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutput, DashboardInstanceIntegrationsInstanceGroupsDeleteOutput + +class MetorialDashboardInstanceIntegrationsInstanceGroupsEndpoint(BaseMetorialEndpoint): + """Integration instance groups combine instance providers into a grouped routed configuration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsListOutput: + """ + List integration instance groups + Returns a paginated list of integration instance groups. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsListOutput.from_dict) + + def get(self, instance_id: str, integration_instance_group_id: str) -> DashboardInstanceIntegrationsInstanceGroupsGetOutput: + """ + Get integration instance group + Retrieves a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-groups', integration_instance_group_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsGetOutput.from_dict) + + def create_session_template(self, instance_id: str, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + """ + Create integration instance group session template + Creates or updates the shared session template for a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-groups', integration_instance_group_id, 'session-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput.from_dict) + + def create_session(self, instance_id: str, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput: + """ + Create integration instance group session + Creates a session from the shared session template of a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-groups', integration_instance_group_id, 'session'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateOutput: + """ + Create integration instance group + Creates a new integration instance group. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateOutput.from_dict) + + def update(self, instance_id: str, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsUpdateOutput: + """ + Update integration instance group + Updates a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-groups', integration_instance_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutput.from_dict) + + def delete(self, instance_id: str, integration_instance_group_id: str) -> DashboardInstanceIntegrationsInstanceGroupsDeleteOutput: + """ + Delete integration instance group + Archives a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-groups', integration_instance_group_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instance_groups_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instance_groups_providers.py new file mode 100644 index 00000000..2cc9787d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instance_groups_providers.py @@ -0,0 +1,133 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersListQuery, DashboardInstanceIntegrationsInstanceGroupsProvidersListQuery, mapDashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetBody, DashboardInstanceIntegrationsInstanceGroupsProvidersSetBody, mapDashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput + +class MetorialDashboardInstanceIntegrationsInstanceGroupsProvidersEndpoint(BaseMetorialEndpoint): + """Integration instance group providers define the effective routed provider set for an integration instance group.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_instance_group_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput: + """ + List integration instance group providers + Returns a paginated list of integration instance group providers. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_group_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_instance_group_id is not None: + query_dict["integration_instance_group_id"] = integration_instance_group_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-group-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutput.from_dict) + + def get(self, instance_id: str, integration_instance_group_provider_id: str) -> DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput: + """ + Get integration instance group provider + Retrieves a specific integration instance group provider. + + :param instance_id: str + :param integration_instance_group_provider_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-group-providers', integration_instance_group_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput.from_dict) + + def set(self, instance_id: str, integration_instance_group_id: str, integration_instance_provider_id: str, *, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput: + """ + Set integration instance group provider + Creates or updates the effective integration instance group provider materialization. + + :param instance_id: str + :param integration_instance_group_id: str + :param integration_instance_provider_id: str + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-groups', integration_instance_group_id, 'providers', integration_instance_provider_id], + body=body_dict + ) + return self._put(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput.from_dict) + + def delete(self, instance_id: str, integration_instance_group_provider_id: str) -> DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + """ + Delete integration instance group provider + Archives a specific integration instance group provider. + + :param instance_id: str + :param integration_instance_group_provider_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-group-providers', integration_instance_group_provider_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instances.py new file mode 100644 index 00000000..d52ef7c1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instances.py @@ -0,0 +1,240 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstancesListOutput, DashboardInstanceIntegrationsInstancesListOutput, mapDashboardInstanceIntegrationsInstancesListQuery, DashboardInstanceIntegrationsInstancesListQuery, mapDashboardInstanceIntegrationsInstancesGetOutput, DashboardInstanceIntegrationsInstancesGetOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput, DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateBody, DashboardInstanceIntegrationsInstancesCreateSessionTemplateBody, mapDashboardInstanceIntegrationsInstancesCreateSessionOutput, DashboardInstanceIntegrationsInstancesCreateSessionOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionBody, DashboardInstanceIntegrationsInstancesCreateSessionBody, mapDashboardInstanceIntegrationsInstancesCreateOutput, DashboardInstanceIntegrationsInstancesCreateOutput, mapDashboardInstanceIntegrationsInstancesCreateBody, DashboardInstanceIntegrationsInstancesCreateBody, mapDashboardInstanceIntegrationsInstancesUpdateOutput, DashboardInstanceIntegrationsInstancesUpdateOutput, mapDashboardInstanceIntegrationsInstancesUpdateBody, DashboardInstanceIntegrationsInstancesUpdateBody, mapDashboardInstanceIntegrationsInstancesDeleteOutput, DashboardInstanceIntegrationsInstancesDeleteOutput + +class MetorialDashboardInstanceIntegrationsInstancesEndpoint(BaseMetorialEndpoint): + """Integration instances materialize an integration for a specific actor, identity, or runtime configuration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, identity_actor_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesListOutput: + """ + List integration instances + Returns a paginated list of integration instances. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) + :param identity_actor_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id + if identity_actor_id is not None: + query_dict["identity_actor_id"] = identity_actor_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instances'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesListOutput.from_dict) + + def get(self, instance_id: str, integration_instance_id: str) -> DashboardInstanceIntegrationsInstancesGetOutput: + """ + Get integration instance + Retrieves a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :return: DashboardInstanceIntegrationsInstancesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instances', integration_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesGetOutput.from_dict) + + def create_session_template(self, instance_id: str, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput: + """ + Create integration instance session template + Creates or updates the shared session template for a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instances', integration_instance_id, 'session-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput.from_dict) + + def create_session(self, instance_id: str, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesCreateSessionOutput: + """ + Create integration instance session + Creates a session from the shared session template of a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateSessionOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instances', integration_instance_id, 'session'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateSessionOutput.from_dict) + + def create(self, instance_id: str, *, integration_id: str, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstancesCreateOutput: + """ + Create integration instance + Creates a new integration instance. + + :param instance_id: str + :param integration_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instances'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateOutput.from_dict) + + def update(self, instance_id: str, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstancesUpdateOutput: + """ + Update integration instance + Updates a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstancesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instances', integration_instance_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsInstancesUpdateOutput.from_dict) + + def delete(self, instance_id: str, integration_instance_id: str) -> DashboardInstanceIntegrationsInstancesDeleteOutput: + """ + Delete integration instance + Archives a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :return: DashboardInstanceIntegrationsInstancesDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instances', integration_instance_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstancesDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instances_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instances_providers.py new file mode 100644 index 00000000..27060464 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_instances_providers.py @@ -0,0 +1,128 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstancesProvidersListOutput, DashboardInstanceIntegrationsInstancesProvidersListOutput, mapDashboardInstanceIntegrationsInstancesProvidersListQuery, DashboardInstanceIntegrationsInstancesProvidersListQuery, mapDashboardInstanceIntegrationsInstancesProvidersGetOutput, DashboardInstanceIntegrationsInstancesProvidersGetOutput, mapDashboardInstanceIntegrationsInstancesProvidersSetOutput, DashboardInstanceIntegrationsInstancesProvidersSetOutput, mapDashboardInstanceIntegrationsInstancesProvidersSetBody, DashboardInstanceIntegrationsInstancesProvidersSetBody + +class MetorialDashboardInstanceIntegrationsInstancesProvidersEndpoint(BaseMetorialEndpoint): + """Integration instance providers resolve the effective per-instance provider materialization for an integration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesProvidersListOutput: + """ + List integration instance providers + Returns a paginated list of integration instance providers. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersListOutput.from_dict) + + def get(self, instance_id: str, integration_instance_provider_id: str) -> DashboardInstanceIntegrationsInstancesProvidersGetOutput: + """ + Get integration instance provider + Retrieves a specific integration instance provider. + + :param instance_id: str + :param integration_instance_provider_id: str + :return: DashboardInstanceIntegrationsInstancesProvidersGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instance-providers', integration_instance_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersGetOutput.from_dict) + + def set(self, instance_id: str, integration_instance_id: str, provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None, is_override_tool_filter: Optional[bool] = None) -> DashboardInstanceIntegrationsInstancesProvidersSetOutput: + """ + Set integration instance provider + Creates or updates the effective integration instance provider materialization. + + :param instance_id: str + :param integration_instance_id: str + :param provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param provider_auth_config_id: Optional[str] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :param is_override_tool_filter: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsInstancesProvidersSetOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + body_dict["provider_auth_config_id"] = provider_auth_config_id + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + if is_override_tool_filter is not None: + body_dict["is_override_tool_filter"] = is_override_tool_filter + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-instances', integration_instance_id, 'providers', provider_id], + body=body_dict + ) + return self._put(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersSetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_providers.py new file mode 100644 index 00000000..4205c106 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_providers.py @@ -0,0 +1,188 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsProvidersListOutput, DashboardInstanceIntegrationsProvidersListOutput, mapDashboardInstanceIntegrationsProvidersListQuery, DashboardInstanceIntegrationsProvidersListQuery, mapDashboardInstanceIntegrationsProvidersGetOutput, DashboardInstanceIntegrationsProvidersGetOutput, mapDashboardInstanceIntegrationsProvidersCreateOutput, DashboardInstanceIntegrationsProvidersCreateOutput, mapDashboardInstanceIntegrationsProvidersCreateBody, DashboardInstanceIntegrationsProvidersCreateBody, mapDashboardInstanceIntegrationsProvidersUpdateOutput, DashboardInstanceIntegrationsProvidersUpdateOutput, mapDashboardInstanceIntegrationsProvidersUpdateBody, DashboardInstanceIntegrationsProvidersUpdateBody, mapDashboardInstanceIntegrationsProvidersDeleteOutput, DashboardInstanceIntegrationsProvidersDeleteOutput + +class MetorialDashboardInstanceIntegrationsProvidersEndpoint(BaseMetorialEndpoint): + """Integration providers define the shared provider-level contract for a given integration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsProvidersListOutput: + """ + List integration providers + Returns a paginated list of integration providers. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + query_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsProvidersListOutput.from_dict) + + def get(self, instance_id: str, integration_provider_id: str) -> DashboardInstanceIntegrationsProvidersGetOutput: + """ + Get integration provider + Retrieves a specific integration provider. + + :param instance_id: str + :param integration_provider_id: str + :return: DashboardInstanceIntegrationsProvidersGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-providers', integration_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsProvidersGetOutput.from_dict) + + def create(self, instance_id: str, *, integration_id: str, provider_id: str, provider_deployment_id: str, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, provider_config_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsProvidersCreateOutput: + """ + Create integration provider + Creates a new integration provider. + + :param instance_id: str + :param integration_id: str + :param provider_id: str + :param provider_deployment_id: str + :param provider_auth_method_id: Optional[str] (optional) + :param provider_auth_credentials_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsProvidersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["provider_id"] = provider_id + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + body_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-providers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsProvidersCreateOutput.from_dict) + + def update(self, instance_id: str, integration_provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, provider_config_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsProvidersUpdateOutput: + """ + Update integration provider + Updates a specific integration provider. + + :param instance_id: str + :param integration_provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_auth_method_id: Optional[str] (optional) + :param provider_auth_credentials_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsProvidersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + body_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-providers', integration_provider_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsProvidersUpdateOutput.from_dict) + + def delete(self, instance_id: str, integration_provider_id: str) -> DashboardInstanceIntegrationsProvidersDeleteOutput: + """ + Delete integration provider + Archives a specific integration provider. + + :param instance_id: str + :param integration_provider_id: str + :return: DashboardInstanceIntegrationsProvidersDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-providers', integration_provider_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsProvidersDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_setup_sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_setup_sessions.py new file mode 100644 index 00000000..13cbae64 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_integrations_setup_sessions.py @@ -0,0 +1,116 @@ +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsSetupSessionsListOutput, DashboardInstanceIntegrationsSetupSessionsListOutput, mapDashboardInstanceIntegrationsSetupSessionsListQuery, DashboardInstanceIntegrationsSetupSessionsListQuery, mapDashboardInstanceIntegrationsSetupSessionsGetOutput, DashboardInstanceIntegrationsSetupSessionsGetOutput, mapDashboardInstanceIntegrationsSetupSessionsCreateOutput, DashboardInstanceIntegrationsSetupSessionsCreateOutput, mapDashboardInstanceIntegrationsSetupSessionsCreateBody, DashboardInstanceIntegrationsSetupSessionsCreateBody + +class MetorialDashboardInstanceIntegrationsSetupSessionsEndpoint(BaseMetorialEndpoint): + """Integration setup sessions orchestrate configuring every provider required by an integration instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsSetupSessionsListOutput: + """ + List integration setup sessions + Returns a paginated list of integration setup sessions. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsSetupSessionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-setup-sessions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsSetupSessionsListOutput.from_dict) + + def get(self, instance_id: str, integration_setup_session_id: str) -> DashboardInstanceIntegrationsSetupSessionsGetOutput: + """ + Get integration setup session + Retrieves a specific integration setup session. + + :param instance_id: str + :param integration_setup_session_id: str + :return: DashboardInstanceIntegrationsSetupSessionsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-setup-sessions', integration_setup_session_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsSetupSessionsGetOutput.from_dict) + + def create(self, instance_id: str, *, integration_id: str, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, expires_at: Optional[datetime] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsSetupSessionsCreateOutput: + """ + Create integration setup session + Creates a new integration setup session and draft integration instance. + + :param instance_id: str + :param integration_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param redirect_url: Optional[str] (optional) + :param configuration: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsSetupSessionsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if expires_at is not None: + body_dict["expires_at"] = expires_at + if redirect_url is not None: + body_dict["redirect_url"] = redirect_url + if configuration is not None: + body_dict["configuration"] = configuration + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'integration-setup-sessions'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsSetupSessionsCreateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_endpoints.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_endpoints.py index 483b6dfa..f02ea370 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_endpoints.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_endpoints.py @@ -63,7 +63,7 @@ def get(self, instance_id: str, magic_mcp_endpoint_id: str) -> DashboardInstance ) return self._get(request).transform(mapDashboardInstanceMagicMcpEndpointsGetOutput.from_dict) - def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None, magic_mcp_server_ids: Optional[List[str]] = None, servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsCreateOutput: + def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None, skill_plugin_id: Optional[str] = None, magic_mcp_servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsCreateOutput: """ Create magic MCP endpoint Creates a magic MCP endpoint. @@ -73,8 +73,8 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) :param consumer_profile_id: Optional[str] (optional) - :param magic_mcp_server_ids: Optional[List[str]] (optional) - :param servers: Optional[List[Dict[str, Any]]] (optional) + :param skill_plugin_id: Optional[str] (optional) + :param magic_mcp_servers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceMagicMcpEndpointsCreateOutput """ # Build body parameters from keyword arguments @@ -87,10 +87,10 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O body_dict["metadata"] = metadata if consumer_profile_id is not None: body_dict["consumer_profile_id"] = consumer_profile_id - if magic_mcp_server_ids is not None: - body_dict["magic_mcp_server_ids"] = magic_mcp_server_ids - if servers is not None: - body_dict["servers"] = servers + if skill_plugin_id is not None: + body_dict["skill_plugin_id"] = skill_plugin_id + if magic_mcp_servers is not None: + body_dict["magic_mcp_servers"] = magic_mcp_servers request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'magic-mcp-endpoints'], @@ -139,23 +139,20 @@ def update(self, instance_id: str, magic_mcp_endpoint_id: str, *, name: Optional ) return self._patch(request).transform(mapDashboardInstanceMagicMcpEndpointsUpdateOutput.from_dict) - def add_servers(self, instance_id: str, magic_mcp_endpoint_id: str, *, magic_mcp_server_ids: Optional[List[str]] = None, servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsAddServersOutput: + def add_servers(self, instance_id: str, magic_mcp_endpoint_id: str, *, magic_mcp_servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsAddServersOutput: """ Add servers to magic MCP endpoint Adds magic MCP servers to a magic MCP endpoint. :param instance_id: str :param magic_mcp_endpoint_id: str - :param magic_mcp_server_ids: Optional[List[str]] (optional) - :param servers: Optional[List[Dict[str, Any]]] (optional) + :param magic_mcp_servers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceMagicMcpEndpointsAddServersOutput """ # Build body parameters from keyword arguments body_dict = {} - if magic_mcp_server_ids is not None: - body_dict["magic_mcp_server_ids"] = magic_mcp_server_ids - if servers is not None: - body_dict["servers"] = servers + if magic_mcp_servers is not None: + body_dict["magic_mcp_servers"] = magic_mcp_servers request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'magic-mcp-endpoints', magic_mcp_endpoint_id, 'add-servers'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers.py index bce511e3..fa30bdf3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers.py @@ -92,7 +92,7 @@ def tools(self, instance_id: str, magic_mcp_server_id: str) -> DashboardInstance ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersToolsOutput.from_dict) - def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_template_id: Optional[str] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -101,6 +101,7 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param provider_template_id: Optional[str] (optional) :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ @@ -112,6 +113,8 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if provider_template_id is not None: + body_dict["provider_template_id"] = provider_template_id if consumer_profile_id is not None: body_dict["consumer_profile_id"] = consumer_profile_id @@ -135,7 +138,7 @@ def delete(self, instance_id: str, magic_mcp_server_id: str) -> DashboardInstanc ) return self._delete(request).transform(mapDashboardInstanceMagicMcpServersDeleteOutput.from_dict) - def update(self, instance_id: str, magic_mcp_server_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, aliases: Optional[List[str]] = None, session_template_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersUpdateOutput: + def update(self, instance_id: str, magic_mcp_server_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, aliases: Optional[List[str]] = None) -> DashboardInstanceMagicMcpServersUpdateOutput: """ Update magic MCP server Updates a magic MCP server. @@ -146,7 +149,6 @@ def update(self, instance_id: str, magic_mcp_server_id: str, *, name: Optional[s :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) :param aliases: Optional[List[str]] (optional) - :param session_template_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersUpdateOutput """ # Build body parameters from keyword arguments @@ -159,8 +161,6 @@ def update(self, instance_id: str, magic_mcp_server_id: str, *, name: Optional[s body_dict["metadata"] = metadata if aliases is not None: body_dict["aliases"] = aliases - if session_template_id is not None: - body_dict["session_template_id"] = session_template_id request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'magic-mcp-servers', magic_mcp_server_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers_providers.py index 4727c0f1..6d6174c6 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers_providers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers_providers.py @@ -1,17 +1,17 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceMagicMcpServersProvidersListOutput, DashboardInstanceMagicMcpServersProvidersListOutput, mapDashboardInstanceMagicMcpServersProvidersListQuery, DashboardInstanceMagicMcpServersProvidersListQuery, mapDashboardInstanceMagicMcpServersProvidersGetOutput, DashboardInstanceMagicMcpServersProvidersGetOutput, mapDashboardInstanceMagicMcpServersProvidersCreateOutput, DashboardInstanceMagicMcpServersProvidersCreateOutput, mapDashboardInstanceMagicMcpServersProvidersCreateBody, DashboardInstanceMagicMcpServersProvidersCreateBody, mapDashboardInstanceMagicMcpServersProvidersUpdateOutput, DashboardInstanceMagicMcpServersProvidersUpdateOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateBody, DashboardInstanceMagicMcpServersProvidersUpdateBody, mapDashboardInstanceMagicMcpServersProvidersDeleteOutput, DashboardInstanceMagicMcpServersProvidersDeleteOutput +from ..resources import mapDashboardInstanceMagicMcpServersProvidersListOutput, DashboardInstanceMagicMcpServersProvidersListOutput, mapDashboardInstanceMagicMcpServersProvidersListQuery, DashboardInstanceMagicMcpServersProvidersListQuery, mapDashboardInstanceMagicMcpServersProvidersCreateOutput, DashboardInstanceMagicMcpServersProvidersCreateOutput, mapDashboardInstanceMagicMcpServersProvidersCreateBody, DashboardInstanceMagicMcpServersProvidersCreateBody, mapDashboardInstanceMagicMcpServersProvidersGetOutput, DashboardInstanceMagicMcpServersProvidersGetOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateOutput, DashboardInstanceMagicMcpServersProvidersUpdateOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateBody, DashboardInstanceMagicMcpServersProvidersUpdateBody, mapDashboardInstanceMagicMcpServersProvidersDeleteOutput, DashboardInstanceMagicMcpServersProvidersDeleteOutput class MetorialDashboardInstanceMagicMcpServersProvidersEndpoint(BaseMetorialEndpoint): - """Magic MCP server providers define which providers are included in the setup session template backing a magic MCP server.""" + """Magic MCP servers are stable MCP entrypoints backed by one Subspace session template.""" def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersProvidersListOutput: + def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersProvidersListOutput: """ List magic MCP server providers - Returns a paginated list of providers configured for a magic MCP server. + Returns the backing integration instance providers configured for a magic MCP server. :param instance_id: str :param magic_mcp_server_id: str @@ -23,6 +23,8 @@ def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[fl :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) @@ -48,6 +50,10 @@ def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[fl query_dict["id"] = id if provider_id is not None: query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_id is not None: @@ -65,43 +71,27 @@ def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[fl ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersListOutput.from_dict) - def get(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersGetOutput: - """ - Get magic MCP server provider - Retrieves a specific provider configuration from a magic MCP server. - - :param instance_id: str - :param magic_mcp_server_id: str - :param magic_mcp_server_provider_id: str - :return: DashboardInstanceMagicMcpServersProvidersGetOutput - """ - request = MetorialRequest( - path=['dashboard', 'instances', instance_id, 'magic-mcp-servers', magic_mcp_server_id, 'providers', magic_mcp_server_provider_id] - ) - return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersGetOutput.from_dict) - - def create(self, instance_id: str, magic_mcp_server_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_config_vault_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersCreateOutput: + def create(self, instance_id: str, magic_mcp_server_id: str, *, provider_id: str, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersCreateOutput: """ Create magic MCP server provider - Adds a new provider configuration to a magic MCP server. + Creates a configurable provider row for a magic MCP server. :param instance_id: str :param magic_mcp_server_id: str + :param provider_id: str :param provider_deployment_id: Optional[str] (optional) :param provider_config_id: Optional[str] (optional) - :param provider_config_vault_id: Optional[str] (optional) :param provider_auth_config_id: Optional[str] (optional) :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) :return: DashboardInstanceMagicMcpServersProvidersCreateOutput """ # Build body parameters from keyword arguments body_dict = {} + body_dict["provider_id"] = provider_id if provider_deployment_id is not None: body_dict["provider_deployment_id"] = provider_deployment_id if provider_config_id is not None: body_dict["provider_config_id"] = provider_config_id - if provider_config_vault_id is not None: - body_dict["provider_config_vault_id"] = provider_config_vault_id if provider_auth_config_id is not None: body_dict["provider_auth_config_id"] = provider_auth_config_id if tool_filters is not None: @@ -113,19 +103,43 @@ def create(self, instance_id: str, magic_mcp_server_id: str, *, provider_deploym ) return self._post(request).transform(mapDashboardInstanceMagicMcpServersProvidersCreateOutput.from_dict) - def update(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str, *, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersUpdateOutput: + def get(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersGetOutput: + """ + Get magic MCP server provider + Retrieves a specific backing integration instance provider for a magic MCP server. + + :param instance_id: str + :param magic_mcp_server_id: str + :param magic_mcp_server_provider_id: str + :return: DashboardInstanceMagicMcpServersProvidersGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'magic-mcp-servers', magic_mcp_server_id, 'providers', magic_mcp_server_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersGetOutput.from_dict) + + def update(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersUpdateOutput: """ Update magic MCP server provider - Updates a provider configuration in a magic MCP server. + Updates a backing integration provider and then sets the corresponding integration instance provider for a magic MCP server. :param instance_id: str :param magic_mcp_server_id: str :param magic_mcp_server_provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param provider_auth_config_id: Optional[str] (optional) :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) :return: DashboardInstanceMagicMcpServersProvidersUpdateOutput """ # Build body parameters from keyword arguments body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + body_dict["provider_auth_config_id"] = provider_auth_config_id if tool_filters is not None: body_dict["tool_filters"] = tool_filters @@ -138,7 +152,7 @@ def update(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_pr def delete(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersDeleteOutput: """ Delete magic MCP server provider - Removes a provider configuration from a magic MCP server. + Archives a backing integration instance provider from a magic MCP server and removes the shared integration provider when unused. :param instance_id: str :param magic_mcp_server_id: str diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals.py index 848b84e0..1dba1292 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals.py @@ -54,7 +54,7 @@ def get(self, instance_id: str, portal_id: str) -> DashboardInstancePortalsGetOu ) return self._get(request).transform(mapDashboardInstancePortalsGetOutput.from_dict) - def create(self, instance_id: str, *, name: str, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None) -> DashboardInstancePortalsCreateOutput: + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None, allow_consumer_skill_authoring: Optional[bool] = None, allow_consumer_skill_publishing: Optional[bool] = None) -> DashboardInstancePortalsCreateOutput: """ Create portal Creates a new portal for the instance. @@ -64,6 +64,8 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No :param description: Optional[str] (optional) :param allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] (optional) :param session_expiry_time_in_seconds: Optional[float] (optional) + :param allow_consumer_skill_authoring: Optional[bool] (optional) + :param allow_consumer_skill_publishing: Optional[bool] (optional) :return: DashboardInstancePortalsCreateOutput """ # Build body parameters from keyword arguments @@ -75,6 +77,10 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No body_dict["allowed_redirect_url_filters"] = allowed_redirect_url_filters if session_expiry_time_in_seconds is not None: body_dict["session_expiry_time_in_seconds"] = session_expiry_time_in_seconds + if allow_consumer_skill_authoring is not None: + body_dict["allow_consumer_skill_authoring"] = allow_consumer_skill_authoring + if allow_consumer_skill_publishing is not None: + body_dict["allow_consumer_skill_publishing"] = allow_consumer_skill_publishing request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'portals'], @@ -82,7 +88,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No ) return self._post(request).transform(mapDashboardInstancePortalsCreateOutput.from_dict) - def update(self, instance_id: str, portal_id: str, *, name: Optional[str] = None, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None) -> DashboardInstancePortalsUpdateOutput: + def update(self, instance_id: str, portal_id: str, *, name: Optional[str] = None, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None, allow_consumer_skill_authoring: Optional[bool] = None, allow_consumer_skill_publishing: Optional[bool] = None, skill_configuration: Optional[Dict[str, Any]] = None) -> DashboardInstancePortalsUpdateOutput: """ Update portal Updates an existing portal for the instance. @@ -93,6 +99,9 @@ def update(self, instance_id: str, portal_id: str, *, name: Optional[str] = None :param description: Optional[str] (optional) :param allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] (optional) :param session_expiry_time_in_seconds: Optional[float] (optional) + :param allow_consumer_skill_authoring: Optional[bool] (optional) + :param allow_consumer_skill_publishing: Optional[bool] (optional) + :param skill_configuration: Optional[Dict[str, Any]] (optional) :return: DashboardInstancePortalsUpdateOutput """ # Build body parameters from keyword arguments @@ -105,6 +114,12 @@ def update(self, instance_id: str, portal_id: str, *, name: Optional[str] = None body_dict["allowed_redirect_url_filters"] = allowed_redirect_url_filters if session_expiry_time_in_seconds is not None: body_dict["session_expiry_time_in_seconds"] = session_expiry_time_in_seconds + if allow_consumer_skill_authoring is not None: + body_dict["allow_consumer_skill_authoring"] = allow_consumer_skill_authoring + if allow_consumer_skill_publishing is not None: + body_dict["allow_consumer_skill_publishing"] = allow_consumer_skill_publishing + if skill_configuration is not None: + body_dict["skill_configuration"] = skill_configuration request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'portals', portal_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_access.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_access.py new file mode 100644 index 00000000..c188b651 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_access.py @@ -0,0 +1,161 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAccessListOutput, DashboardInstancePortalsAccessListOutput, mapDashboardInstancePortalsAccessListQuery, DashboardInstancePortalsAccessListQuery, mapDashboardInstancePortalsAccessGetOutput, DashboardInstancePortalsAccessGetOutput, mapDashboardInstancePortalsAccessCreateOutput, DashboardInstancePortalsAccessCreateOutput, mapDashboardInstancePortalsAccessCreateBody, DashboardInstancePortalsAccessCreateBody, mapDashboardInstancePortalsAccessUpdateOutput, DashboardInstancePortalsAccessUpdateOutput, mapDashboardInstancePortalsAccessUpdateBody, DashboardInstancePortalsAccessUpdateBody, mapDashboardInstancePortalsAccessDeleteOutput, DashboardInstancePortalsAccessDeleteOutput + +class MetorialDashboardInstancePortalsAccessEndpoint(BaseMetorialEndpoint): + """Manage which consumer groups can access portal provider templates and MCP servers.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_group_id: Optional[Union[str, List[str]]] = None, provider_template_id: Optional[Union[str, List[str]]] = None, magic_mcp_server_id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, skill_template_id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, consumer_access_listing_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsAccessListOutput: + """ + List portal access + Returns a paginated list of consumer access rules for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_group_id: Optional[Union[str, List[str]]] (optional) + :param provider_template_id: Optional[Union[str, List[str]]] (optional) + :param magic_mcp_server_id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param skill_template_id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param consumer_access_listing_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsAccessListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_group_id is not None: + query_dict["consumer_group_id"] = consumer_group_id + if provider_template_id is not None: + query_dict["provider_template_id"] = provider_template_id + if magic_mcp_server_id is not None: + query_dict["magic_mcp_server_id"] = magic_mcp_server_id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if skill_template_id is not None: + query_dict["skill_template_id"] = skill_template_id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if consumer_access_listing_id is not None: + query_dict["consumer_access_listing_id"] = consumer_access_listing_id + if type is not None: + query_dict["type"] = type + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'access'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, access_id: str) -> DashboardInstancePortalsAccessGetOutput: + """ + Get portal access + Retrieves a portal access rule by ID. + + :param instance_id: str + :param portal_id: str + :param access_id: str + :return: DashboardInstancePortalsAccessGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'access', access_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessGetOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, consumer_group_id: str, access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsAccessCreateOutput: + """ + Create portal access + Creates a new consumer access rule for the portal. + + :param instance_id: str + :param portal_id: str + :param consumer_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :param access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]] + :return: DashboardInstancePortalsAccessCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["consumer_group_id"] = consumer_group_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + body_dict["access"] = access + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'access'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsAccessCreateOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, access_id: str, *, name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsAccessUpdateOutput: + """ + Update portal access + Updates the shared listing fields for a portal access rule. + + :param instance_id: str + :param portal_id: str + :param access_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :return: DashboardInstancePortalsAccessUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'access', access_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAccessUpdateOutput.from_dict) + + def delete(self, instance_id: str, portal_id: str, access_id: str) -> DashboardInstancePortalsAccessDeleteOutput: + """ + Delete portal access + Deletes a consumer access rule from the portal. + + :param instance_id: str + :param portal_id: str + :param access_id: str + :return: DashboardInstancePortalsAccessDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'access', access_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsAccessDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_access_requests.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_access_requests.py new file mode 100644 index 00000000..86073e66 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_access_requests.py @@ -0,0 +1,93 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAccessRequestsListOutput, DashboardInstancePortalsAccessRequestsListOutput, mapDashboardInstancePortalsAccessRequestsListQuery, DashboardInstancePortalsAccessRequestsListQuery, mapDashboardInstancePortalsAccessRequestsGetOutput, DashboardInstancePortalsAccessRequestsGetOutput, mapDashboardInstancePortalsAccessRequestsUpdateOutput, DashboardInstancePortalsAccessRequestsUpdateOutput, mapDashboardInstancePortalsAccessRequestsUpdateBody, DashboardInstancePortalsAccessRequestsUpdateBody + +class MetorialDashboardInstancePortalsAccessRequestsEndpoint(BaseMetorialEndpoint): + """Review and resolve access requests for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstancePortalsAccessRequestsListOutput: + """ + List portal access requests + Returns a paginated list of access requests for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :return: DashboardInstancePortalsAccessRequestsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id + if search is not None: + query_dict["search"] = search + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'access-requests'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessRequestsListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, access_request_id: str) -> DashboardInstancePortalsAccessRequestsGetOutput: + """ + Get portal access request + Retrieves a access request by ID. + + :param instance_id: str + :param portal_id: str + :param access_request_id: str + :return: DashboardInstancePortalsAccessRequestsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'access-requests', access_request_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessRequestsGetOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, access_request_id: str, *, status: str, resolution_message: Optional[str] = None, consumer_group_id: Optional[str] = None) -> DashboardInstancePortalsAccessRequestsUpdateOutput: + """ + Review portal access request + Approves or rejects a access request. + + :param instance_id: str + :param portal_id: str + :param access_request_id: str + :param status: str + :param resolution_message: Optional[str] (optional) + :param consumer_group_id: Optional[str] (optional) + :return: DashboardInstancePortalsAccessRequestsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["status"] = status + if resolution_message is not None: + body_dict["resolution_message"] = resolution_message + if consumer_group_id is not None: + body_dict["consumer_group_id"] = consumer_group_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'access-requests', access_request_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAccessRequestsUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_app.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_app.py new file mode 100644 index 00000000..efd5d48c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_app.py @@ -0,0 +1,44 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthAppGetOutput, DashboardInstancePortalsAuthAppGetOutput, mapDashboardInstancePortalsAuthAppUpdateOutput, DashboardInstancePortalsAuthAppUpdateOutput, mapDashboardInstancePortalsAuthAppUpdateBody, DashboardInstancePortalsAuthAppUpdateBody + +class MetorialDashboardInstancePortalsAuthAppEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, instance_id: str, portal_id: str) -> DashboardInstancePortalsAuthAppGetOutput: + """ + Get portal auth app + Returns the Ares app configuration for a portal. + + :param instance_id: str + :param portal_id: str + :return: DashboardInstancePortalsAuthAppGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'auth', 'app'] + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthAppGetOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, *, email_whitelist: Optional[List[str]] = None) -> DashboardInstancePortalsAuthAppUpdateOutput: + """ + Update portal auth app + Updates the portal auth app configuration stored on the portal surface. + + :param instance_id: str + :param portal_id: str + :param email_whitelist: Optional[List[str]] (optional) + :return: DashboardInstancePortalsAuthAppUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if email_whitelist is not None: + body_dict["email_whitelist"] = email_whitelist + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'auth', 'app'], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAuthAppUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_sso_tenants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_sso_tenants.py new file mode 100644 index 00000000..a830df5c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_sso_tenants.py @@ -0,0 +1,77 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthSsoTenantsListOutput, DashboardInstancePortalsAuthSsoTenantsListOutput, mapDashboardInstancePortalsAuthSsoTenantsListQuery, DashboardInstancePortalsAuthSsoTenantsListQuery, mapDashboardInstancePortalsAuthSsoTenantsCreateOutput, DashboardInstancePortalsAuthSsoTenantsCreateOutput, mapDashboardInstancePortalsAuthSsoTenantsCreateBody, DashboardInstancePortalsAuthSsoTenantsCreateBody, mapDashboardInstancePortalsAuthSsoTenantsSetupOutput, DashboardInstancePortalsAuthSsoTenantsSetupOutput + +class MetorialDashboardInstancePortalsAuthSsoTenantsEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstancePortalsAuthSsoTenantsListOutput: + """ + List portal auth SSO tenants + Returns the SSO tenants configured for a portal Ares app. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstancePortalsAuthSsoTenantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'auth', 'sso-tenants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthSsoTenantsListOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, name: str) -> DashboardInstancePortalsAuthSsoTenantsCreateOutput: + """ + Create portal auth SSO tenant + Creates an SSO tenant for the portal Ares app. + + :param instance_id: str + :param portal_id: str + :param name: str + :return: DashboardInstancePortalsAuthSsoTenantsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'auth', 'sso-tenants'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsAuthSsoTenantsCreateOutput.from_dict) + + def setup(self, instance_id: str, portal_id: str, sso_tenant_id: str) -> DashboardInstancePortalsAuthSsoTenantsSetupOutput: + """ + Create portal auth SSO tenant setup + Creates an Ares setup URL for finishing portal SSO tenant configuration. + + :param instance_id: str + :param portal_id: str + :param sso_tenant_id: str + :return: DashboardInstancePortalsAuthSsoTenantsSetupOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'auth', 'sso-tenants', sso_tenant_id, 'setup'] + ) + return self._post(request).transform(mapDashboardInstancePortalsAuthSsoTenantsSetupOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_sso_tenants_connections.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_sso_tenants_connections.py new file mode 100644 index 00000000..c1797e8d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_auth_sso_tenants_connections.py @@ -0,0 +1,43 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutput, DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput, mapDashboardInstancePortalsAuthSsoTenantsConnectionsListQuery, DashboardInstancePortalsAuthSsoTenantsConnectionsListQuery + +class MetorialDashboardInstancePortalsAuthSsoTenantsConnectionsEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, sso_tenant_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput: + """ + List portal auth SSO tenant connections + Returns SSO connections that belong to a portal SSO tenant. + + :param instance_id: str + :param portal_id: str + :param sso_tenant_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'auth', 'sso-tenants', sso_tenant_id, 'connections'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_groups.py new file mode 100644 index 00000000..85d7418c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_groups.py @@ -0,0 +1,138 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerGroupsListOutput, DashboardInstancePortalsConsumerGroupsListOutput, mapDashboardInstancePortalsConsumerGroupsListQuery, DashboardInstancePortalsConsumerGroupsListQuery, mapDashboardInstancePortalsConsumerGroupsGetOutput, DashboardInstancePortalsConsumerGroupsGetOutput, mapDashboardInstancePortalsConsumerGroupsCreateOutput, DashboardInstancePortalsConsumerGroupsCreateOutput, mapDashboardInstancePortalsConsumerGroupsCreateBody, DashboardInstancePortalsConsumerGroupsCreateBody, mapDashboardInstancePortalsConsumerGroupsUpdateOutput, DashboardInstancePortalsConsumerGroupsUpdateOutput, mapDashboardInstancePortalsConsumerGroupsUpdateBody, DashboardInstancePortalsConsumerGroupsUpdateBody, mapDashboardInstancePortalsConsumerGroupsDeleteOutput, DashboardInstancePortalsConsumerGroupsDeleteOutput + +class MetorialDashboardInstancePortalsConsumerGroupsEndpoint(BaseMetorialEndpoint): + """Manage the consumer groups that drive portal visibility and access rules.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstancePortalsConsumerGroupsListOutput: + """ + List portal consumer groups + Returns a paginated list of consumer groups for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :return: DashboardInstancePortalsConsumerGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if search is not None: + query_dict["search"] = search + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerGroupsListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, consumer_group_id: str) -> DashboardInstancePortalsConsumerGroupsGetOutput: + """ + Get portal consumer group + Retrieves a portal consumer group by ID. + + :param instance_id: str + :param portal_id: str + :param consumer_group_id: str + :return: DashboardInstancePortalsConsumerGroupsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-groups', consumer_group_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerGroupsGetOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, name: str, description: Optional[str] = None, sso_group_ids: Optional[List[str]] = None, is_default: Optional[bool] = None) -> DashboardInstancePortalsConsumerGroupsCreateOutput: + """ + Create portal consumer group + Creates a new consumer group for the portal. + + :param instance_id: str + :param portal_id: str + :param name: str + :param description: Optional[str] (optional) + :param sso_group_ids: Optional[List[str]] (optional) + :param is_default: Optional[bool] (optional) + :return: DashboardInstancePortalsConsumerGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if sso_group_ids is not None: + body_dict["sso_group_ids"] = sso_group_ids + if is_default is not None: + body_dict["is_default"] = is_default + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerGroupsCreateOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, consumer_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, sso_group_ids: Optional[List[str]] = None, is_default: Optional[bool] = None) -> DashboardInstancePortalsConsumerGroupsUpdateOutput: + """ + Update portal consumer group + Updates a consumer group for the portal. + + :param instance_id: str + :param portal_id: str + :param consumer_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param sso_group_ids: Optional[List[str]] (optional) + :param is_default: Optional[bool] (optional) + :return: DashboardInstancePortalsConsumerGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if sso_group_ids is not None: + body_dict["sso_group_ids"] = sso_group_ids + if is_default is not None: + body_dict["is_default"] = is_default + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-groups', consumer_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsConsumerGroupsUpdateOutput.from_dict) + + def delete(self, instance_id: str, portal_id: str, consumer_group_id: str) -> DashboardInstancePortalsConsumerGroupsDeleteOutput: + """ + Delete portal consumer group + Archives a consumer group for the portal. + + :param instance_id: str + :param portal_id: str + :param consumer_group_id: str + :return: DashboardInstancePortalsConsumerGroupsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-groups', consumer_group_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsConsumerGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_invites.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_invites.py new file mode 100644 index 00000000..1ea2ed2e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_invites.py @@ -0,0 +1,88 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerInvitesListOutput, DashboardInstancePortalsConsumerInvitesListOutput, mapDashboardInstancePortalsConsumerInvitesListQuery, DashboardInstancePortalsConsumerInvitesListQuery, mapDashboardInstancePortalsConsumerInvitesCreateOutput, DashboardInstancePortalsConsumerInvitesCreateOutput, mapDashboardInstancePortalsConsumerInvitesCreateBody, DashboardInstancePortalsConsumerInvitesCreateBody, mapDashboardInstancePortalsConsumerInvitesGetOutput, DashboardInstancePortalsConsumerInvitesGetOutput + +class MetorialDashboardInstancePortalsConsumerInvitesEndpoint(BaseMetorialEndpoint): + """List and inspect consumer invites for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsConsumerInvitesListOutput: + """ + List portal consumer invites + Returns a paginated list of invites for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsConsumerInvitesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-invites'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerInvitesListOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, name: str, email: str, message: Optional[str] = None) -> DashboardInstancePortalsConsumerInvitesCreateOutput: + """ + Create portal consumer invite + Invites a consumer to a portal. + + :param instance_id: str + :param portal_id: str + :param name: str + :param email: str + :param message: Optional[str] (optional) + :return: DashboardInstancePortalsConsumerInvitesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + if message is not None: + body_dict["message"] = message + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-invites'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerInvitesCreateOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, consumer_invite_id: str) -> DashboardInstancePortalsConsumerInvitesGetOutput: + """ + Get portal consumer invite + Retrieves a portal consumer invite by ID. + + :param instance_id: str + :param portal_id: str + :param consumer_invite_id: str + :return: DashboardInstancePortalsConsumerInvitesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-invites', consumer_invite_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerInvitesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_profiles.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_profiles.py new file mode 100644 index 00000000..4d35fe91 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_consumer_profiles.py @@ -0,0 +1,130 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerProfilesListOutput, DashboardInstancePortalsConsumerProfilesListOutput, mapDashboardInstancePortalsConsumerProfilesListQuery, DashboardInstancePortalsConsumerProfilesListQuery, mapDashboardInstancePortalsConsumerProfilesGetOutput, DashboardInstancePortalsConsumerProfilesGetOutput, mapDashboardInstancePortalsConsumerProfilesCreateOutput, DashboardInstancePortalsConsumerProfilesCreateOutput, mapDashboardInstancePortalsConsumerProfilesCreateBody, DashboardInstancePortalsConsumerProfilesCreateBody, mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput, DashboardInstancePortalsConsumerProfilesAssignGroupsOutput, mapDashboardInstancePortalsConsumerProfilesAssignGroupsBody, DashboardInstancePortalsConsumerProfilesAssignGroupsBody, mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput, DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput, mapDashboardInstancePortalsConsumerProfilesUnassignGroupsBody, DashboardInstancePortalsConsumerProfilesUnassignGroupsBody + +class MetorialDashboardInstancePortalsConsumerProfilesEndpoint(BaseMetorialEndpoint): + """Manage the consumers and effective group assignments for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_group_id: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsConsumerProfilesListOutput: + """ + List portal consumer profiles + Returns a paginated list of consumer profiles for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_group_id: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsConsumerProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_group_id is not None: + query_dict["consumer_group_id"] = consumer_group_id + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-profile'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerProfilesListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, consumer_profile_id: str) -> DashboardInstancePortalsConsumerProfilesGetOutput: + """ + Get portal consumer profile + Retrieves a portal consumer profile by ID. + + :param instance_id: str + :param portal_id: str + :param consumer_profile_id: str + :return: DashboardInstancePortalsConsumerProfilesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-profile', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerProfilesGetOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, email: str, name: str) -> DashboardInstancePortalsConsumerProfilesCreateOutput: + """ + Create portal consumer profile + Creates a new portal consumer profile. + + :param instance_id: str + :param portal_id: str + :param email: str + :param name: str + :return: DashboardInstancePortalsConsumerProfilesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["email"] = email + body_dict["name"] = name + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-profile'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesCreateOutput.from_dict) + + def assign_groups(self, instance_id: str, portal_id: str, consumer_profile_id: str, *, group_ids: List[str]) -> DashboardInstancePortalsConsumerProfilesAssignGroupsOutput: + """ + Assign portal consumer profile groups + Assigns one or more groups to a portal consumer profile. + + :param instance_id: str + :param portal_id: str + :param consumer_profile_id: str + :param group_ids: List[str] + :return: DashboardInstancePortalsConsumerProfilesAssignGroupsOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["group_ids"] = group_ids + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-profile', consumer_profile_id, 'assign-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput.from_dict) + + def unassign_groups(self, instance_id: str, portal_id: str, consumer_profile_id: str, *, group_ids: List[str]) -> DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: + """ + Unassign portal consumer profile groups + Removes one or more groups from a portal consumer profile. + + :param instance_id: str + :param portal_id: str + :param consumer_profile_id: str + :param group_ids: List[str] + :return: DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["group_ids"] = group_ids + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'consumer-profile', consumer_profile_id, 'unassign-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_listings.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_listings.py new file mode 100644 index 00000000..ef19075d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_portals_listings.py @@ -0,0 +1,156 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsListingsListOutput, DashboardInstancePortalsListingsListOutput, mapDashboardInstancePortalsListingsListQuery, DashboardInstancePortalsListingsListQuery, mapDashboardInstancePortalsListingsGetOutput, DashboardInstancePortalsListingsGetOutput, mapDashboardInstancePortalsListingsCreateOutput, DashboardInstancePortalsListingsCreateOutput, mapDashboardInstancePortalsListingsCreateBody, DashboardInstancePortalsListingsCreateBody, mapDashboardInstancePortalsListingsUpdateOutput, DashboardInstancePortalsListingsUpdateOutput, mapDashboardInstancePortalsListingsUpdateBody, DashboardInstancePortalsListingsUpdateBody, mapDashboardInstancePortalsListingsDeleteOutput, DashboardInstancePortalsListingsDeleteOutput + +class MetorialDashboardInstancePortalsListingsEndpoint(BaseMetorialEndpoint): + """Read the shared listings available on a portal surface.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_surface_provider_group_id: Optional[Union[str, List[str]]] = None, provider_template_id: Optional[Union[str, List[str]]] = None, magic_mcp_server_id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, skill_template_id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsListingsListOutput: + """ + List portal listings + Returns a paginated list of shared listings for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_surface_provider_group_id: Optional[Union[str, List[str]]] (optional) + :param provider_template_id: Optional[Union[str, List[str]]] (optional) + :param magic_mcp_server_id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param skill_template_id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsListingsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_surface_provider_group_id is not None: + query_dict["consumer_surface_provider_group_id"] = consumer_surface_provider_group_id + if provider_template_id is not None: + query_dict["provider_template_id"] = provider_template_id + if magic_mcp_server_id is not None: + query_dict["magic_mcp_server_id"] = magic_mcp_server_id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if skill_template_id is not None: + query_dict["skill_template_id"] = skill_template_id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if type is not None: + query_dict["type"] = type + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'listings'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsListingsListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, listing_id: str) -> DashboardInstancePortalsListingsGetOutput: + """ + Get portal listing + Retrieves one shared listing for a portal. + + :param instance_id: str + :param portal_id: str + :param listing_id: str + :return: DashboardInstancePortalsListingsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'listings', listing_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsListingsGetOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsListingsCreateOutput: + """ + Create portal listing + Creates a shared listing for a portal. + + :param instance_id: str + :param portal_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :param access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]] + :return: DashboardInstancePortalsListingsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + body_dict["access"] = access + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'listings'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsListingsCreateOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, listing_id: str, *, name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsListingsUpdateOutput: + """ + Update portal listing + Updates listing metadata for a portal listing. + + :param instance_id: str + :param portal_id: str + :param listing_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :return: DashboardInstancePortalsListingsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'listings', listing_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsListingsUpdateOutput.from_dict) + + def delete(self, instance_id: str, portal_id: str, listing_id: str) -> DashboardInstancePortalsListingsDeleteOutput: + """ + Delete portal listing + Deletes a portal listing and all consumer access attached to it. + + :param instance_id: str + :param portal_id: str + :param listing_id: str + :return: DashboardInstancePortalsListingsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'portals', portal_id, 'listings', listing_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsListingsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_auth_configs.py index c7d30722..3c9f917a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderDeploymentsAuthConfigsEndpoint(BaseMetori def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, available_for_use: Optional[bool] = None, available_for_provider_deployment_id: Optional[str] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -23,6 +23,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param available_for_use: Optional[bool] (optional) + :param available_for_provider_deployment_id: Optional[str] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) :param actor_id: Optional[Union[str, List[str]]] (optional) @@ -54,6 +56,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_id"] = provider_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id + if available_for_use is not None: + query_dict["available_for_use"] = available_for_use + if available_for_provider_deployment_id is not None: + query_dict["available_for_provider_deployment_id"] = available_for_provider_deployment_id if provider_auth_credentials_id is not None: query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_configs.py index c5afb5e7..ef92d881 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderDeploymentsConfigsEndpoint(BaseMetorialEn def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, available_for_use: Optional[bool] = None, available_for_provider_deployment_id: Optional[str] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -24,6 +24,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param available_for_use: Optional[bool] (optional) + :param available_for_provider_deployment_id: Optional[str] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) :param actor_id: Optional[Union[str, List[str]]] (optional) :param consumer_id: Optional[Union[str, List[str]]] (optional) @@ -56,6 +58,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_specification_id"] = provider_specification_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id + if available_for_use is not None: + query_dict["available_for_use"] = available_for_use + if available_for_provider_deployment_id is not None: + query_dict["available_for_provider_deployment_id"] = available_for_provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id if actor_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_templates.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_templates.py index 7ee6cf3f..cfc87f0d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_templates.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_templates.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderTemplatesEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceProviderTemplatesListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceProviderTemplatesListOutput: """ List provider templates Returns a paginated list of provider templates. @@ -20,7 +20,7 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) :param id: Optional[Union[str, List[str]]] (optional) - :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :return: DashboardInstanceProviderTemplatesListOutput @@ -39,8 +39,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["order"] = order if id is not None: query_dict["id"] = id - if provider_deployment_id is not None: - query_dict["provider_deployment_id"] = provider_deployment_id + if integration_id is not None: + query_dict["integration_id"] = integration_id if search is not None: query_dict["search"] = search if status is not None: @@ -66,7 +66,7 @@ def get(self, instance_id: str, provider_template_id: str) -> DashboardInstanceP ) return self._get(request).transform(mapDashboardInstanceProviderTemplatesGetOutput.from_dict) - def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filers: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None, provider_deployment_id: str = None, provider_deployment: Dict[str, Any] = None) -> DashboardInstanceProviderTemplatesCreateOutput: + def create(self, instance_id: str, *, name: str, providers: List[Dict[str, Any]], description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderTemplatesCreateOutput: """ Create provider template Creates a new provider template from an existing provider deployment or creates a minimal backing deployment first. @@ -75,9 +75,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No :param name: str :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) - :param tool_filers: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) - :param provider_deployment_id: str (optional) - :param provider_deployment: Dict[str, Any] (optional) + :param providers: List[Dict[str, Any]] :return: DashboardInstanceProviderTemplatesCreateOutput """ # Build body parameters from keyword arguments @@ -87,12 +85,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata - if tool_filers is not None: - body_dict["tool_filers"] = tool_filers - if provider_deployment_id is not None: - body_dict["provider_deployment_id"] = provider_deployment_id - if provider_deployment is not None: - body_dict["provider_deployment"] = provider_deployment + body_dict["providers"] = providers request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'provider-templates'], @@ -100,7 +93,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No ) return self._post(request).transform(mapDashboardInstanceProviderTemplatesCreateOutput.from_dict) - def update(self, instance_id: str, provider_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceProviderTemplatesUpdateOutput: + def update(self, instance_id: str, provider_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceProviderTemplatesUpdateOutput: """ Update provider template Updates an existing provider template. @@ -110,7 +103,7 @@ def update(self, instance_id: str, provider_template_id: str, *, name: Optional[ :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) - :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceProviderTemplatesUpdateOutput """ # Build body parameters from keyword arguments @@ -121,8 +114,8 @@ def update(self, instance_id: str, provider_template_id: str, *, name: Optional[ body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata - if tool_filters is not None: - body_dict["tool_filters"] = tool_filters + if providers is not None: + body_dict["providers"] = providers request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'provider-templates', provider_template_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions.py index 97da76bb..0ff82f01 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceSessionsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsListOutput: """ List sessions Returns a paginated list of sessions. @@ -21,6 +21,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) :param session_template_id: Optional[Union[str, List[str]]] (optional) :param session_provider_id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) @@ -47,6 +51,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["status"] = status if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id if session_template_id is not None: query_dict["session_template_id"] = session_template_id if session_provider_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions_connections.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions_connections.py index 89cd1abb..d759a6a7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions_connections.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions_connections.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceSessionsConnectionsEndpoint(BaseMetorialEndpoint) def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, connection_state: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, participant_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsConnectionsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, connection_state: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, participant_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsConnectionsListOutput: """ List session connections Returns a paginated list of connections for a session. @@ -22,6 +22,11 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param status: Optional[Union[str, List[str]]] (optional) :param connection_state: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param session_id: Optional[Union[str, List[str]]] (optional) :param session_provider_id: Optional[Union[str, List[str]]] (optional) :param participant_id: Optional[Union[str, List[str]]] (optional) @@ -47,6 +52,16 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["connection_state"] = connection_state if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if session_id is not None: query_dict["session_id"] = session_id if session_provider_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions_participants.py index 15b65ca5..e2246842 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions_participants.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_sessions_participants.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceSessionsParticipantsEndpoint(BaseMetorialEndpoint def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_connection_id: Optional[Union[str, List[str]]] = None, session_message_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsParticipantsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_connection_id: Optional[Union[str, List[str]]] = None, session_message_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsParticipantsListOutput: """ List session participants Returns a paginated list of participants in a session. @@ -21,6 +21,11 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param order: Optional[str] (optional) :param type: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param session_id: Optional[Union[str, List[str]]] (optional) :param session_connection_id: Optional[Union[str, List[str]]] (optional) :param session_message_id: Optional[Union[str, List[str]]] (optional) @@ -44,6 +49,16 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["type"] = type if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if session_id is not None: query_dict["session_id"] = session_id if session_connection_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills.py new file mode 100644 index 00000000..8cbb6d80 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills.py @@ -0,0 +1,283 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsListOutput, DashboardInstanceSkillsListOutput, mapDashboardInstanceSkillsListQuery, DashboardInstanceSkillsListQuery, mapDashboardInstanceSkillsGetOutput, DashboardInstanceSkillsGetOutput, mapDashboardInstanceSkillsCreateOutput, DashboardInstanceSkillsCreateOutput, mapDashboardInstanceSkillsCreateBody, DashboardInstanceSkillsCreateBody, mapDashboardInstanceSkillsUpdateOutput, DashboardInstanceSkillsUpdateOutput, mapDashboardInstanceSkillsUpdateBody, DashboardInstanceSkillsUpdateBody, mapDashboardInstanceSkillsDeleteOutput, DashboardInstanceSkillsDeleteOutput, mapDashboardInstanceSkillsForkOutput, DashboardInstanceSkillsForkOutput, mapDashboardInstanceSkillsForkBody, DashboardInstanceSkillsForkBody, mapDashboardInstanceSkillsPublishConsumerSkillOutput, DashboardInstanceSkillsPublishConsumerSkillOutput, mapDashboardInstanceSkillsDuplicateOutput, DashboardInstanceSkillsDuplicateOutput, mapDashboardInstanceSkillsDuplicateBody, DashboardInstanceSkillsDuplicateBody + +class MetorialDashboardInstanceSkillsEndpoint(BaseMetorialEndpoint): + """Skills group provider and integration capabilities into reusable, owned compositions.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsListOutput: + """ + List skills + Returns a paginated list of skills. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str) -> DashboardInstanceSkillsGetOutput: + """ + Get skill + Retrieves a specific skill. + + :param instance_id: str + :param skill_id: str + :return: DashboardInstanceSkillsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None, template_id: Optional[str] = None) -> DashboardInstanceSkillsCreateOutput: + """ + Create skill + Creates a new skill. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :param template_id: Optional[str] (optional) + :return: DashboardInstanceSkillsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if template_id is not None: + body_dict["template_id"] = template_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsCreateOutput.from_dict) + + def update(self, instance_id: str, skill_id: str, *, name: Optional[str] = None, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None) -> DashboardInstanceSkillsUpdateOutput: + """ + Update skill + Updates a specific skill. + + :param instance_id: str + :param skill_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :return: DashboardInstanceSkillsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_id: str) -> DashboardInstanceSkillsDeleteOutput: + """ + Delete skill + Archives a specific skill. + + :param instance_id: str + :param skill_id: str + :return: DashboardInstanceSkillsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsDeleteOutput.from_dict) + + def fork(self, instance_id: str, skill_id: str, *, name: str, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None) -> DashboardInstanceSkillsForkOutput: + """ + Fork skill + Forks a skill for the current consumer. Non-consumer callers duplicate the skill instead. + + :param instance_id: str + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :return: DashboardInstanceSkillsForkOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'fork'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsForkOutput.from_dict) + + def publish_consumer_skill(self, instance_id: str, skill_id: str) -> DashboardInstanceSkillsPublishConsumerSkillOutput: + """ + Publish consumer skill + Publishes a consumer-owned skill to the consumer groups they belong to. + + :param instance_id: str + :param skill_id: str + :return: DashboardInstanceSkillsPublishConsumerSkillOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'publish'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsPublishConsumerSkillOutput.from_dict) + + def duplicate(self, instance_id: str, skill_id: str, *, name: str, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsDuplicateOutput: + """ + Duplicate skill + Duplicates a skill. + + :param instance_id: str + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsDuplicateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'duplicate'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsDuplicateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_agents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_agents.py new file mode 100644 index 00000000..c07a1658 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_agents.py @@ -0,0 +1,126 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsAgentsCreateOutput, DashboardInstanceSkillsAgentsCreateOutput, mapDashboardInstanceSkillsAgentsCreateBody, DashboardInstanceSkillsAgentsCreateBody, mapDashboardInstanceSkillsAgentsListOutput, DashboardInstanceSkillsAgentsListOutput, mapDashboardInstanceSkillsAgentsListQuery, DashboardInstanceSkillsAgentsListQuery, mapDashboardInstanceSkillsAgentsGetOutput, DashboardInstanceSkillsAgentsGetOutput, mapDashboardInstanceSkillsAgentsUpdateOutput, DashboardInstanceSkillsAgentsUpdateOutput, mapDashboardInstanceSkillsAgentsUpdateBody, DashboardInstanceSkillsAgentsUpdateBody, mapDashboardInstanceSkillsAgentsDeleteOutput, DashboardInstanceSkillsAgentsDeleteOutput + +class MetorialDashboardInstanceSkillsAgentsEndpoint(BaseMetorialEndpoint): + """Manage sub-agents attached to a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def create(self, instance_id: str, skill_id: str, *, name: str, description: Optional[str] = None, content: Optional[str] = None) -> DashboardInstanceSkillsAgentsCreateOutput: + """ + Create skill agent + Creates a new agent document in the skill agents directory. + + :param instance_id: str + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param content: Optional[str] (optional) + :return: DashboardInstanceSkillsAgentsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if content is not None: + body_dict["content"] = content + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'agents'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsAgentsCreateOutput.from_dict) + + def list(self, instance_id: str, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, include_archived: Optional[bool] = None) -> DashboardInstanceSkillsAgentsListOutput: + """ + List skill agents + Returns a paginated list of agents for a specific skill. + + :param instance_id: str + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param include_archived: Optional[bool] (optional) + :return: DashboardInstanceSkillsAgentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if include_archived is not None: + query_dict["include_archived"] = include_archived + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'agents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsAgentsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str, skill_agent_id: str) -> DashboardInstanceSkillsAgentsGetOutput: + """ + Get skill agent by ID + Retrieves a specific agent within a skill. + + :param instance_id: str + :param skill_id: str + :param skill_agent_id: str + :return: DashboardInstanceSkillsAgentsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'agents', skill_agent_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsAgentsGetOutput.from_dict) + + def update(self, instance_id: str, skill_id: str, skill_agent_id: str, *, name: Optional[str] = None, description: Optional[str] = None) -> DashboardInstanceSkillsAgentsUpdateOutput: + """ + Update skill agent + Updates the name or description for a specific skill agent. + + :param instance_id: str + :param skill_id: str + :param skill_agent_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :return: DashboardInstanceSkillsAgentsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'agents', skill_agent_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsAgentsUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_id: str, skill_agent_id: str) -> DashboardInstanceSkillsAgentsDeleteOutput: + """ + Delete skill agent + Archives a specific skill agent and removes its linked store item. + + :param instance_id: str + :param skill_id: str + :param skill_agent_id: str + :return: DashboardInstanceSkillsAgentsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'agents', skill_agent_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsAgentsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_configurations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_configurations.py new file mode 100644 index 00000000..e74e5371 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_configurations.py @@ -0,0 +1,122 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsConfigurationsCreateOutput, DashboardInstanceSkillsConfigurationsCreateOutput, mapDashboardInstanceSkillsConfigurationsCreateBody, DashboardInstanceSkillsConfigurationsCreateBody, mapDashboardInstanceSkillsConfigurationsListOutput, DashboardInstanceSkillsConfigurationsListOutput, mapDashboardInstanceSkillsConfigurationsListQuery, DashboardInstanceSkillsConfigurationsListQuery, mapDashboardInstanceSkillsConfigurationsGetOutput, DashboardInstanceSkillsConfigurationsGetOutput, mapDashboardInstanceSkillsConfigurationsUpdateOutput, DashboardInstanceSkillsConfigurationsUpdateOutput, mapDashboardInstanceSkillsConfigurationsUpdateBody, DashboardInstanceSkillsConfigurationsUpdateBody, mapDashboardInstanceSkillsConfigurationsDeleteOutput, DashboardInstanceSkillsConfigurationsDeleteOutput + +class MetorialDashboardInstanceSkillsConfigurationsEndpoint(BaseMetorialEndpoint): + """Manage configuration profiles for skill execution.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def create(self, instance_id: str, *, allow_scripts: Optional[bool] = None, allowed_file_extensions: Optional[List[str]] = None, allow_non_standard_directories: Optional[bool] = None) -> DashboardInstanceSkillsConfigurationsCreateOutput: + """ + Create skill configuration + Creates a new non-default skill configuration. + + :param instance_id: str + :param allow_scripts: Optional[bool] (optional) + :param allowed_file_extensions: Optional[List[str]] (optional) + :param allow_non_standard_directories: Optional[bool] (optional) + :return: DashboardInstanceSkillsConfigurationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if allow_scripts is not None: + body_dict["allow_scripts"] = allow_scripts + if allowed_file_extensions is not None: + body_dict["allowed_file_extensions"] = allowed_file_extensions + if allow_non_standard_directories is not None: + body_dict["allow_non_standard_directories"] = allow_non_standard_directories + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', 'configurations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsConfigurationsCreateOutput.from_dict) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsConfigurationsListOutput: + """ + List skill configurations + Returns a paginated list of visible skill configurations. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsConfigurationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', 'configurations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsConfigurationsListOutput.from_dict) + + def get(self, instance_id: str, skill_configuration_id: str) -> DashboardInstanceSkillsConfigurationsGetOutput: + """ + Get skill configuration + Retrieves a specific skill configuration by ID, or the default. + + :param instance_id: str + :param skill_configuration_id: str + :return: DashboardInstanceSkillsConfigurationsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', 'configurations', skill_configuration_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsConfigurationsGetOutput.from_dict) + + def update(self, instance_id: str, skill_configuration_id: str, *, allow_scripts: Optional[bool] = None, allowed_file_extensions: Optional[List[str]] = None, allow_non_standard_directories: Optional[bool] = None) -> DashboardInstanceSkillsConfigurationsUpdateOutput: + """ + Update skill configuration + Updates a specific skill configuration. Updating default creates it first if needed. + + :param instance_id: str + :param skill_configuration_id: str + :param allow_scripts: Optional[bool] (optional) + :param allowed_file_extensions: Optional[List[str]] (optional) + :param allow_non_standard_directories: Optional[bool] (optional) + :return: DashboardInstanceSkillsConfigurationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if allow_scripts is not None: + body_dict["allow_scripts"] = allow_scripts + if allowed_file_extensions is not None: + body_dict["allowed_file_extensions"] = allowed_file_extensions + if allow_non_standard_directories is not None: + body_dict["allow_non_standard_directories"] = allow_non_standard_directories + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', 'configurations', skill_configuration_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsConfigurationsUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_configuration_id: str) -> DashboardInstanceSkillsConfigurationsDeleteOutput: + """ + Delete skill configuration + Soft deletes a specific non-internal skill configuration. + + :param instance_id: str + :param skill_configuration_id: str + :return: DashboardInstanceSkillsConfigurationsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', 'configurations', skill_configuration_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsConfigurationsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_exports.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_exports.py new file mode 100644 index 00000000..eb246acd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_exports.py @@ -0,0 +1,92 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsExportsListOutput, DashboardInstanceSkillsExportsListOutput, mapDashboardInstanceSkillsExportsListQuery, DashboardInstanceSkillsExportsListQuery, mapDashboardInstanceSkillsExportsGetOutput, DashboardInstanceSkillsExportsGetOutput, mapDashboardInstanceSkillsExportsCreateOutput, DashboardInstanceSkillsExportsCreateOutput, mapDashboardInstanceSkillsExportsCreateBody, DashboardInstanceSkillsExportsCreateBody + +class MetorialDashboardInstanceSkillsExportsEndpoint(BaseMetorialEndpoint): + """Export skills, skill plugins, and skill marketplaces as zip files.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, target: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceSkillsExportsListOutput: + """ + List skill exports + Returns a paginated list of skill exports. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param target: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstanceSkillsExportsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if target is not None: + query_dict["target"] = target + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-exports'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsExportsListOutput.from_dict) + + def get(self, instance_id: str, skill_export_id: str) -> DashboardInstanceSkillsExportsGetOutput: + """ + Get skill export + Retrieves a skill export. + + :param instance_id: str + :param skill_export_id: str + :return: DashboardInstanceSkillsExportsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-exports', skill_export_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsExportsGetOutput.from_dict) + + def create(self, instance_id: str, *, target: str, skill_id: Optional[str] = None, skill_plugin_id: Optional[str] = None, skill_marketplace_id: Optional[str] = None) -> DashboardInstanceSkillsExportsCreateOutput: + """ + Create skill export + Creates a skill, plugin, or marketplace export. + + :param instance_id: str + :param target: str + :param skill_id: Optional[str] (optional) + :param skill_plugin_id: Optional[str] (optional) + :param skill_marketplace_id: Optional[str] (optional) + :return: DashboardInstanceSkillsExportsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["target"] = target + if skill_id is not None: + body_dict["skill_id"] = skill_id + if skill_plugin_id is not None: + body_dict["skill_plugin_id"] = skill_plugin_id + if skill_marketplace_id is not None: + body_dict["skill_marketplace_id"] = skill_marketplace_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-exports'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsExportsCreateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_groups.py new file mode 100644 index 00000000..3dbdde21 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_groups.py @@ -0,0 +1,145 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsGroupsListOutput, DashboardInstanceSkillsGroupsListOutput, mapDashboardInstanceSkillsGroupsListQuery, DashboardInstanceSkillsGroupsListQuery, mapDashboardInstanceSkillsGroupsGetOutput, DashboardInstanceSkillsGroupsGetOutput, mapDashboardInstanceSkillsGroupsCreateOutput, DashboardInstanceSkillsGroupsCreateOutput, mapDashboardInstanceSkillsGroupsCreateBody, DashboardInstanceSkillsGroupsCreateBody, mapDashboardInstanceSkillsGroupsUpdateOutput, DashboardInstanceSkillsGroupsUpdateOutput, mapDashboardInstanceSkillsGroupsUpdateBody, DashboardInstanceSkillsGroupsUpdateBody, mapDashboardInstanceSkillsGroupsDeleteOutput, DashboardInstanceSkillsGroupsDeleteOutput + +class MetorialDashboardInstanceSkillsGroupsEndpoint(BaseMetorialEndpoint): + """Skill groups organize skills into reusable collections.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsGroupsListOutput: + """ + List skill groups + Returns a paginated list of skill groups. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsListOutput.from_dict) + + def get(self, instance_id: str, skill_group_id: str) -> DashboardInstanceSkillsGroupsGetOutput: + """ + Get skill group + Retrieves a specific skill group. + + :param instance_id: str + :param skill_group_id: str + :return: DashboardInstanceSkillsGroupsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups', skill_group_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, skill_ids: Optional[List[str]] = None) -> DashboardInstanceSkillsGroupsCreateOutput: + """ + Create skill group + Creates a skill group. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param skill_ids: Optional[List[str]] (optional) + :return: DashboardInstanceSkillsGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if skill_ids is not None: + body_dict["skill_ids"] = skill_ids + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsGroupsCreateOutput.from_dict) + + def update(self, instance_id: str, skill_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, skill_ids: Optional[List[str]] = None) -> DashboardInstanceSkillsGroupsUpdateOutput: + """ + Update skill group + Updates a skill group. + + :param instance_id: str + :param skill_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param skill_ids: Optional[List[str]] (optional) + :return: DashboardInstanceSkillsGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if skill_ids is not None: + body_dict["skill_ids"] = skill_ids + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups', skill_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsGroupsUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_group_id: str) -> DashboardInstanceSkillsGroupsDeleteOutput: + """ + Delete skill group + Archives a skill group. + + :param instance_id: str + :param skill_group_id: str + :return: DashboardInstanceSkillsGroupsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups', skill_group_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_groups_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_groups_items.py new file mode 100644 index 00000000..2224131e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_groups_items.py @@ -0,0 +1,104 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsGroupsItemsListOutput, DashboardInstanceSkillsGroupsItemsListOutput, mapDashboardInstanceSkillsGroupsItemsListQuery, DashboardInstanceSkillsGroupsItemsListQuery, mapDashboardInstanceSkillsGroupsItemsGetOutput, DashboardInstanceSkillsGroupsItemsGetOutput, mapDashboardInstanceSkillsGroupsItemsCreateOutput, DashboardInstanceSkillsGroupsItemsCreateOutput, mapDashboardInstanceSkillsGroupsItemsCreateBody, DashboardInstanceSkillsGroupsItemsCreateBody, mapDashboardInstanceSkillsGroupsItemsDeleteOutput, DashboardInstanceSkillsGroupsItemsDeleteOutput + +class MetorialDashboardInstanceSkillsGroupsItemsEndpoint(BaseMetorialEndpoint): + """Skill group items link groups to skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_group_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsGroupsItemsListOutput: + """ + List skill group items + Returns a paginated list of items for a skill group. + + :param instance_id: str + :param skill_group_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsGroupsItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if created_at is not None: + query_dict["created_at"] = created_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups', skill_group_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsItemsListOutput.from_dict) + + def get(self, instance_id: str, skill_group_id: str, skill_group_item_id: str) -> DashboardInstanceSkillsGroupsItemsGetOutput: + """ + Get skill group item + Retrieves a specific skill group item. + + :param instance_id: str + :param skill_group_id: str + :param skill_group_item_id: str + :return: DashboardInstanceSkillsGroupsItemsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups', skill_group_id, 'items', skill_group_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsItemsGetOutput.from_dict) + + def create(self, instance_id: str, skill_group_id: str, *, skill_id: str) -> DashboardInstanceSkillsGroupsItemsCreateOutput: + """ + Create skill group item + Adds a skill to a skill group. + + :param instance_id: str + :param skill_group_id: str + :param skill_id: str + :return: DashboardInstanceSkillsGroupsItemsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_id"] = skill_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups', skill_group_id, 'items'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsGroupsItemsCreateOutput.from_dict) + + def delete(self, instance_id: str, skill_group_id: str, skill_group_item_id: str) -> DashboardInstanceSkillsGroupsItemsDeleteOutput: + """ + Delete skill group item + Archives a skill group item. + + :param instance_id: str + :param skill_group_id: str + :param skill_group_item_id: str + :return: DashboardInstanceSkillsGroupsItemsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-groups', skill_group_id, 'items', skill_group_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsGroupsItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_items.py new file mode 100644 index 00000000..551ebff0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_items.py @@ -0,0 +1,104 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsItemsListOutput, DashboardInstanceSkillsItemsListOutput, mapDashboardInstanceSkillsItemsListQuery, DashboardInstanceSkillsItemsListQuery, mapDashboardInstanceSkillsItemsGetOutput, DashboardInstanceSkillsItemsGetOutput, mapDashboardInstanceSkillsItemsCreateOutput, DashboardInstanceSkillsItemsCreateOutput, mapDashboardInstanceSkillsItemsCreateBody, DashboardInstanceSkillsItemsCreateBody, mapDashboardInstanceSkillsItemsDeleteOutput, DashboardInstanceSkillsItemsDeleteOutput + +class MetorialDashboardInstanceSkillsItemsEndpoint(BaseMetorialEndpoint): + """Skill items attach integrations and providers to skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsItemsListOutput: + """ + List skill items + Returns a paginated list of items for a skill. + + :param instance_id: str + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if created_at is not None: + query_dict["created_at"] = created_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsItemsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str, skill_item_id: str) -> DashboardInstanceSkillsItemsGetOutput: + """ + Get skill item + Retrieves a specific skill item. + + :param instance_id: str + :param skill_id: str + :param skill_item_id: str + :return: DashboardInstanceSkillsItemsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'items', skill_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsItemsGetOutput.from_dict) + + def create(self, instance_id: str, skill_id: str) -> DashboardInstanceSkillsItemsCreateOutput: + """ + Create skill item + Creates a new item on a skill. + + :param instance_id: str + :param skill_id: str + :return: DashboardInstanceSkillsItemsCreateOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'items'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsItemsCreateOutput.from_dict) + + def delete(self, instance_id: str, skill_id: str, skill_item_id: str) -> DashboardInstanceSkillsItemsDeleteOutput: + """ + Delete skill item + Archives a skill item. + + :param instance_id: str + :param skill_id: str + :param skill_item_id: str + :return: DashboardInstanceSkillsItemsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'items', skill_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_marketplaces.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_marketplaces.py new file mode 100644 index 00000000..97744761 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_marketplaces.py @@ -0,0 +1,159 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsMarketplacesListOutput, DashboardInstanceSkillsMarketplacesListOutput, mapDashboardInstanceSkillsMarketplacesListQuery, DashboardInstanceSkillsMarketplacesListQuery, mapDashboardInstanceSkillsMarketplacesGetOutput, DashboardInstanceSkillsMarketplacesGetOutput, mapDashboardInstanceSkillsMarketplacesCreateOutput, DashboardInstanceSkillsMarketplacesCreateOutput, mapDashboardInstanceSkillsMarketplacesCreateBody, DashboardInstanceSkillsMarketplacesCreateBody, mapDashboardInstanceSkillsMarketplacesUpdateOutput, DashboardInstanceSkillsMarketplacesUpdateOutput, mapDashboardInstanceSkillsMarketplacesUpdateBody, DashboardInstanceSkillsMarketplacesUpdateBody, mapDashboardInstanceSkillsMarketplacesArchiveOutput, DashboardInstanceSkillsMarketplacesArchiveOutput, mapDashboardInstanceSkillsMarketplacesSyncOutput, DashboardInstanceSkillsMarketplacesSyncOutput, mapDashboardInstanceSkillsMarketplacesSyncBody, DashboardInstanceSkillsMarketplacesSyncBody + +class MetorialDashboardInstanceSkillsMarketplacesEndpoint(BaseMetorialEndpoint): + """Manage skill marketplaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsMarketplacesListOutput: + """ + List skill marketplaces + Returns a paginated list of skill marketplaces. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsMarketplacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if search is not None: + query_dict["search"] = search + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesListOutput.from_dict) + + def get(self, instance_id: str, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesGetOutput: + """ + Get skill marketplace + Retrieves a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces', skill_marketplace_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesCreateOutput: + """ + Create skill marketplace + Creates a skill marketplace. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesCreateOutput.from_dict) + + def update(self, instance_id: str, skill_marketplace_id: str, *, name: Optional[str] = None, description: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesUpdateOutput: + """ + Update skill marketplace + Updates a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces', skill_marketplace_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsMarketplacesUpdateOutput.from_dict) + + def archive(self, instance_id: str, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesArchiveOutput: + """ + Archive skill marketplace + Archives a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesArchiveOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces', skill_marketplace_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsMarketplacesArchiveOutput.from_dict) + + def sync(self, instance_id: str, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesSyncOutput: + """ + Sync skill marketplace + Forces a skill marketplace sync. + + :param instance_id: str + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesSyncOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'sync'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesSyncOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_marketplaces_plugins.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_marketplaces_plugins.py new file mode 100644 index 00000000..3c9884a7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_marketplaces_plugins.py @@ -0,0 +1,116 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsMarketplacesPluginsListOutput, DashboardInstanceSkillsMarketplacesPluginsListOutput, mapDashboardInstanceSkillsMarketplacesPluginsListQuery, DashboardInstanceSkillsMarketplacesPluginsListQuery, mapDashboardInstanceSkillsMarketplacesPluginsAddOutput, DashboardInstanceSkillsMarketplacesPluginsAddOutput, mapDashboardInstanceSkillsMarketplacesPluginsAddBody, DashboardInstanceSkillsMarketplacesPluginsAddBody, mapDashboardInstanceSkillsMarketplacesPluginsGetOutput, DashboardInstanceSkillsMarketplacesPluginsGetOutput, mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutput, DashboardInstanceSkillsMarketplacesPluginsRemoveOutput + +class MetorialDashboardInstanceSkillsMarketplacesPluginsEndpoint(BaseMetorialEndpoint): + """Manage plugin links for skill marketplaces.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_marketplace_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_plugin_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsMarketplacesPluginsListOutput: + """ + List skill marketplace plugins + Returns plugins linked to a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_plugin_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsMarketplacesPluginsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_plugin_id is not None: + query_dict["skill_plugin_id"] = skill_plugin_id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'plugins'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsListOutput.from_dict) + + def add(self, instance_id: str, skill_marketplace_id: str, *, skill_plugin_id: str, skill_configuration_id: Optional[str] = None, identifier: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesPluginsAddOutput: + """ + Add skill marketplace plugin + Adds a skill plugin to a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :param skill_plugin_id: str + :param skill_configuration_id: Optional[str] (optional) + :param identifier: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesPluginsAddOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_plugin_id"] = skill_plugin_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + if identifier is not None: + body_dict["identifier"] = identifier + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'plugins'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsAddOutput.from_dict) + + def get(self, instance_id: str, skill_marketplace_id: str, skill_marketplace_plugin_id: str) -> DashboardInstanceSkillsMarketplacesPluginsGetOutput: + """ + Get skill marketplace plugin + Retrieves a skill marketplace plugin link. + + :param instance_id: str + :param skill_marketplace_id: str + :param skill_marketplace_plugin_id: str + :return: DashboardInstanceSkillsMarketplacesPluginsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'plugins', skill_marketplace_plugin_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsGetOutput.from_dict) + + def remove(self, instance_id: str, skill_marketplace_id: str, skill_marketplace_plugin_id: str) -> DashboardInstanceSkillsMarketplacesPluginsRemoveOutput: + """ + Remove skill marketplace plugin + Removes a skill plugin from a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :param skill_marketplace_plugin_id: str + :return: DashboardInstanceSkillsMarketplacesPluginsRemoveOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'plugins', skill_marketplace_plugin_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_participants.py new file mode 100644 index 00000000..c72bbee8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_participants.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsParticipantsListOutput, DashboardInstanceSkillsParticipantsListOutput, mapDashboardInstanceSkillsParticipantsListQuery, DashboardInstanceSkillsParticipantsListQuery, mapDashboardInstanceSkillsParticipantsGetOutput, DashboardInstanceSkillsParticipantsGetOutput + +class MetorialDashboardInstanceSkillsParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect participants associated with an instance skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsParticipantsListOutput: + """ + List skill participants + Returns a paginated list of participants for a specific skill. + + :param instance_id: str + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsParticipantsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str, skill_participant_id: str) -> DashboardInstanceSkillsParticipantsGetOutput: + """ + Get skill participant by ID + Retrieves a specific participant within a skill. + + :param instance_id: str + :param skill_id: str + :param skill_participant_id: str + :return: DashboardInstanceSkillsParticipantsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'participants', skill_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_plugins.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_plugins.py new file mode 100644 index 00000000..25e77ec2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_plugins.py @@ -0,0 +1,177 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsPluginsListOutput, DashboardInstanceSkillsPluginsListOutput, mapDashboardInstanceSkillsPluginsListQuery, DashboardInstanceSkillsPluginsListQuery, mapDashboardInstanceSkillsPluginsGetOutput, DashboardInstanceSkillsPluginsGetOutput, mapDashboardInstanceSkillsPluginsCreateOutput, DashboardInstanceSkillsPluginsCreateOutput, mapDashboardInstanceSkillsPluginsCreateBody, DashboardInstanceSkillsPluginsCreateBody, mapDashboardInstanceSkillsPluginsUpdateOutput, DashboardInstanceSkillsPluginsUpdateOutput, mapDashboardInstanceSkillsPluginsUpdateBody, DashboardInstanceSkillsPluginsUpdateBody, mapDashboardInstanceSkillsPluginsArchiveOutput, DashboardInstanceSkillsPluginsArchiveOutput, mapDashboardInstanceSkillsPluginsSyncOutput, DashboardInstanceSkillsPluginsSyncOutput, mapDashboardInstanceSkillsPluginsSyncBody, DashboardInstanceSkillsPluginsSyncBody + +class MetorialDashboardInstanceSkillsPluginsEndpoint(BaseMetorialEndpoint): + """Manage skill plugins for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, category: Optional[str] = None, search: Optional[str] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsPluginsListOutput: + """ + List skill plugins + Returns a paginated list of skill plugins. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param category: Optional[str] (optional) + :param search: Optional[str] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsPluginsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if status is not None: + query_dict["status"] = status + if category is not None: + query_dict["category"] = category + if search is not None: + query_dict["search"] = search + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsListOutput.from_dict) + + def get(self, instance_id: str, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsGetOutput: + """ + Get skill plugin + Retrieves a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, long_description: Optional[str] = None, category: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsCreateOutput: + """ + Create skill plugin + Creates a skill plugin. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param long_description: Optional[str] (optional) + :param category: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if long_description is not None: + body_dict["long_description"] = long_description + if category is not None: + body_dict["category"] = category + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsCreateOutput.from_dict) + + def update(self, instance_id: str, skill_plugin_id: str, *, name: Optional[str] = None, description: Optional[str] = None, long_description: Optional[str] = None, category: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsUpdateOutput: + """ + Update skill plugin + Updates a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param long_description: Optional[str] (optional) + :param category: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if long_description is not None: + body_dict["long_description"] = long_description + if category is not None: + body_dict["category"] = category + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsPluginsUpdateOutput.from_dict) + + def archive(self, instance_id: str, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsArchiveOutput: + """ + Archive skill plugin + Archives a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsArchiveOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsPluginsArchiveOutput.from_dict) + + def sync(self, instance_id: str, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsSyncOutput: + """ + Sync skill plugin + Forces a skill plugin sync. + + :param instance_id: str + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsSyncOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id, 'sync'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsSyncOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_plugins_skills.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_plugins_skills.py new file mode 100644 index 00000000..ffcf5c72 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_plugins_skills.py @@ -0,0 +1,168 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsPluginsSkillsListOutput, DashboardInstanceSkillsPluginsSkillsListOutput, mapDashboardInstanceSkillsPluginsSkillsListQuery, DashboardInstanceSkillsPluginsSkillsListQuery, mapDashboardInstanceSkillsPluginsSkillsAddOutput, DashboardInstanceSkillsPluginsSkillsAddOutput, mapDashboardInstanceSkillsPluginsSkillsAddBody, DashboardInstanceSkillsPluginsSkillsAddBody, mapDashboardInstanceSkillsPluginsSkillsGetOutput, DashboardInstanceSkillsPluginsSkillsGetOutput, mapDashboardInstanceSkillsPluginsSkillsUpdateOutput, DashboardInstanceSkillsPluginsSkillsUpdateOutput, mapDashboardInstanceSkillsPluginsSkillsUpdateBody, DashboardInstanceSkillsPluginsSkillsUpdateBody, mapDashboardInstanceSkillsPluginsSkillsRemoveOutput, DashboardInstanceSkillsPluginsSkillsRemoveOutput + +class MetorialDashboardInstanceSkillsPluginsSkillsEndpoint(BaseMetorialEndpoint): + """Manage skill links for skill plugins.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_plugin_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsPluginsSkillsListOutput: + """ + List skill plugin skills + Returns skills linked to a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsPluginsSkillsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsSkillsListOutput.from_dict) + + def add(self, instance_id: str, skill_plugin_id: str, *, skill_id: str, identifier: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, license: Optional[str] = None, compatibility: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsSkillsAddOutput: + """ + Add skill plugin skill + Adds a skill to a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :param skill_id: str + :param identifier: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsSkillsAddOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_id"] = skill_id + if identifier is not None: + body_dict["identifier"] = identifier + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsSkillsAddOutput.from_dict) + + def get(self, instance_id: str, skill_plugin_id: str, skill_plugin_skill_id: str) -> DashboardInstanceSkillsPluginsSkillsGetOutput: + """ + Get skill plugin skill + Retrieves a skill plugin skill link. + + :param instance_id: str + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :return: DashboardInstanceSkillsPluginsSkillsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsSkillsGetOutput.from_dict) + + def update(self, instance_id: str, skill_plugin_id: str, skill_plugin_skill_id: str, *, client_name: Optional[str] = None, client_description: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, license: Optional[str] = None, compatibility: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsSkillsUpdateOutput: + """ + Update skill plugin skill + Updates a skill plugin skill link. + + :param instance_id: str + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsSkillsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsPluginsSkillsUpdateOutput.from_dict) + + def remove(self, instance_id: str, skill_plugin_id: str, skill_plugin_skill_id: str) -> DashboardInstanceSkillsPluginsSkillsRemoveOutput: + """ + Remove skill plugin skill + Removes a skill from a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :return: DashboardInstanceSkillsPluginsSkillsRemoveOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsPluginsSkillsRemoveOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates.py new file mode 100644 index 00000000..032948f8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates.py @@ -0,0 +1,148 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsTemplatesListOutput, DashboardInstanceSkillsTemplatesListOutput, mapDashboardInstanceSkillsTemplatesListQuery, DashboardInstanceSkillsTemplatesListQuery, mapDashboardInstanceSkillsTemplatesGetOutput, DashboardInstanceSkillsTemplatesGetOutput, mapDashboardInstanceSkillsTemplatesCreateOutput, DashboardInstanceSkillsTemplatesCreateOutput, mapDashboardInstanceSkillsTemplatesCreateBody, DashboardInstanceSkillsTemplatesCreateBody, mapDashboardInstanceSkillsTemplatesUpdateOutput, DashboardInstanceSkillsTemplatesUpdateOutput, mapDashboardInstanceSkillsTemplatesUpdateBody, DashboardInstanceSkillsTemplatesUpdateBody, mapDashboardInstanceSkillsTemplatesDeleteOutput, DashboardInstanceSkillsTemplatesDeleteOutput + +class MetorialDashboardInstanceSkillsTemplatesEndpoint(BaseMetorialEndpoint): + """Skill templates define reusable starting points for skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, owner: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsTemplatesListOutput: + """ + List skill templates + Returns a paginated list of skill templates. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param owner: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsTemplatesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if owner is not None: + query_dict["owner"] = owner + if id is not None: + query_dict["id"] = id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesListOutput.from_dict) + + def get(self, instance_id: str, skill_template_id: str) -> DashboardInstanceSkillsTemplatesGetOutput: + """ + Get skill template + Retrieves a specific skill template. + + :param instance_id: str + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template', skill_template_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, from_skill_id: Optional[str] = None) -> DashboardInstanceSkillsTemplatesCreateOutput: + """ + Create skill template + Creates a skill template. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param from_skill_id: Optional[str] (optional) + :return: DashboardInstanceSkillsTemplatesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if from_skill_id is not None: + body_dict["from_skill_Id"] = from_skill_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsTemplatesCreateOutput.from_dict) + + def update(self, instance_id: str, skill_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsTemplatesUpdateOutput: + """ + Update skill template + Updates a skill template. + + :param instance_id: str + :param skill_template_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsTemplatesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template', skill_template_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsTemplatesUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_template_id: str) -> DashboardInstanceSkillsTemplatesDeleteOutput: + """ + Delete skill template + Archives a skill template. + + :param instance_id: str + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template', skill_template_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsTemplatesDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates_items.py new file mode 100644 index 00000000..ffb25499 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates_items.py @@ -0,0 +1,86 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsTemplatesItemsListOutput, DashboardInstanceSkillsTemplatesItemsListOutput, mapDashboardInstanceSkillsTemplatesItemsListQuery, DashboardInstanceSkillsTemplatesItemsListQuery, mapDashboardInstanceSkillsTemplatesItemsGetOutput, DashboardInstanceSkillsTemplatesItemsGetOutput, mapDashboardInstanceSkillsTemplatesItemsCreateOutput, DashboardInstanceSkillsTemplatesItemsCreateOutput, mapDashboardInstanceSkillsTemplatesItemsCreateBody, DashboardInstanceSkillsTemplatesItemsCreateBody, mapDashboardInstanceSkillsTemplatesItemsDeleteOutput, DashboardInstanceSkillsTemplatesItemsDeleteOutput + +class MetorialDashboardInstanceSkillsTemplatesItemsEndpoint(BaseMetorialEndpoint): + """Skill template items link template definitions to provider and integration items.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_template_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsTemplatesItemsListOutput: + """ + List skill template items + Returns a paginated list of items for a skill template. + + :param instance_id: str + :param skill_template_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsTemplatesItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template', skill_template_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesItemsListOutput.from_dict) + + def get(self, instance_id: str, skill_template_id: str, skill_template_item_id: str) -> DashboardInstanceSkillsTemplatesItemsGetOutput: + """ + Get skill template item + Retrieves a specific skill template item. + + :param instance_id: str + :param skill_template_id: str + :param skill_template_item_id: str + :return: DashboardInstanceSkillsTemplatesItemsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template', skill_template_id, 'items', skill_template_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesItemsGetOutput.from_dict) + + def create(self, instance_id: str, skill_template_id: str) -> DashboardInstanceSkillsTemplatesItemsCreateOutput: + """ + Create skill template item + Adds a provider or integration item to a skill template. + + :param instance_id: str + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesItemsCreateOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template', skill_template_id, 'items'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsTemplatesItemsCreateOutput.from_dict) + + def delete(self, instance_id: str, skill_template_id: str, skill_template_item_id: str) -> DashboardInstanceSkillsTemplatesItemsDeleteOutput: + """ + Delete skill template item + Deletes a skill template item. + + :param instance_id: str + :param skill_template_id: str + :param skill_template_item_id: str + :return: DashboardInstanceSkillsTemplatesItemsDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skill-template', skill_template_id, 'items', skill_template_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsTemplatesItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_versions.py new file mode 100644 index 00000000..7b85e03a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_versions.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsVersionsListOutput, DashboardInstanceSkillsVersionsListOutput, mapDashboardInstanceSkillsVersionsListQuery, DashboardInstanceSkillsVersionsListQuery, mapDashboardInstanceSkillsVersionsGetOutput, DashboardInstanceSkillsVersionsGetOutput + +class MetorialDashboardInstanceSkillsVersionsEndpoint(BaseMetorialEndpoint): + """Inspect version history and snapshots for a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsVersionsListOutput: + """ + List skill versions + Returns a paginated list of versions for a specific skill. + + :param instance_id: str + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsVersionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'versions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str, skill_version_id: str) -> DashboardInstanceSkillsVersionsGetOutput: + """ + Get skill version by ID + Retrieves a specific skill version by its ID. + + :param instance_id: str + :param skill_id: str + :param skill_version_id: str + :return: DashboardInstanceSkillsVersionsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'versions', skill_version_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_versions_snapshot.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_versions_snapshot.py new file mode 100644 index 00000000..55ca66f6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_versions_snapshot.py @@ -0,0 +1,23 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsVersionsSnapshotGetOutput, DashboardInstanceSkillsVersionsSnapshotGetOutput + +class MetorialDashboardInstanceSkillsVersionsSnapshotEndpoint(BaseMetorialEndpoint): + """Inspect version history and snapshots for a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, instance_id: str, skill_id: str, skill_version_id: str) -> DashboardInstanceSkillsVersionsSnapshotGetOutput: + """ + Get skill version snapshot + Retrieves the store-backed snapshot for a specific skill version. + + :param instance_id: str + :param skill_id: str + :param skill_version_id: str + :return: DashboardInstanceSkillsVersionsSnapshotGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'skills', skill_id, 'versions', skill_version_id, 'snapshot'] + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsSnapshotGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores.py new file mode 100644 index 00000000..e5ed878f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores.py @@ -0,0 +1,130 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresListOutput, DashboardInstanceStoresListOutput, mapDashboardInstanceStoresListQuery, DashboardInstanceStoresListQuery, mapDashboardInstanceStoresCreateOutput, DashboardInstanceStoresCreateOutput, mapDashboardInstanceStoresCreateBody, DashboardInstanceStoresCreateBody, mapDashboardInstanceStoresGetOutput, DashboardInstanceStoresGetOutput, mapDashboardInstanceStoresUpdateOutput, DashboardInstanceStoresUpdateOutput, mapDashboardInstanceStoresUpdateBody, DashboardInstanceStoresUpdateBody, mapDashboardInstanceStoresDeleteOutput, DashboardInstanceStoresDeleteOutput + +class MetorialDashboardInstanceStoresEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceStoresListOutput: + """ + List stores + Returns a paginated list of stores owned by the instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceStoresListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresListOutput.from_dict) + + def create(self, instance_id: str, *, name: str, access: Optional[str] = None, template_id: Optional[str] = None, parent_id: Optional[str] = None) -> DashboardInstanceStoresCreateOutput: + """ + Create store + Creates a new store for the instance. + + :param instance_id: str + :param name: str + :param access: Optional[str] (optional) + :param template_id: Optional[str] (optional) + :param parent_id: Optional[str] (optional) + :return: DashboardInstanceStoresCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if access is not None: + body_dict["access"] = access + if template_id is not None: + body_dict["template_id"] = template_id + if parent_id is not None: + body_dict["parent_id"] = parent_id + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceStoresCreateOutput.from_dict) + + def get(self, instance_id: str, store_id: str) -> DashboardInstanceStoresGetOutput: + """ + Get store by ID + Retrieves a store by its ID. + + :param instance_id: str + :param store_id: str + :return: DashboardInstanceStoresGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresGetOutput.from_dict) + + def update(self, instance_id: str, store_id: str, *, name: Optional[str] = None, access: Optional[str] = None) -> DashboardInstanceStoresUpdateOutput: + """ + Update store by ID + Updates a specific store. + + :param instance_id: str + :param store_id: str + :param name: Optional[str] (optional) + :param access: Optional[str] (optional) + :return: DashboardInstanceStoresUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if access is not None: + body_dict["access"] = access + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceStoresUpdateOutput.from_dict) + + def delete(self, instance_id: str, store_id: str) -> DashboardInstanceStoresDeleteOutput: + """ + Delete store by ID + Deletes a specific store. + + :param instance_id: str + :param store_id: str + :return: DashboardInstanceStoresDeleteOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id] + ) + return self._delete(request).transform(mapDashboardInstanceStoresDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_items.py new file mode 100644 index 00000000..3a3c4346 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_items.py @@ -0,0 +1,95 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresItemsModifyOutput, DashboardInstanceStoresItemsModifyOutput, mapDashboardInstanceStoresItemsModifyBody, DashboardInstanceStoresItemsModifyBody, mapDashboardInstanceStoresItemsListOutput, DashboardInstanceStoresItemsListOutput, mapDashboardInstanceStoresItemsListQuery, DashboardInstanceStoresItemsListQuery, mapDashboardInstanceStoresItemsGetOutput, DashboardInstanceStoresItemsGetOutput + +class MetorialDashboardInstanceStoresItemsEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def modify(self, instance_id: str, store_id: str, *, operations: List[Dict[str, Any]]) -> DashboardInstanceStoresItemsModifyOutput: + """ + Modify store items + Applies bulk item operations to a specific store. + + :param instance_id: str + :param store_id: str + :param operations: List[Dict[str, Any]] + :return: DashboardInstanceStoresItemsModifyOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["operations"] = operations + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id, 'items'], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceStoresItemsModifyOutput.from_dict) + + def list(self, instance_id: str, store_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, file_id: Optional[Union[str, List[str]]] = None, document_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceStoresItemsListOutput: + """ + List store items + Returns a paginated list of items for a specific store. + + :param instance_id: str + :param store_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param file_id: Optional[Union[str, List[str]]] (optional) + :param document_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceStoresItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if file_id is not None: + query_dict["file_id"] = file_id + if document_id is not None: + query_dict["document_id"] = document_id + if type is not None: + query_dict["type"] = type + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresItemsListOutput.from_dict) + + def get(self, instance_id: str, store_id: str, item_id: str) -> DashboardInstanceStoresItemsGetOutput: + """ + Get store item by ID + Retrieves a specific item within a store. + + :param instance_id: str + :param store_id: str + :param item_id: str + :return: DashboardInstanceStoresItemsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id, 'items', item_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresItemsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_participants.py new file mode 100644 index 00000000..bdd6a133 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_participants.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresParticipantsListOutput, DashboardInstanceStoresParticipantsListOutput, mapDashboardInstanceStoresParticipantsListQuery, DashboardInstanceStoresParticipantsListQuery, mapDashboardInstanceStoresParticipantsGetOutput, DashboardInstanceStoresParticipantsGetOutput + +class MetorialDashboardInstanceStoresParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect participants assigned to an instance store.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, store_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceStoresParticipantsListOutput: + """ + List store participants + Returns a paginated list of participants for a specific store. + + :param instance_id: str + :param store_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceStoresParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresParticipantsListOutput.from_dict) + + def get(self, instance_id: str, store_id: str, store_participant_id: str) -> DashboardInstanceStoresParticipantsGetOutput: + """ + Get store participant by ID + Retrieves a specific participant within a store. + + :param instance_id: str + :param store_id: str + :param store_participant_id: str + :return: DashboardInstanceStoresParticipantsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id, 'participants', store_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_permissions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_permissions.py new file mode 100644 index 00000000..d46da9a0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_stores_permissions.py @@ -0,0 +1,22 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresPermissionsGetOutput, DashboardInstanceStoresPermissionsGetOutput + +class MetorialDashboardInstanceStoresPermissionsEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, instance_id: str, store_id: str) -> DashboardInstanceStoresPermissionsGetOutput: + """ + Get store permissions + Returns the effective Cargo permissions for the current actor on a specific store. + + :param instance_id: str + :param store_id: str + :return: DashboardInstanceStoresPermissionsGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'stores', store_id, 'permissions'] + ) + return self._get(request).transform(mapDashboardInstanceStoresPermissionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_tool_calls.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_tool_calls.py index 79f76864..00b740fd 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_tool_calls.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_tool_calls.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceToolCallsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, tool_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceToolCallsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, tool_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceToolCallsListOutput: """ List all tool calls Returns a paginated list of tool calls across all sessions. @@ -25,6 +25,11 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param tool_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +59,16 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_config_id"] = provider_config_id if provider_auth_config_id is not None: query_dict["provider_auth_config_id"] = provider_auth_config_id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if tool_id is not None: query_dict["tool_id"] = tool_id if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents.py new file mode 100644 index 00000000..586f9335 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents.py @@ -0,0 +1,150 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsListOutput, DashboardInstanceDocumentsListOutput, mapDashboardInstanceDocumentsListQuery, DashboardInstanceDocumentsListQuery, mapDashboardInstanceDocumentsCreateOutput, DashboardInstanceDocumentsCreateOutput, mapDashboardInstanceDocumentsCreateBody, DashboardInstanceDocumentsCreateBody, mapDashboardInstanceDocumentsGetOutput, DashboardInstanceDocumentsGetOutput, mapDashboardInstanceDocumentsUpdateOutput, DashboardInstanceDocumentsUpdateOutput, mapDashboardInstanceDocumentsUpdateBody, DashboardInstanceDocumentsUpdateBody, mapDashboardInstanceDocumentsDeleteOutput, DashboardInstanceDocumentsDeleteOutput, mapDashboardInstanceDocumentsCloneOutput, DashboardInstanceDocumentsCloneOutput, mapDashboardInstanceDocumentsCloneBody, DashboardInstanceDocumentsCloneBody + +class MetorialDocumentsEndpoint(BaseMetorialEndpoint): + """Create and manage instance documents backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, file_id: Optional[Union[str, List[str]]] = None, store_id: Optional[Union[str, List[str]]] = None, parent_document_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsListOutput: + """ + List documents + Returns a paginated list of documents owned by the instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param file_id: Optional[Union[str, List[str]]] (optional) + :param store_id: Optional[Union[str, List[str]]] (optional) + :param parent_document_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if file_id is not None: + query_dict["file_id"] = file_id + if store_id is not None: + query_dict["store_id"] = store_id + if parent_document_id is not None: + query_dict["parent_document_id"] = parent_document_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['documents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsListOutput.from_dict) + + def create(self, *, title: str, content: str) -> DashboardInstanceDocumentsCreateOutput: + """ + Create document + Creates a new document for the instance. + + :param title: str + :param content: str + :return: DashboardInstanceDocumentsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["title"] = title + body_dict["content"] = content + + request = MetorialRequest( + path=['documents'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceDocumentsCreateOutput.from_dict) + + def get(self, document_id: str) -> DashboardInstanceDocumentsGetOutput: + """ + Get document by ID + Retrieves a document by its ID. + + :param document_id: str + :return: DashboardInstanceDocumentsGetOutput + """ + request = MetorialRequest( + path=['documents', document_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsGetOutput.from_dict) + + def update(self, document_id: str, *, title: Optional[str] = None, content: Optional[str] = None) -> DashboardInstanceDocumentsUpdateOutput: + """ + Update document by ID + Updates a specific document. + + :param document_id: str + :param title: Optional[str] (optional) + :param content: Optional[str] (optional) + :return: DashboardInstanceDocumentsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if title is not None: + body_dict["title"] = title + if content is not None: + body_dict["content"] = content + + request = MetorialRequest( + path=['documents', document_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceDocumentsUpdateOutput.from_dict) + + def delete(self, document_id: str) -> DashboardInstanceDocumentsDeleteOutput: + """ + Delete document by ID + Deletes a specific document. + + :param document_id: str + :return: DashboardInstanceDocumentsDeleteOutput + """ + request = MetorialRequest( + path=['documents', document_id] + ) + return self._delete(request).transform(mapDashboardInstanceDocumentsDeleteOutput.from_dict) + + def clone(self, document_id: str, *, target_document_id: Optional[str] = None, title: Optional[str] = None) -> DashboardInstanceDocumentsCloneOutput: + """ + Clone document by ID + Clones a specific document. + + :param document_id: str + :param target_document_id: Optional[str] (optional) + :param title: Optional[str] (optional) + :return: DashboardInstanceDocumentsCloneOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if target_document_id is not None: + body_dict["target_document_id"] = target_document_id + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['documents', document_id, 'clone'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceDocumentsCloneOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_participants.py new file mode 100644 index 00000000..9498875b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_participants.py @@ -0,0 +1,64 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsParticipantsListOutput, DashboardInstanceDocumentsParticipantsListOutput, mapDashboardInstanceDocumentsParticipantsListQuery, DashboardInstanceDocumentsParticipantsListQuery, mapDashboardInstanceDocumentsParticipantsGetOutput, DashboardInstanceDocumentsParticipantsGetOutput + +class MetorialDocumentsParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect document participants and their linked Metorial resources.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, document_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsParticipantsListOutput: + """ + List document participants + Returns a paginated list of participants for a specific document. + + :param document_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['documents', document_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsParticipantsListOutput.from_dict) + + def get(self, document_id: str, document_participant_id: str) -> DashboardInstanceDocumentsParticipantsGetOutput: + """ + Get document participant by ID + Retrieves a specific document participant by its ID. + + :param document_id: str + :param document_participant_id: str + :return: DashboardInstanceDocumentsParticipantsGetOutput + """ + request = MetorialRequest( + path=['documents', document_id, 'participants', document_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_permissions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_permissions.py new file mode 100644 index 00000000..c15f7b4d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_permissions.py @@ -0,0 +1,21 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsPermissionsGetOutput, DashboardInstanceDocumentsPermissionsGetOutput + +class MetorialDocumentsPermissionsEndpoint(BaseMetorialEndpoint): + """Create and manage instance documents backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, document_id: str) -> DashboardInstanceDocumentsPermissionsGetOutput: + """ + Get document permissions + Returns the effective Cargo permissions for the current actor on a specific document. + + :param document_id: str + :return: DashboardInstanceDocumentsPermissionsGetOutput + """ + request = MetorialRequest( + path=['documents', document_id, 'permissions'] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsPermissionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_versions.py new file mode 100644 index 00000000..d9fac219 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/documents_versions.py @@ -0,0 +1,64 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsVersionsListOutput, DashboardInstanceDocumentsVersionsListOutput, mapDashboardInstanceDocumentsVersionsListQuery, DashboardInstanceDocumentsVersionsListQuery, mapDashboardInstanceDocumentsVersionsGetOutput, DashboardInstanceDocumentsVersionsGetOutput + +class MetorialDocumentsVersionsEndpoint(BaseMetorialEndpoint): + """Inspect document version history for an instance document.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, document_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, last_edited_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsVersionsListOutput: + """ + List document versions + Returns a paginated list of versions for a specific document. + + :param document_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param last_edited_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsVersionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if last_edited_at is not None: + query_dict["last_edited_at"] = last_edited_at + + request = MetorialRequest( + path=['documents', document_id, 'versions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsVersionsListOutput.from_dict) + + def get(self, document_id: str, document_version_id: str) -> DashboardInstanceDocumentsVersionsGetOutput: + """ + Get document version by ID + Retrieves a specific document version by its ID. + + :param document_id: str + :param document_version_id: str + :return: DashboardInstanceDocumentsVersionsGetOutput + """ + request = MetorialRequest( + path=['documents', document_id, 'versions', document_version_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsVersionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/files.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/files.py index 7d95b3ff..7cbbd4c4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/files.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/files.py @@ -8,7 +8,7 @@ class MetorialFilesEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, purpose: Optional[str] = None) -> DashboardInstanceFilesListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, purpose: Optional[Union[str, List[str]]] = None, store_id: Optional[Union[str, List[str]]] = None, document_id: Optional[Union[str, List[str]]] = None, file_link_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceFilesListOutput: """ List instance files Returns a paginated list of files owned by the instance. @@ -18,7 +18,13 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param before: Optional[str] (optional) :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) - :param purpose: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param purpose: Optional[Union[str, List[str]]] (optional) + :param store_id: Optional[Union[str, List[str]]] (optional) + :param document_id: Optional[Union[str, List[str]]] (optional) + :param file_link_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceFilesListOutput """ # Build query parameters from keyword arguments @@ -33,8 +39,20 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["cursor"] = cursor if order is not None: query_dict["order"] = order + if id is not None: + query_dict["id"] = id if purpose is not None: query_dict["purpose"] = purpose + if store_id is not None: + query_dict["store_id"] = store_id + if document_id is not None: + query_dict["document_id"] = document_id + if file_link_id is not None: + query_dict["file_link_id"] = file_link_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at request = MetorialRequest( path=['files'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/file_links.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/files_links.py similarity index 71% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/file_links.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/files_links.py index cc4f4a56..affccbaf 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/file_links.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/files_links.py @@ -1,15 +1,15 @@ from typing import Any, Dict, List, Optional, Union from datetime import datetime from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceFileLinksListOutput, DashboardInstanceFileLinksListOutput, mapDashboardInstanceFileLinksListQuery, DashboardInstanceFileLinksListQuery, mapDashboardInstanceFileLinksGetOutput, DashboardInstanceFileLinksGetOutput, mapDashboardInstanceFileLinksCreateOutput, DashboardInstanceFileLinksCreateOutput, mapDashboardInstanceFileLinksCreateBody, DashboardInstanceFileLinksCreateBody, mapDashboardInstanceFileLinksDeleteOutput, DashboardInstanceFileLinksDeleteOutput +from ..resources import mapDashboardInstanceFilesLinksListOutput, DashboardInstanceFilesLinksListOutput, mapDashboardInstanceFilesLinksListQuery, DashboardInstanceFilesLinksListQuery, mapDashboardInstanceFilesLinksGetOutput, DashboardInstanceFilesLinksGetOutput, mapDashboardInstanceFilesLinksCreateOutput, DashboardInstanceFilesLinksCreateOutput, mapDashboardInstanceFilesLinksCreateBody, DashboardInstanceFilesLinksCreateBody, mapDashboardInstanceFilesLinksDeleteOutput, DashboardInstanceFilesLinksDeleteOutput -class MetorialFileLinksEndpoint(BaseMetorialEndpoint): +class MetorialFilesLinksEndpoint(BaseMetorialEndpoint): """Files are private by default. If you want to share a file, you can create a link for it. Links are public and do not require authentication to access, so be careful with what you share.""" def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, file_id: Optional[str] = None) -> DashboardInstanceFileLinksListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, file_id: Optional[str] = None) -> DashboardInstanceFilesLinksListOutput: """ List file links Returns a paginated list of file links owned by the instance organization. @@ -20,7 +20,7 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) :param file_id: Optional[str] (optional) - :return: DashboardInstanceFileLinksListOutput + :return: DashboardInstanceFilesLinksListOutput """ # Build query parameters from keyword arguments query_dict = {} @@ -41,29 +41,29 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be path=['file-links'], query=query_dict ) - return self._get(request).transform(mapDashboardInstanceFileLinksListOutput.from_dict) + return self._get(request).transform(mapDashboardInstanceFilesLinksListOutput.from_dict) - def get(self, link_id: str) -> DashboardInstanceFileLinksGetOutput: + def get(self, link_id: str) -> DashboardInstanceFilesLinksGetOutput: """ Get file link by ID Retrieves the details of a specific file link by its ID. :param link_id: str - :return: DashboardInstanceFileLinksGetOutput + :return: DashboardInstanceFilesLinksGetOutput """ request = MetorialRequest( path=['file-links', link_id] ) - return self._get(request).transform(mapDashboardInstanceFileLinksGetOutput.from_dict) + return self._get(request).transform(mapDashboardInstanceFilesLinksGetOutput.from_dict) - def create(self, *, file_id: str, expires_at: Optional[datetime] = None) -> DashboardInstanceFileLinksCreateOutput: + def create(self, *, file_id: str, expires_at: Optional[datetime] = None) -> DashboardInstanceFilesLinksCreateOutput: """ Create file link Creates a new link for a specific file. :param file_id: str :param expires_at: Optional[datetime] (optional) - :return: DashboardInstanceFileLinksCreateOutput + :return: DashboardInstanceFilesLinksCreateOutput """ # Build body parameters from keyword arguments body_dict = {} @@ -75,17 +75,17 @@ def create(self, *, file_id: str, expires_at: Optional[datetime] = None) -> Dash path=['file-links'], body=body_dict ) - return self._post(request).transform(mapDashboardInstanceFileLinksCreateOutput.from_dict) + return self._post(request).transform(mapDashboardInstanceFilesLinksCreateOutput.from_dict) - def delete(self, link_id: str) -> DashboardInstanceFileLinksDeleteOutput: + def delete(self, link_id: str) -> DashboardInstanceFilesLinksDeleteOutput: """ Delete file link by ID Deletes a specific file link by its ID. :param link_id: str - :return: DashboardInstanceFileLinksDeleteOutput + :return: DashboardInstanceFilesLinksDeleteOutput """ request = MetorialRequest( path=['file-links', link_id] ) - return self._delete(request).transform(mapDashboardInstanceFileLinksDeleteOutput.from_dict) \ No newline at end of file + return self._delete(request).transform(mapDashboardInstanceFilesLinksDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations.py new file mode 100644 index 00000000..458d77fc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations.py @@ -0,0 +1,155 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsListOutput, DashboardInstanceIntegrationsListOutput, mapDashboardInstanceIntegrationsListQuery, DashboardInstanceIntegrationsListQuery, mapDashboardInstanceIntegrationsGetOutput, DashboardInstanceIntegrationsGetOutput, mapDashboardInstanceIntegrationsCreateOutput, DashboardInstanceIntegrationsCreateOutput, mapDashboardInstanceIntegrationsCreateBody, DashboardInstanceIntegrationsCreateBody, mapDashboardInstanceIntegrationsUpdateOutput, DashboardInstanceIntegrationsUpdateOutput, mapDashboardInstanceIntegrationsUpdateBody, DashboardInstanceIntegrationsUpdateBody, mapDashboardInstanceIntegrationsDeleteOutput, DashboardInstanceIntegrationsDeleteOutput + +class MetorialIntegrationsEndpoint(BaseMetorialEndpoint): + """Integrations define reusable provider contracts that can then be materialized into integration instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsListOutput: + """ + List integrations + Returns a paginated list of integrations. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['integrations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsListOutput.from_dict) + + def get(self, integration_id: str) -> DashboardInstanceIntegrationsGetOutput: + """ + Get integration + Retrieves a specific integration. + + :param integration_id: str + :return: DashboardInstanceIntegrationsGetOutput + """ + request = MetorialRequest( + path=['integrations', integration_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsGetOutput.from_dict) + + def create(self, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, can_attach_custom_tool_filters: Optional[bool] = None, can_attach_custom_provider_config: Optional[bool] = None, can_override_tool_filters: Optional[bool] = None) -> DashboardInstanceIntegrationsCreateOutput: + """ + Create integration + Creates a new integration. + + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param can_attach_custom_tool_filters: Optional[bool] (optional) + :param can_attach_custom_provider_config: Optional[bool] (optional) + :param can_override_tool_filters: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if can_attach_custom_tool_filters is not None: + body_dict["can_attach_custom_tool_filters"] = can_attach_custom_tool_filters + if can_attach_custom_provider_config is not None: + body_dict["can_attach_custom_provider_config"] = can_attach_custom_provider_config + if can_override_tool_filters is not None: + body_dict["can_override_tool_filters"] = can_override_tool_filters + + request = MetorialRequest( + path=['integrations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsCreateOutput.from_dict) + + def update(self, integration_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, can_attach_custom_tool_filters: Optional[bool] = None, can_attach_custom_provider_config: Optional[bool] = None, can_override_tool_filters: Optional[bool] = None) -> DashboardInstanceIntegrationsUpdateOutput: + """ + Update integration + Updates a specific integration. + + :param integration_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param can_attach_custom_tool_filters: Optional[bool] (optional) + :param can_attach_custom_provider_config: Optional[bool] (optional) + :param can_override_tool_filters: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if can_attach_custom_tool_filters is not None: + body_dict["can_attach_custom_tool_filters"] = can_attach_custom_tool_filters + if can_attach_custom_provider_config is not None: + body_dict["can_attach_custom_provider_config"] = can_attach_custom_provider_config + if can_override_tool_filters is not None: + body_dict["can_override_tool_filters"] = can_override_tool_filters + + request = MetorialRequest( + path=['integrations', integration_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsUpdateOutput.from_dict) + + def delete(self, integration_id: str) -> DashboardInstanceIntegrationsDeleteOutput: + """ + Delete integration + Archives a specific integration. + + :param integration_id: str + :return: DashboardInstanceIntegrationsDeleteOutput + """ + request = MetorialRequest( + path=['integrations', integration_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instance_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instance_groups.py new file mode 100644 index 00000000..d4bbe041 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instance_groups.py @@ -0,0 +1,213 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstanceGroupsListOutput, DashboardInstanceIntegrationsInstanceGroupsListOutput, mapDashboardInstanceIntegrationsInstanceGroupsListQuery, DashboardInstanceIntegrationsInstanceGroupsListQuery, mapDashboardInstanceIntegrationsInstanceGroupsGetOutput, DashboardInstanceIntegrationsInstanceGroupsGetOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput, DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody, DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput, DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionBody, DashboardInstanceIntegrationsInstanceGroupsCreateSessionBody, mapDashboardInstanceIntegrationsInstanceGroupsCreateOutput, DashboardInstanceIntegrationsInstanceGroupsCreateOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateBody, DashboardInstanceIntegrationsInstanceGroupsCreateBody, mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutput, DashboardInstanceIntegrationsInstanceGroupsUpdateOutput, mapDashboardInstanceIntegrationsInstanceGroupsUpdateBody, DashboardInstanceIntegrationsInstanceGroupsUpdateBody, mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutput, DashboardInstanceIntegrationsInstanceGroupsDeleteOutput + +class MetorialIntegrationsInstanceGroupsEndpoint(BaseMetorialEndpoint): + """Integration instance groups combine instance providers into a grouped routed configuration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsListOutput: + """ + List integration instance groups + Returns a paginated list of integration instance groups. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['integration-instance-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsListOutput.from_dict) + + def get(self, integration_instance_group_id: str) -> DashboardInstanceIntegrationsInstanceGroupsGetOutput: + """ + Get integration instance group + Retrieves a specific integration instance group. + + :param integration_instance_group_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsGetOutput + """ + request = MetorialRequest( + path=['integration-instance-groups', integration_instance_group_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsGetOutput.from_dict) + + def create_session_template(self, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + """ + Create integration instance group session template + Creates or updates the shared session template for a specific integration instance group. + + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['integration-instance-groups', integration_instance_group_id, 'session-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput.from_dict) + + def create_session(self, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput: + """ + Create integration instance group session + Creates a session from the shared session template of a specific integration instance group. + + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['integration-instance-groups', integration_instance_group_id, 'session'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput.from_dict) + + def create(self, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateOutput: + """ + Create integration instance group + Creates a new integration instance group. + + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['integration-instance-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateOutput.from_dict) + + def update(self, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsUpdateOutput: + """ + Update integration instance group + Updates a specific integration instance group. + + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['integration-instance-groups', integration_instance_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutput.from_dict) + + def delete(self, integration_instance_group_id: str) -> DashboardInstanceIntegrationsInstanceGroupsDeleteOutput: + """ + Delete integration instance group + Archives a specific integration instance group. + + :param integration_instance_group_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsDeleteOutput + """ + request = MetorialRequest( + path=['integration-instance-groups', integration_instance_group_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instance_groups_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instance_groups_providers.py new file mode 100644 index 00000000..1d0d4db3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instance_groups_providers.py @@ -0,0 +1,129 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersListQuery, DashboardInstanceIntegrationsInstanceGroupsProvidersListQuery, mapDashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetBody, DashboardInstanceIntegrationsInstanceGroupsProvidersSetBody, mapDashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput + +class MetorialIntegrationsInstanceGroupsProvidersEndpoint(BaseMetorialEndpoint): + """Integration instance group providers define the effective routed provider set for an integration instance group.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_instance_group_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput: + """ + List integration instance group providers + Returns a paginated list of integration instance group providers. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_group_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_instance_group_id is not None: + query_dict["integration_instance_group_id"] = integration_instance_group_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['integration-instance-group-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutput.from_dict) + + def get(self, integration_instance_group_provider_id: str) -> DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput: + """ + Get integration instance group provider + Retrieves a specific integration instance group provider. + + :param integration_instance_group_provider_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput + """ + request = MetorialRequest( + path=['integration-instance-group-providers', integration_instance_group_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput.from_dict) + + def set(self, integration_instance_group_id: str, integration_instance_provider_id: str, *, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput: + """ + Set integration instance group provider + Creates or updates the effective integration instance group provider materialization. + + :param integration_instance_group_id: str + :param integration_instance_provider_id: str + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['integration-instance-groups', integration_instance_group_id, 'providers', integration_instance_provider_id], + body=body_dict + ) + return self._put(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput.from_dict) + + def delete(self, integration_instance_group_provider_id: str) -> DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + """ + Delete integration instance group provider + Archives a specific integration instance group provider. + + :param integration_instance_group_provider_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput + """ + request = MetorialRequest( + path=['integration-instance-group-providers', integration_instance_group_provider_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instances.py new file mode 100644 index 00000000..470dbf76 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instances.py @@ -0,0 +1,233 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstancesListOutput, DashboardInstanceIntegrationsInstancesListOutput, mapDashboardInstanceIntegrationsInstancesListQuery, DashboardInstanceIntegrationsInstancesListQuery, mapDashboardInstanceIntegrationsInstancesGetOutput, DashboardInstanceIntegrationsInstancesGetOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput, DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateBody, DashboardInstanceIntegrationsInstancesCreateSessionTemplateBody, mapDashboardInstanceIntegrationsInstancesCreateSessionOutput, DashboardInstanceIntegrationsInstancesCreateSessionOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionBody, DashboardInstanceIntegrationsInstancesCreateSessionBody, mapDashboardInstanceIntegrationsInstancesCreateOutput, DashboardInstanceIntegrationsInstancesCreateOutput, mapDashboardInstanceIntegrationsInstancesCreateBody, DashboardInstanceIntegrationsInstancesCreateBody, mapDashboardInstanceIntegrationsInstancesUpdateOutput, DashboardInstanceIntegrationsInstancesUpdateOutput, mapDashboardInstanceIntegrationsInstancesUpdateBody, DashboardInstanceIntegrationsInstancesUpdateBody, mapDashboardInstanceIntegrationsInstancesDeleteOutput, DashboardInstanceIntegrationsInstancesDeleteOutput + +class MetorialIntegrationsInstancesEndpoint(BaseMetorialEndpoint): + """Integration instances materialize an integration for a specific actor, identity, or runtime configuration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, identity_actor_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesListOutput: + """ + List integration instances + Returns a paginated list of integration instances. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) + :param identity_actor_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id + if identity_actor_id is not None: + query_dict["identity_actor_id"] = identity_actor_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['integration-instances'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesListOutput.from_dict) + + def get(self, integration_instance_id: str) -> DashboardInstanceIntegrationsInstancesGetOutput: + """ + Get integration instance + Retrieves a specific integration instance. + + :param integration_instance_id: str + :return: DashboardInstanceIntegrationsInstancesGetOutput + """ + request = MetorialRequest( + path=['integration-instances', integration_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesGetOutput.from_dict) + + def create_session_template(self, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput: + """ + Create integration instance session template + Creates or updates the shared session template for a specific integration instance. + + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['integration-instances', integration_instance_id, 'session-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput.from_dict) + + def create_session(self, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesCreateSessionOutput: + """ + Create integration instance session + Creates a session from the shared session template of a specific integration instance. + + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateSessionOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['integration-instances', integration_instance_id, 'session'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateSessionOutput.from_dict) + + def create(self, *, integration_id: str, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstancesCreateOutput: + """ + Create integration instance + Creates a new integration instance. + + :param integration_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['integration-instances'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateOutput.from_dict) + + def update(self, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstancesUpdateOutput: + """ + Update integration instance + Updates a specific integration instance. + + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstancesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['integration-instances', integration_instance_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsInstancesUpdateOutput.from_dict) + + def delete(self, integration_instance_id: str) -> DashboardInstanceIntegrationsInstancesDeleteOutput: + """ + Delete integration instance + Archives a specific integration instance. + + :param integration_instance_id: str + :return: DashboardInstanceIntegrationsInstancesDeleteOutput + """ + request = MetorialRequest( + path=['integration-instances', integration_instance_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstancesDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instances_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instances_providers.py new file mode 100644 index 00000000..aa7ed74d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_instances_providers.py @@ -0,0 +1,125 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstancesProvidersListOutput, DashboardInstanceIntegrationsInstancesProvidersListOutput, mapDashboardInstanceIntegrationsInstancesProvidersListQuery, DashboardInstanceIntegrationsInstancesProvidersListQuery, mapDashboardInstanceIntegrationsInstancesProvidersGetOutput, DashboardInstanceIntegrationsInstancesProvidersGetOutput, mapDashboardInstanceIntegrationsInstancesProvidersSetOutput, DashboardInstanceIntegrationsInstancesProvidersSetOutput, mapDashboardInstanceIntegrationsInstancesProvidersSetBody, DashboardInstanceIntegrationsInstancesProvidersSetBody + +class MetorialIntegrationsInstancesProvidersEndpoint(BaseMetorialEndpoint): + """Integration instance providers resolve the effective per-instance provider materialization for an integration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesProvidersListOutput: + """ + List integration instance providers + Returns a paginated list of integration instance providers. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['integration-instance-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersListOutput.from_dict) + + def get(self, integration_instance_provider_id: str) -> DashboardInstanceIntegrationsInstancesProvidersGetOutput: + """ + Get integration instance provider + Retrieves a specific integration instance provider. + + :param integration_instance_provider_id: str + :return: DashboardInstanceIntegrationsInstancesProvidersGetOutput + """ + request = MetorialRequest( + path=['integration-instance-providers', integration_instance_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersGetOutput.from_dict) + + def set(self, integration_instance_id: str, provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None, is_override_tool_filter: Optional[bool] = None) -> DashboardInstanceIntegrationsInstancesProvidersSetOutput: + """ + Set integration instance provider + Creates or updates the effective integration instance provider materialization. + + :param integration_instance_id: str + :param provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param provider_auth_config_id: Optional[str] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :param is_override_tool_filter: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsInstancesProvidersSetOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + body_dict["provider_auth_config_id"] = provider_auth_config_id + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + if is_override_tool_filter is not None: + body_dict["is_override_tool_filter"] = is_override_tool_filter + + request = MetorialRequest( + path=['integration-instances', integration_instance_id, 'providers', provider_id], + body=body_dict + ) + return self._put(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersSetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_providers.py new file mode 100644 index 00000000..d2dcd1ee --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_providers.py @@ -0,0 +1,183 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsProvidersListOutput, DashboardInstanceIntegrationsProvidersListOutput, mapDashboardInstanceIntegrationsProvidersListQuery, DashboardInstanceIntegrationsProvidersListQuery, mapDashboardInstanceIntegrationsProvidersGetOutput, DashboardInstanceIntegrationsProvidersGetOutput, mapDashboardInstanceIntegrationsProvidersCreateOutput, DashboardInstanceIntegrationsProvidersCreateOutput, mapDashboardInstanceIntegrationsProvidersCreateBody, DashboardInstanceIntegrationsProvidersCreateBody, mapDashboardInstanceIntegrationsProvidersUpdateOutput, DashboardInstanceIntegrationsProvidersUpdateOutput, mapDashboardInstanceIntegrationsProvidersUpdateBody, DashboardInstanceIntegrationsProvidersUpdateBody, mapDashboardInstanceIntegrationsProvidersDeleteOutput, DashboardInstanceIntegrationsProvidersDeleteOutput + +class MetorialIntegrationsProvidersEndpoint(BaseMetorialEndpoint): + """Integration providers define the shared provider-level contract for a given integration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsProvidersListOutput: + """ + List integration providers + Returns a paginated list of integration providers. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + query_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['integration-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsProvidersListOutput.from_dict) + + def get(self, integration_provider_id: str) -> DashboardInstanceIntegrationsProvidersGetOutput: + """ + Get integration provider + Retrieves a specific integration provider. + + :param integration_provider_id: str + :return: DashboardInstanceIntegrationsProvidersGetOutput + """ + request = MetorialRequest( + path=['integration-providers', integration_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsProvidersGetOutput.from_dict) + + def create(self, *, integration_id: str, provider_id: str, provider_deployment_id: str, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, provider_config_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsProvidersCreateOutput: + """ + Create integration provider + Creates a new integration provider. + + :param integration_id: str + :param provider_id: str + :param provider_deployment_id: str + :param provider_auth_method_id: Optional[str] (optional) + :param provider_auth_credentials_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsProvidersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["provider_id"] = provider_id + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + body_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['integration-providers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsProvidersCreateOutput.from_dict) + + def update(self, integration_provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, provider_config_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsProvidersUpdateOutput: + """ + Update integration provider + Updates a specific integration provider. + + :param integration_provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_auth_method_id: Optional[str] (optional) + :param provider_auth_credentials_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsProvidersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + body_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['integration-providers', integration_provider_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsProvidersUpdateOutput.from_dict) + + def delete(self, integration_provider_id: str) -> DashboardInstanceIntegrationsProvidersDeleteOutput: + """ + Delete integration provider + Archives a specific integration provider. + + :param integration_provider_id: str + :return: DashboardInstanceIntegrationsProvidersDeleteOutput + """ + request = MetorialRequest( + path=['integration-providers', integration_provider_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsProvidersDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_setup_sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_setup_sessions.py new file mode 100644 index 00000000..00f66599 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/integrations_setup_sessions.py @@ -0,0 +1,113 @@ +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsSetupSessionsListOutput, DashboardInstanceIntegrationsSetupSessionsListOutput, mapDashboardInstanceIntegrationsSetupSessionsListQuery, DashboardInstanceIntegrationsSetupSessionsListQuery, mapDashboardInstanceIntegrationsSetupSessionsGetOutput, DashboardInstanceIntegrationsSetupSessionsGetOutput, mapDashboardInstanceIntegrationsSetupSessionsCreateOutput, DashboardInstanceIntegrationsSetupSessionsCreateOutput, mapDashboardInstanceIntegrationsSetupSessionsCreateBody, DashboardInstanceIntegrationsSetupSessionsCreateBody + +class MetorialIntegrationsSetupSessionsEndpoint(BaseMetorialEndpoint): + """Integration setup sessions orchestrate configuring every provider required by an integration instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsSetupSessionsListOutput: + """ + List integration setup sessions + Returns a paginated list of integration setup sessions. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsSetupSessionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['integration-setup-sessions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsSetupSessionsListOutput.from_dict) + + def get(self, integration_setup_session_id: str) -> DashboardInstanceIntegrationsSetupSessionsGetOutput: + """ + Get integration setup session + Retrieves a specific integration setup session. + + :param integration_setup_session_id: str + :return: DashboardInstanceIntegrationsSetupSessionsGetOutput + """ + request = MetorialRequest( + path=['integration-setup-sessions', integration_setup_session_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsSetupSessionsGetOutput.from_dict) + + def create(self, *, integration_id: str, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, expires_at: Optional[datetime] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsSetupSessionsCreateOutput: + """ + Create integration setup session + Creates a new integration setup session and draft integration instance. + + :param integration_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param redirect_url: Optional[str] (optional) + :param configuration: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsSetupSessionsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if expires_at is not None: + body_dict["expires_at"] = expires_at + if redirect_url is not None: + body_dict["redirect_url"] = redirect_url + if configuration is not None: + body_dict["configuration"] = configuration + + request = MetorialRequest( + path=['integration-setup-sessions'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsSetupSessionsCreateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_endpoints.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_endpoints.py index c05663a4..041a988b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_endpoints.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_endpoints.py @@ -61,7 +61,7 @@ def get(self, magic_mcp_endpoint_id: str) -> DashboardInstanceMagicMcpEndpointsG ) return self._get(request).transform(mapDashboardInstanceMagicMcpEndpointsGetOutput.from_dict) - def create(self, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None, magic_mcp_server_ids: Optional[List[str]] = None, servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsCreateOutput: + def create(self, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None, skill_plugin_id: Optional[str] = None, magic_mcp_servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsCreateOutput: """ Create magic MCP endpoint Creates a magic MCP endpoint. @@ -70,8 +70,8 @@ def create(self, *, name: Optional[str] = None, description: Optional[str] = Non :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) :param consumer_profile_id: Optional[str] (optional) - :param magic_mcp_server_ids: Optional[List[str]] (optional) - :param servers: Optional[List[Dict[str, Any]]] (optional) + :param skill_plugin_id: Optional[str] (optional) + :param magic_mcp_servers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceMagicMcpEndpointsCreateOutput """ # Build body parameters from keyword arguments @@ -84,10 +84,10 @@ def create(self, *, name: Optional[str] = None, description: Optional[str] = Non body_dict["metadata"] = metadata if consumer_profile_id is not None: body_dict["consumer_profile_id"] = consumer_profile_id - if magic_mcp_server_ids is not None: - body_dict["magic_mcp_server_ids"] = magic_mcp_server_ids - if servers is not None: - body_dict["servers"] = servers + if skill_plugin_id is not None: + body_dict["skill_plugin_id"] = skill_plugin_id + if magic_mcp_servers is not None: + body_dict["magic_mcp_servers"] = magic_mcp_servers request = MetorialRequest( path=['magic-mcp-endpoints'], @@ -134,22 +134,19 @@ def update(self, magic_mcp_endpoint_id: str, *, name: Optional[str] = None, desc ) return self._patch(request).transform(mapDashboardInstanceMagicMcpEndpointsUpdateOutput.from_dict) - def add_servers(self, magic_mcp_endpoint_id: str, *, magic_mcp_server_ids: Optional[List[str]] = None, servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsAddServersOutput: + def add_servers(self, magic_mcp_endpoint_id: str, *, magic_mcp_servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsAddServersOutput: """ Add servers to magic MCP endpoint Adds magic MCP servers to a magic MCP endpoint. :param magic_mcp_endpoint_id: str - :param magic_mcp_server_ids: Optional[List[str]] (optional) - :param servers: Optional[List[Dict[str, Any]]] (optional) + :param magic_mcp_servers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceMagicMcpEndpointsAddServersOutput """ # Build body parameters from keyword arguments body_dict = {} - if magic_mcp_server_ids is not None: - body_dict["magic_mcp_server_ids"] = magic_mcp_server_ids - if servers is not None: - body_dict["servers"] = servers + if magic_mcp_servers is not None: + body_dict["magic_mcp_servers"] = magic_mcp_servers request = MetorialRequest( path=['magic-mcp-endpoints', magic_mcp_endpoint_id, 'add-servers'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers.py index f5677e1c..8998b47f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers.py @@ -89,7 +89,7 @@ def tools(self, magic_mcp_server_id: str) -> DashboardInstanceMagicMcpServersToo ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersToolsOutput.from_dict) - def create(self, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_template_id: Optional[str] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -97,6 +97,7 @@ def create(self, *, name: Optional[str] = None, description: Optional[str] = Non :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param provider_template_id: Optional[str] (optional) :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ @@ -108,6 +109,8 @@ def create(self, *, name: Optional[str] = None, description: Optional[str] = Non body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if provider_template_id is not None: + body_dict["provider_template_id"] = provider_template_id if consumer_profile_id is not None: body_dict["consumer_profile_id"] = consumer_profile_id @@ -130,7 +133,7 @@ def delete(self, magic_mcp_server_id: str) -> DashboardInstanceMagicMcpServersDe ) return self._delete(request).transform(mapDashboardInstanceMagicMcpServersDeleteOutput.from_dict) - def update(self, magic_mcp_server_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, aliases: Optional[List[str]] = None, session_template_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersUpdateOutput: + def update(self, magic_mcp_server_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, aliases: Optional[List[str]] = None) -> DashboardInstanceMagicMcpServersUpdateOutput: """ Update magic MCP server Updates a magic MCP server. @@ -140,7 +143,6 @@ def update(self, magic_mcp_server_id: str, *, name: Optional[str] = None, descri :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) :param aliases: Optional[List[str]] (optional) - :param session_template_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersUpdateOutput """ # Build body parameters from keyword arguments @@ -153,8 +155,6 @@ def update(self, magic_mcp_server_id: str, *, name: Optional[str] = None, descri body_dict["metadata"] = metadata if aliases is not None: body_dict["aliases"] = aliases - if session_template_id is not None: - body_dict["session_template_id"] = session_template_id request = MetorialRequest( path=['magic-mcp-servers', magic_mcp_server_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers_providers.py index f17ddcc4..e5abe8e9 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers_providers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers_providers.py @@ -1,17 +1,17 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceMagicMcpServersProvidersListOutput, DashboardInstanceMagicMcpServersProvidersListOutput, mapDashboardInstanceMagicMcpServersProvidersListQuery, DashboardInstanceMagicMcpServersProvidersListQuery, mapDashboardInstanceMagicMcpServersProvidersGetOutput, DashboardInstanceMagicMcpServersProvidersGetOutput, mapDashboardInstanceMagicMcpServersProvidersCreateOutput, DashboardInstanceMagicMcpServersProvidersCreateOutput, mapDashboardInstanceMagicMcpServersProvidersCreateBody, DashboardInstanceMagicMcpServersProvidersCreateBody, mapDashboardInstanceMagicMcpServersProvidersUpdateOutput, DashboardInstanceMagicMcpServersProvidersUpdateOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateBody, DashboardInstanceMagicMcpServersProvidersUpdateBody, mapDashboardInstanceMagicMcpServersProvidersDeleteOutput, DashboardInstanceMagicMcpServersProvidersDeleteOutput +from ..resources import mapDashboardInstanceMagicMcpServersProvidersListOutput, DashboardInstanceMagicMcpServersProvidersListOutput, mapDashboardInstanceMagicMcpServersProvidersListQuery, DashboardInstanceMagicMcpServersProvidersListQuery, mapDashboardInstanceMagicMcpServersProvidersCreateOutput, DashboardInstanceMagicMcpServersProvidersCreateOutput, mapDashboardInstanceMagicMcpServersProvidersCreateBody, DashboardInstanceMagicMcpServersProvidersCreateBody, mapDashboardInstanceMagicMcpServersProvidersGetOutput, DashboardInstanceMagicMcpServersProvidersGetOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateOutput, DashboardInstanceMagicMcpServersProvidersUpdateOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateBody, DashboardInstanceMagicMcpServersProvidersUpdateBody, mapDashboardInstanceMagicMcpServersProvidersDeleteOutput, DashboardInstanceMagicMcpServersProvidersDeleteOutput class MetorialMagicMcpServersProvidersEndpoint(BaseMetorialEndpoint): - """Magic MCP server providers define which providers are included in the setup session template backing a magic MCP server.""" + """Magic MCP servers are stable MCP entrypoints backed by one Subspace session template.""" def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, magic_mcp_server_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersProvidersListOutput: + def list(self, magic_mcp_server_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersProvidersListOutput: """ List magic MCP server providers - Returns a paginated list of providers configured for a magic MCP server. + Returns the backing integration instance providers configured for a magic MCP server. :param magic_mcp_server_id: str :param limit: Optional[float] (optional) @@ -22,6 +22,8 @@ def list(self, magic_mcp_server_id: str, *, limit: Optional[float] = None, after :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) @@ -47,6 +49,10 @@ def list(self, magic_mcp_server_id: str, *, limit: Optional[float] = None, after query_dict["id"] = id if provider_id is not None: query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_id is not None: @@ -64,41 +70,26 @@ def list(self, magic_mcp_server_id: str, *, limit: Optional[float] = None, after ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersListOutput.from_dict) - def get(self, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersGetOutput: - """ - Get magic MCP server provider - Retrieves a specific provider configuration from a magic MCP server. - - :param magic_mcp_server_id: str - :param magic_mcp_server_provider_id: str - :return: DashboardInstanceMagicMcpServersProvidersGetOutput - """ - request = MetorialRequest( - path=['magic-mcp-servers', magic_mcp_server_id, 'providers', magic_mcp_server_provider_id] - ) - return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersGetOutput.from_dict) - - def create(self, magic_mcp_server_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_config_vault_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersCreateOutput: + def create(self, magic_mcp_server_id: str, *, provider_id: str, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersCreateOutput: """ Create magic MCP server provider - Adds a new provider configuration to a magic MCP server. + Creates a configurable provider row for a magic MCP server. :param magic_mcp_server_id: str + :param provider_id: str :param provider_deployment_id: Optional[str] (optional) :param provider_config_id: Optional[str] (optional) - :param provider_config_vault_id: Optional[str] (optional) :param provider_auth_config_id: Optional[str] (optional) :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) :return: DashboardInstanceMagicMcpServersProvidersCreateOutput """ # Build body parameters from keyword arguments body_dict = {} + body_dict["provider_id"] = provider_id if provider_deployment_id is not None: body_dict["provider_deployment_id"] = provider_deployment_id if provider_config_id is not None: body_dict["provider_config_id"] = provider_config_id - if provider_config_vault_id is not None: - body_dict["provider_config_vault_id"] = provider_config_vault_id if provider_auth_config_id is not None: body_dict["provider_auth_config_id"] = provider_auth_config_id if tool_filters is not None: @@ -110,18 +101,41 @@ def create(self, magic_mcp_server_id: str, *, provider_deployment_id: Optional[s ) return self._post(request).transform(mapDashboardInstanceMagicMcpServersProvidersCreateOutput.from_dict) - def update(self, magic_mcp_server_id: str, magic_mcp_server_provider_id: str, *, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersUpdateOutput: + def get(self, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersGetOutput: + """ + Get magic MCP server provider + Retrieves a specific backing integration instance provider for a magic MCP server. + + :param magic_mcp_server_id: str + :param magic_mcp_server_provider_id: str + :return: DashboardInstanceMagicMcpServersProvidersGetOutput + """ + request = MetorialRequest( + path=['magic-mcp-servers', magic_mcp_server_id, 'providers', magic_mcp_server_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersGetOutput.from_dict) + + def update(self, magic_mcp_server_id: str, magic_mcp_server_provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersUpdateOutput: """ Update magic MCP server provider - Updates a provider configuration in a magic MCP server. + Updates a backing integration provider and then sets the corresponding integration instance provider for a magic MCP server. :param magic_mcp_server_id: str :param magic_mcp_server_provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param provider_auth_config_id: Optional[str] (optional) :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) :return: DashboardInstanceMagicMcpServersProvidersUpdateOutput """ # Build body parameters from keyword arguments body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + body_dict["provider_auth_config_id"] = provider_auth_config_id if tool_filters is not None: body_dict["tool_filters"] = tool_filters @@ -134,7 +148,7 @@ def update(self, magic_mcp_server_id: str, magic_mcp_server_provider_id: str, *, def delete(self, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersDeleteOutput: """ Delete magic MCP server provider - Removes a provider configuration from a magic MCP server. + Archives a backing integration instance provider from a magic MCP server and removes the shared integration provider when unused. :param magic_mcp_server_id: str :param magic_mcp_server_provider_id: str diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_agents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_agents.py new file mode 100644 index 00000000..bea7fdcc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_agents.py @@ -0,0 +1,73 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAgentsListOutput, DashboardInstanceAgentsListOutput, mapDashboardInstanceAgentsListQuery, DashboardInstanceAgentsListQuery, mapDashboardInstanceAgentsGetOutput, DashboardInstanceAgentsGetOutput + +class MetorialManagementInstanceAgentsEndpoint(BaseMetorialEndpoint): + """Inspect agents and their linked clients and instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceAgentsListOutput: + """ + List agents + Returns a paginated list of agents for the instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceAgentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'agents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAgentsListOutput.from_dict) + + def get(self, instance_id: str, agent_id: str) -> DashboardInstanceAgentsGetOutput: + """ + Get agent + Retrieves a specific agent by ID. + + :param instance_id: str + :param agent_id: str + :return: DashboardInstanceAgentsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'agents', agent_id] + ) + return self._get(request).transform(mapDashboardInstanceAgentsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_agents_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_agents_instances.py new file mode 100644 index 00000000..d4bf5141 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_agents_instances.py @@ -0,0 +1,72 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAgentsInstancesListOutput, DashboardInstanceAgentsInstancesListOutput, mapDashboardInstanceAgentsInstancesListQuery, DashboardInstanceAgentsInstancesListQuery, mapDashboardInstanceAgentsInstancesGetOutput, DashboardInstanceAgentsInstancesGetOutput + +class MetorialManagementInstanceAgentsInstancesEndpoint(BaseMetorialEndpoint): + """Inspect agents and their linked clients and instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, agent_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_client_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceAgentsInstancesListOutput: + """ + List agent instances + Returns a paginated list of instances for an agent. + + :param instance_id: str + :param agent_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param agent_client_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceAgentsInstancesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if agent_client_id is not None: + query_dict["agent_client_id"] = agent_client_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'agents', agent_id, 'instances'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAgentsInstancesListOutput.from_dict) + + def get(self, instance_id: str, agent_id: str, agent_instance_id: str) -> DashboardInstanceAgentsInstancesGetOutput: + """ + Get agent instance + Retrieves a specific agent instance by ID. + + :param instance_id: str + :param agent_id: str + :param agent_instance_id: str + :return: DashboardInstanceAgentsInstancesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'agents', agent_id, 'instances', agent_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceAgentsInstancesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_assistants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_assistants.py new file mode 100644 index 00000000..78732948 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_assistants.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceAssistantsListOutput, DashboardInstanceAssistantsListOutput, mapDashboardInstanceAssistantsListQuery, DashboardInstanceAssistantsListQuery, mapDashboardInstanceAssistantsGetOutput, DashboardInstanceAssistantsGetOutput + +class MetorialManagementInstanceAssistantsEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceAssistantsListOutput: + """ + List assistants + List assistants available in an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceAssistantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'assistants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceAssistantsListOutput.from_dict) + + def get(self, instance_id: str, assistant_id: str) -> DashboardInstanceAssistantsGetOutput: + """ + Get assistant + Get an assistant available in an instance. + + :param instance_id: str + :param assistant_id: str + :return: DashboardInstanceAssistantsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'assistants', assistant_id] + ) + return self._get(request).transform(mapDashboardInstanceAssistantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_callbacks_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_callbacks_instances.py index 5abc2428..5e99d055 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_callbacks_instances.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_callbacks_instances.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCallbacksInstancesListOutput, DashboardInstanceCallbacksInstancesListOutput, mapDashboardInstanceCallbacksInstancesListQuery, DashboardInstanceCallbacksInstancesListQuery, mapDashboardInstanceCallbacksInstancesCreateOutput, DashboardInstanceCallbacksInstancesCreateOutput, mapDashboardInstanceCallbacksInstancesCreateBody, DashboardInstanceCallbacksInstancesCreateBody, mapDashboardInstanceCallbacksInstancesDeleteOutput, DashboardInstanceCallbacksInstancesDeleteOutput +from ..resources import mapDashboardInstanceCallbacksInstancesListOutput, DashboardInstanceCallbacksInstancesListOutput, mapDashboardInstanceCallbacksInstancesListQuery, DashboardInstanceCallbacksInstancesListQuery, mapDashboardInstanceCallbacksInstancesGetOutput, DashboardInstanceCallbacksInstancesGetOutput, mapDashboardInstanceCallbacksInstancesCreateOutput, DashboardInstanceCallbacksInstancesCreateOutput, mapDashboardInstanceCallbacksInstancesCreateBody, DashboardInstanceCallbacksInstancesCreateBody, mapDashboardInstanceCallbacksInstancesDeleteOutput, DashboardInstanceCallbacksInstancesDeleteOutput class MetorialManagementInstanceCallbacksInstancesEndpoint(BaseMetorialEndpoint): """Attach or detach callback instances for a deployment/config/auth-config combination.""" @@ -59,6 +59,21 @@ def list(self, instance_id: str, callback_id: str, *, limit: Optional[float] = N ) return self._get(request).transform(mapDashboardInstanceCallbacksInstancesListOutput.from_dict) + def get(self, instance_id: str, callback_id: str, callback_instance_id: str) -> DashboardInstanceCallbacksInstancesGetOutput: + """ + Get callback instance + Retrieves a specific callback instance by ID. + + :param instance_id: str + :param callback_id: str + :param callback_instance_id: str + :return: DashboardInstanceCallbacksInstancesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'callbacks', callback_id, 'instances', callback_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceCallbacksInstancesGetOutput.from_dict) + def create(self, instance_id: str, callback_id: str, *, provider_config_id: str, provider_auth_config_id: Optional[str] = None) -> DashboardInstanceCallbacksInstancesCreateOutput: """ Create callback instance diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_conversations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_conversations.py new file mode 100644 index 00000000..5c434620 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_conversations.py @@ -0,0 +1,101 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConversationsListOutput, DashboardInstanceConversationsListOutput, mapDashboardInstanceConversationsListQuery, DashboardInstanceConversationsListQuery, mapDashboardInstanceConversationsCreateOutput, DashboardInstanceConversationsCreateOutput, mapDashboardInstanceConversationsCreateBody, DashboardInstanceConversationsCreateBody, mapDashboardInstanceConversationsGetOutput, DashboardInstanceConversationsGetOutput, mapDashboardInstanceConversationsUpdateOutput, DashboardInstanceConversationsUpdateOutput, mapDashboardInstanceConversationsUpdateBody, DashboardInstanceConversationsUpdateBody + +class MetorialManagementInstanceConversationsEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, assistant_id: Optional[Union[str, List[str]]] = None) -> DashboardInstanceConversationsListOutput: + """ + List assistant conversations + List assistant conversations in an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param assistant_id: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstanceConversationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if assistant_id is not None: + query_dict["assistant_id"] = assistant_id + + request = MetorialRequest( + path=['instances', instance_id, 'conversations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConversationsListOutput.from_dict) + + def create(self, instance_id: str, *, assistant_id: str, title: Optional[str] = None) -> DashboardInstanceConversationsCreateOutput: + """ + Create assistant conversation + Create a new assistant conversation in an instance. + + :param instance_id: str + :param assistant_id: str + :param title: Optional[str] (optional) + :return: DashboardInstanceConversationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["assistant_id"] = assistant_id + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['instances', instance_id, 'conversations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConversationsCreateOutput.from_dict) + + def get(self, instance_id: str, assistant_conversation_id: str) -> DashboardInstanceConversationsGetOutput: + """ + Get assistant conversation + Get a specific assistant conversation. + + :param instance_id: str + :param assistant_conversation_id: str + :return: DashboardInstanceConversationsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'conversations', assistant_conversation_id] + ) + return self._get(request).transform(mapDashboardInstanceConversationsGetOutput.from_dict) + + def update(self, instance_id: str, assistant_conversation_id: str, *, title: Optional[str] = None) -> DashboardInstanceConversationsUpdateOutput: + """ + Update assistant conversation + Update a specific assistant conversation. + + :param instance_id: str + :param assistant_conversation_id: str + :param title: Optional[str] (optional) + :return: DashboardInstanceConversationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['instances', instance_id, 'conversations', assistant_conversation_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConversationsUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_conversations_messages.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_conversations_messages.py new file mode 100644 index 00000000..ff7a77c7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_conversations_messages.py @@ -0,0 +1,83 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConversationsMessagesListOutput, DashboardInstanceConversationsMessagesListOutput, mapDashboardInstanceConversationsMessagesListQuery, DashboardInstanceConversationsMessagesListQuery, mapDashboardInstanceConversationsMessagesCreateOutput, DashboardInstanceConversationsMessagesCreateOutput, mapDashboardInstanceConversationsMessagesCreateBody, DashboardInstanceConversationsMessagesCreateBody, mapDashboardInstanceConversationsMessagesGetOutput, DashboardInstanceConversationsMessagesGetOutput + +class MetorialManagementInstanceConversationsMessagesEndpoint(BaseMetorialEndpoint): + """Assistant and conversation endpoints""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, assistant_conversation_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConversationsMessagesListOutput: + """ + List assistant messages + List messages in a specific assistant conversation. + + :param instance_id: str + :param assistant_conversation_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConversationsMessagesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'conversations', assistant_conversation_id, 'messages'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConversationsMessagesListOutput.from_dict) + + def create(self, instance_id: str, assistant_conversation_id: str, *, message: Dict[str, Any], parent_message_id: Optional[str] = None, model_id: Optional[str] = None) -> DashboardInstanceConversationsMessagesCreateOutput: + """ + Create assistant message + Create a user message and assistant request in a specific conversation. + + :param instance_id: str + :param assistant_conversation_id: str + :param message: Dict[str, Any] + :param parent_message_id: Optional[str] (optional) + :param model_id: Optional[str] (optional) + :return: DashboardInstanceConversationsMessagesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["message"] = message + if parent_message_id is not None: + body_dict["parent_message_id"] = parent_message_id + if model_id is not None: + body_dict["model_id"] = model_id + + request = MetorialRequest( + path=['instances', instance_id, 'conversations', assistant_conversation_id, 'messages'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConversationsMessagesCreateOutput.from_dict) + + def get(self, instance_id: str, assistant_conversation_id: str, assistant_message_id: str) -> DashboardInstanceConversationsMessagesGetOutput: + """ + Get assistant message + Get a specific assistant message. + + :param instance_id: str + :param assistant_conversation_id: str + :param assistant_message_id: str + :return: DashboardInstanceConversationsMessagesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'conversations', assistant_conversation_id, 'messages', assistant_message_id] + ) + return self._get(request).transform(mapDashboardInstanceConversationsMessagesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_custom_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_custom_providers.py index c4685249..49e8356c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_custom_providers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_custom_providers.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCustomProvidersListOutput, DashboardInstanceCustomProvidersListOutput, mapDashboardInstanceCustomProvidersListQuery, DashboardInstanceCustomProvidersListQuery, mapDashboardInstanceCustomProvidersGetOutput, DashboardInstanceCustomProvidersGetOutput, mapDashboardInstanceCustomProvidersCreateOutput, DashboardInstanceCustomProvidersCreateOutput, mapDashboardInstanceCustomProvidersCreateBody, DashboardInstanceCustomProvidersCreateBody, mapDashboardInstanceCustomProvidersUpdateOutput, DashboardInstanceCustomProvidersUpdateOutput, mapDashboardInstanceCustomProvidersUpdateBody, DashboardInstanceCustomProvidersUpdateBody +from ..resources import mapDashboardInstanceCustomProvidersListOutput, DashboardInstanceCustomProvidersListOutput, mapDashboardInstanceCustomProvidersListQuery, DashboardInstanceCustomProvidersListQuery, mapDashboardInstanceCustomProvidersGetOutput, DashboardInstanceCustomProvidersGetOutput, mapDashboardInstanceCustomProvidersGetEnvOutput, DashboardInstanceCustomProvidersGetEnvOutput, mapDashboardInstanceCustomProvidersCreateOutput, DashboardInstanceCustomProvidersCreateOutput, mapDashboardInstanceCustomProvidersCreateBody, DashboardInstanceCustomProvidersCreateBody, mapDashboardInstanceCustomProvidersUpdateOutput, DashboardInstanceCustomProvidersUpdateOutput, mapDashboardInstanceCustomProvidersUpdateBody, DashboardInstanceCustomProvidersUpdateBody class MetorialManagementInstanceCustomProvidersEndpoint(BaseMetorialEndpoint): """Custom providers allow you to deploy your own MCP servers. Create providers from container images, remote URLs, or serverless functions.""" @@ -75,6 +75,20 @@ def get(self, instance_id: str, custom_provider_id: str) -> DashboardInstanceCus ) return self._get(request).transform(mapDashboardInstanceCustomProvidersGetOutput.from_dict) + def get_env(self, instance_id: str, custom_provider_id: str) -> DashboardInstanceCustomProvidersGetEnvOutput: + """ + Get custom provider environment + Retrieves the environment variables for a specific custom provider by ID. + + :param instance_id: str + :param custom_provider_id: str + :return: DashboardInstanceCustomProvidersGetEnvOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'custom-providers', custom_provider_id, 'env'] + ) + return self._get(request).transform(mapDashboardInstanceCustomProvidersGetEnvOutput.from_dict) + def create(self, instance_id: str, *, name: str, from_: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, config: Optional[Dict[str, Any]] = None) -> DashboardInstanceCustomProvidersCreateOutput: """ Create custom provider diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_custom_providers_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_custom_providers_versions.py index 85e59803..3c2d4169 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_custom_providers_versions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_custom_providers_versions.py @@ -1,6 +1,6 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceCustomProvidersVersionsListOutput, DashboardInstanceCustomProvidersVersionsListOutput, mapDashboardInstanceCustomProvidersVersionsListQuery, DashboardInstanceCustomProvidersVersionsListQuery, mapDashboardInstanceCustomProvidersVersionsGetOutput, DashboardInstanceCustomProvidersVersionsGetOutput, mapDashboardInstanceCustomProvidersVersionsCreateOutput, DashboardInstanceCustomProvidersVersionsCreateOutput, mapDashboardInstanceCustomProvidersVersionsCreateBody, DashboardInstanceCustomProvidersVersionsCreateBody +from ..resources import mapDashboardInstanceCustomProvidersVersionsListOutput, DashboardInstanceCustomProvidersVersionsListOutput, mapDashboardInstanceCustomProvidersVersionsListQuery, DashboardInstanceCustomProvidersVersionsListQuery, mapDashboardInstanceCustomProvidersVersionsGetOutput, DashboardInstanceCustomProvidersVersionsGetOutput, mapDashboardInstanceCustomProvidersVersionsGetEnvOutput, DashboardInstanceCustomProvidersVersionsGetEnvOutput, mapDashboardInstanceCustomProvidersVersionsCreateOutput, DashboardInstanceCustomProvidersVersionsCreateOutput, mapDashboardInstanceCustomProvidersVersionsCreateBody, DashboardInstanceCustomProvidersVersionsCreateBody class MetorialManagementInstanceCustomProvidersVersionsEndpoint(BaseMetorialEndpoint): """Versions represent different releases of a custom provider. Each version can be deployed to environments.""" @@ -81,6 +81,20 @@ def get(self, instance_id: str, custom_provider_version_id: str) -> DashboardIns ) return self._get(request).transform(mapDashboardInstanceCustomProvidersVersionsGetOutput.from_dict) + def get_env(self, instance_id: str, custom_provider_version_id: str) -> DashboardInstanceCustomProvidersVersionsGetEnvOutput: + """ + Get custom provider version environment + Retrieves the environment variables for a specific version of a custom provider. + + :param instance_id: str + :param custom_provider_version_id: str + :return: DashboardInstanceCustomProvidersVersionsGetEnvOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'custom-provider-versions', custom_provider_version_id, 'env'] + ) + return self._get(request).transform(mapDashboardInstanceCustomProvidersVersionsGetEnvOutput.from_dict) + def create(self, instance_id: str, *, custom_provider_id: str, from_: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], config: Optional[Dict[str, Any]] = None) -> DashboardInstanceCustomProvidersVersionsCreateOutput: """ Create custom provider version diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents.py new file mode 100644 index 00000000..ed0f87ab --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents.py @@ -0,0 +1,156 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsListOutput, DashboardInstanceDocumentsListOutput, mapDashboardInstanceDocumentsListQuery, DashboardInstanceDocumentsListQuery, mapDashboardInstanceDocumentsCreateOutput, DashboardInstanceDocumentsCreateOutput, mapDashboardInstanceDocumentsCreateBody, DashboardInstanceDocumentsCreateBody, mapDashboardInstanceDocumentsGetOutput, DashboardInstanceDocumentsGetOutput, mapDashboardInstanceDocumentsUpdateOutput, DashboardInstanceDocumentsUpdateOutput, mapDashboardInstanceDocumentsUpdateBody, DashboardInstanceDocumentsUpdateBody, mapDashboardInstanceDocumentsDeleteOutput, DashboardInstanceDocumentsDeleteOutput, mapDashboardInstanceDocumentsCloneOutput, DashboardInstanceDocumentsCloneOutput, mapDashboardInstanceDocumentsCloneBody, DashboardInstanceDocumentsCloneBody + +class MetorialManagementInstanceDocumentsEndpoint(BaseMetorialEndpoint): + """Create and manage instance documents backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, file_id: Optional[Union[str, List[str]]] = None, store_id: Optional[Union[str, List[str]]] = None, parent_document_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsListOutput: + """ + List documents + Returns a paginated list of documents owned by the instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param file_id: Optional[Union[str, List[str]]] (optional) + :param store_id: Optional[Union[str, List[str]]] (optional) + :param parent_document_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if file_id is not None: + query_dict["file_id"] = file_id + if store_id is not None: + query_dict["store_id"] = store_id + if parent_document_id is not None: + query_dict["parent_document_id"] = parent_document_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'documents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsListOutput.from_dict) + + def create(self, instance_id: str, *, title: str, content: str) -> DashboardInstanceDocumentsCreateOutput: + """ + Create document + Creates a new document for the instance. + + :param instance_id: str + :param title: str + :param content: str + :return: DashboardInstanceDocumentsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["title"] = title + body_dict["content"] = content + + request = MetorialRequest( + path=['instances', instance_id, 'documents'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceDocumentsCreateOutput.from_dict) + + def get(self, instance_id: str, document_id: str) -> DashboardInstanceDocumentsGetOutput: + """ + Get document by ID + Retrieves a document by its ID. + + :param instance_id: str + :param document_id: str + :return: DashboardInstanceDocumentsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsGetOutput.from_dict) + + def update(self, instance_id: str, document_id: str, *, title: Optional[str] = None, content: Optional[str] = None) -> DashboardInstanceDocumentsUpdateOutput: + """ + Update document by ID + Updates a specific document. + + :param instance_id: str + :param document_id: str + :param title: Optional[str] (optional) + :param content: Optional[str] (optional) + :return: DashboardInstanceDocumentsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if title is not None: + body_dict["title"] = title + if content is not None: + body_dict["content"] = content + + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceDocumentsUpdateOutput.from_dict) + + def delete(self, instance_id: str, document_id: str) -> DashboardInstanceDocumentsDeleteOutput: + """ + Delete document by ID + Deletes a specific document. + + :param instance_id: str + :param document_id: str + :return: DashboardInstanceDocumentsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id] + ) + return self._delete(request).transform(mapDashboardInstanceDocumentsDeleteOutput.from_dict) + + def clone(self, instance_id: str, document_id: str, *, target_document_id: Optional[str] = None, title: Optional[str] = None) -> DashboardInstanceDocumentsCloneOutput: + """ + Clone document by ID + Clones a specific document. + + :param instance_id: str + :param document_id: str + :param target_document_id: Optional[str] (optional) + :param title: Optional[str] (optional) + :return: DashboardInstanceDocumentsCloneOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if target_document_id is not None: + body_dict["target_document_id"] = target_document_id + if title is not None: + body_dict["title"] = title + + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id, 'clone'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceDocumentsCloneOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_participants.py new file mode 100644 index 00000000..cbdaace6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_participants.py @@ -0,0 +1,66 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsParticipantsListOutput, DashboardInstanceDocumentsParticipantsListOutput, mapDashboardInstanceDocumentsParticipantsListQuery, DashboardInstanceDocumentsParticipantsListQuery, mapDashboardInstanceDocumentsParticipantsGetOutput, DashboardInstanceDocumentsParticipantsGetOutput + +class MetorialManagementInstanceDocumentsParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect document participants and their linked Metorial resources.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, document_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsParticipantsListOutput: + """ + List document participants + Returns a paginated list of participants for a specific document. + + :param instance_id: str + :param document_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsParticipantsListOutput.from_dict) + + def get(self, instance_id: str, document_id: str, document_participant_id: str) -> DashboardInstanceDocumentsParticipantsGetOutput: + """ + Get document participant by ID + Retrieves a specific document participant by its ID. + + :param instance_id: str + :param document_id: str + :param document_participant_id: str + :return: DashboardInstanceDocumentsParticipantsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id, 'participants', document_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_permissions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_permissions.py new file mode 100644 index 00000000..8dfb75d8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_permissions.py @@ -0,0 +1,22 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsPermissionsGetOutput, DashboardInstanceDocumentsPermissionsGetOutput + +class MetorialManagementInstanceDocumentsPermissionsEndpoint(BaseMetorialEndpoint): + """Create and manage instance documents backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, instance_id: str, document_id: str) -> DashboardInstanceDocumentsPermissionsGetOutput: + """ + Get document permissions + Returns the effective Cargo permissions for the current actor on a specific document. + + :param instance_id: str + :param document_id: str + :return: DashboardInstanceDocumentsPermissionsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id, 'permissions'] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsPermissionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_versions.py new file mode 100644 index 00000000..1501e1b0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_documents_versions.py @@ -0,0 +1,66 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceDocumentsVersionsListOutput, DashboardInstanceDocumentsVersionsListOutput, mapDashboardInstanceDocumentsVersionsListQuery, DashboardInstanceDocumentsVersionsListQuery, mapDashboardInstanceDocumentsVersionsGetOutput, DashboardInstanceDocumentsVersionsGetOutput + +class MetorialManagementInstanceDocumentsVersionsEndpoint(BaseMetorialEndpoint): + """Inspect document version history for an instance document.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, document_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, last_edited_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceDocumentsVersionsListOutput: + """ + List document versions + Returns a paginated list of versions for a specific document. + + :param instance_id: str + :param document_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param last_edited_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceDocumentsVersionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if last_edited_at is not None: + query_dict["last_edited_at"] = last_edited_at + + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id, 'versions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceDocumentsVersionsListOutput.from_dict) + + def get(self, instance_id: str, document_id: str, document_version_id: str) -> DashboardInstanceDocumentsVersionsGetOutput: + """ + Get document version by ID + Retrieves a specific document version by its ID. + + :param instance_id: str + :param document_id: str + :param document_version_id: str + :return: DashboardInstanceDocumentsVersionsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'documents', document_id, 'versions', document_version_id] + ) + return self._get(request).transform(mapDashboardInstanceDocumentsVersionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_files.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_files.py index 4b57eb91..d19f2310 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_files.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_files.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceFilesEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, purpose: Optional[str] = None) -> DashboardInstanceFilesListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, purpose: Optional[Union[str, List[str]]] = None, store_id: Optional[Union[str, List[str]]] = None, document_id: Optional[Union[str, List[str]]] = None, file_link_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceFilesListOutput: """ List instance files Returns a paginated list of files owned by the instance. @@ -19,7 +19,13 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param before: Optional[str] (optional) :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) - :param purpose: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param purpose: Optional[Union[str, List[str]]] (optional) + :param store_id: Optional[Union[str, List[str]]] (optional) + :param document_id: Optional[Union[str, List[str]]] (optional) + :param file_link_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceFilesListOutput """ # Build query parameters from keyword arguments @@ -34,8 +40,20 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["cursor"] = cursor if order is not None: query_dict["order"] = order + if id is not None: + query_dict["id"] = id if purpose is not None: query_dict["purpose"] = purpose + if store_id is not None: + query_dict["store_id"] = store_id + if document_id is not None: + query_dict["document_id"] = document_id + if file_link_id is not None: + query_dict["file_link_id"] = file_link_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at request = MetorialRequest( path=['instances', instance_id, 'files'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_file_links.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_files_links.py similarity index 73% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_file_links.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_files_links.py index a7df705c..2ff746bb 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_file_links.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_files_links.py @@ -1,15 +1,15 @@ from typing import Any, Dict, List, Optional, Union from datetime import datetime from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceFileLinksListOutput, DashboardInstanceFileLinksListOutput, mapDashboardInstanceFileLinksListQuery, DashboardInstanceFileLinksListQuery, mapDashboardInstanceFileLinksGetOutput, DashboardInstanceFileLinksGetOutput, mapDashboardInstanceFileLinksCreateOutput, DashboardInstanceFileLinksCreateOutput, mapDashboardInstanceFileLinksCreateBody, DashboardInstanceFileLinksCreateBody, mapDashboardInstanceFileLinksDeleteOutput, DashboardInstanceFileLinksDeleteOutput +from ..resources import mapDashboardInstanceFilesLinksListOutput, DashboardInstanceFilesLinksListOutput, mapDashboardInstanceFilesLinksListQuery, DashboardInstanceFilesLinksListQuery, mapDashboardInstanceFilesLinksGetOutput, DashboardInstanceFilesLinksGetOutput, mapDashboardInstanceFilesLinksCreateOutput, DashboardInstanceFilesLinksCreateOutput, mapDashboardInstanceFilesLinksCreateBody, DashboardInstanceFilesLinksCreateBody, mapDashboardInstanceFilesLinksDeleteOutput, DashboardInstanceFilesLinksDeleteOutput -class MetorialManagementInstanceFileLinksEndpoint(BaseMetorialEndpoint): +class MetorialManagementInstanceFilesLinksEndpoint(BaseMetorialEndpoint): """Files are private by default. If you want to share a file, you can create a link for it. Links are public and do not require authentication to access, so be careful with what you share.""" def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, file_id: Optional[str] = None) -> DashboardInstanceFileLinksListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, file_id: Optional[str] = None) -> DashboardInstanceFilesLinksListOutput: """ List file links Returns a paginated list of file links owned by the instance organization. @@ -21,7 +21,7 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) :param file_id: Optional[str] (optional) - :return: DashboardInstanceFileLinksListOutput + :return: DashboardInstanceFilesLinksListOutput """ # Build query parameters from keyword arguments query_dict = {} @@ -42,23 +42,23 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option path=['instances', instance_id, 'file-links'], query=query_dict ) - return self._get(request).transform(mapDashboardInstanceFileLinksListOutput.from_dict) + return self._get(request).transform(mapDashboardInstanceFilesLinksListOutput.from_dict) - def get(self, instance_id: str, link_id: str) -> DashboardInstanceFileLinksGetOutput: + def get(self, instance_id: str, link_id: str) -> DashboardInstanceFilesLinksGetOutput: """ Get file link by ID Retrieves the details of a specific file link by its ID. :param instance_id: str :param link_id: str - :return: DashboardInstanceFileLinksGetOutput + :return: DashboardInstanceFilesLinksGetOutput """ request = MetorialRequest( path=['instances', instance_id, 'file-links', link_id] ) - return self._get(request).transform(mapDashboardInstanceFileLinksGetOutput.from_dict) + return self._get(request).transform(mapDashboardInstanceFilesLinksGetOutput.from_dict) - def create(self, instance_id: str, *, file_id: str, expires_at: Optional[datetime] = None) -> DashboardInstanceFileLinksCreateOutput: + def create(self, instance_id: str, *, file_id: str, expires_at: Optional[datetime] = None) -> DashboardInstanceFilesLinksCreateOutput: """ Create file link Creates a new link for a specific file. @@ -66,7 +66,7 @@ def create(self, instance_id: str, *, file_id: str, expires_at: Optional[datetim :param instance_id: str :param file_id: str :param expires_at: Optional[datetime] (optional) - :return: DashboardInstanceFileLinksCreateOutput + :return: DashboardInstanceFilesLinksCreateOutput """ # Build body parameters from keyword arguments body_dict = {} @@ -78,18 +78,18 @@ def create(self, instance_id: str, *, file_id: str, expires_at: Optional[datetim path=['instances', instance_id, 'file-links'], body=body_dict ) - return self._post(request).transform(mapDashboardInstanceFileLinksCreateOutput.from_dict) + return self._post(request).transform(mapDashboardInstanceFilesLinksCreateOutput.from_dict) - def delete(self, instance_id: str, link_id: str) -> DashboardInstanceFileLinksDeleteOutput: + def delete(self, instance_id: str, link_id: str) -> DashboardInstanceFilesLinksDeleteOutput: """ Delete file link by ID Deletes a specific file link by its ID. :param instance_id: str :param link_id: str - :return: DashboardInstanceFileLinksDeleteOutput + :return: DashboardInstanceFilesLinksDeleteOutput """ request = MetorialRequest( path=['instances', instance_id, 'file-links', link_id] ) - return self._delete(request).transform(mapDashboardInstanceFileLinksDeleteOutput.from_dict) \ No newline at end of file + return self._delete(request).transform(mapDashboardInstanceFilesLinksDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations.py new file mode 100644 index 00000000..2b49d5ce --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations.py @@ -0,0 +1,160 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsListOutput, DashboardInstanceIntegrationsListOutput, mapDashboardInstanceIntegrationsListQuery, DashboardInstanceIntegrationsListQuery, mapDashboardInstanceIntegrationsGetOutput, DashboardInstanceIntegrationsGetOutput, mapDashboardInstanceIntegrationsCreateOutput, DashboardInstanceIntegrationsCreateOutput, mapDashboardInstanceIntegrationsCreateBody, DashboardInstanceIntegrationsCreateBody, mapDashboardInstanceIntegrationsUpdateOutput, DashboardInstanceIntegrationsUpdateOutput, mapDashboardInstanceIntegrationsUpdateBody, DashboardInstanceIntegrationsUpdateBody, mapDashboardInstanceIntegrationsDeleteOutput, DashboardInstanceIntegrationsDeleteOutput + +class MetorialManagementInstanceIntegrationsEndpoint(BaseMetorialEndpoint): + """Integrations define reusable provider contracts that can then be materialized into integration instances.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsListOutput: + """ + List integrations + Returns a paginated list of integrations. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'integrations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsListOutput.from_dict) + + def get(self, instance_id: str, integration_id: str) -> DashboardInstanceIntegrationsGetOutput: + """ + Get integration + Retrieves a specific integration. + + :param instance_id: str + :param integration_id: str + :return: DashboardInstanceIntegrationsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integrations', integration_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, can_attach_custom_tool_filters: Optional[bool] = None, can_attach_custom_provider_config: Optional[bool] = None, can_override_tool_filters: Optional[bool] = None) -> DashboardInstanceIntegrationsCreateOutput: + """ + Create integration + Creates a new integration. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param can_attach_custom_tool_filters: Optional[bool] (optional) + :param can_attach_custom_provider_config: Optional[bool] (optional) + :param can_override_tool_filters: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if can_attach_custom_tool_filters is not None: + body_dict["can_attach_custom_tool_filters"] = can_attach_custom_tool_filters + if can_attach_custom_provider_config is not None: + body_dict["can_attach_custom_provider_config"] = can_attach_custom_provider_config + if can_override_tool_filters is not None: + body_dict["can_override_tool_filters"] = can_override_tool_filters + + request = MetorialRequest( + path=['instances', instance_id, 'integrations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsCreateOutput.from_dict) + + def update(self, instance_id: str, integration_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, can_attach_custom_tool_filters: Optional[bool] = None, can_attach_custom_provider_config: Optional[bool] = None, can_override_tool_filters: Optional[bool] = None) -> DashboardInstanceIntegrationsUpdateOutput: + """ + Update integration + Updates a specific integration. + + :param instance_id: str + :param integration_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param can_attach_custom_tool_filters: Optional[bool] (optional) + :param can_attach_custom_provider_config: Optional[bool] (optional) + :param can_override_tool_filters: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if can_attach_custom_tool_filters is not None: + body_dict["can_attach_custom_tool_filters"] = can_attach_custom_tool_filters + if can_attach_custom_provider_config is not None: + body_dict["can_attach_custom_provider_config"] = can_attach_custom_provider_config + if can_override_tool_filters is not None: + body_dict["can_override_tool_filters"] = can_override_tool_filters + + request = MetorialRequest( + path=['instances', instance_id, 'integrations', integration_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsUpdateOutput.from_dict) + + def delete(self, instance_id: str, integration_id: str) -> DashboardInstanceIntegrationsDeleteOutput: + """ + Delete integration + Archives a specific integration. + + :param instance_id: str + :param integration_id: str + :return: DashboardInstanceIntegrationsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integrations', integration_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instance_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instance_groups.py new file mode 100644 index 00000000..647cc22e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instance_groups.py @@ -0,0 +1,220 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstanceGroupsListOutput, DashboardInstanceIntegrationsInstanceGroupsListOutput, mapDashboardInstanceIntegrationsInstanceGroupsListQuery, DashboardInstanceIntegrationsInstanceGroupsListQuery, mapDashboardInstanceIntegrationsInstanceGroupsGetOutput, DashboardInstanceIntegrationsInstanceGroupsGetOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput, DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody, DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput, DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionBody, DashboardInstanceIntegrationsInstanceGroupsCreateSessionBody, mapDashboardInstanceIntegrationsInstanceGroupsCreateOutput, DashboardInstanceIntegrationsInstanceGroupsCreateOutput, mapDashboardInstanceIntegrationsInstanceGroupsCreateBody, DashboardInstanceIntegrationsInstanceGroupsCreateBody, mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutput, DashboardInstanceIntegrationsInstanceGroupsUpdateOutput, mapDashboardInstanceIntegrationsInstanceGroupsUpdateBody, DashboardInstanceIntegrationsInstanceGroupsUpdateBody, mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutput, DashboardInstanceIntegrationsInstanceGroupsDeleteOutput + +class MetorialManagementInstanceIntegrationsInstanceGroupsEndpoint(BaseMetorialEndpoint): + """Integration instance groups combine instance providers into a grouped routed configuration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsListOutput: + """ + List integration instance groups + Returns a paginated list of integration instance groups. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsListOutput.from_dict) + + def get(self, instance_id: str, integration_instance_group_id: str) -> DashboardInstanceIntegrationsInstanceGroupsGetOutput: + """ + Get integration instance group + Retrieves a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-groups', integration_instance_group_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsGetOutput.from_dict) + + def create_session_template(self, instance_id: str, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + """ + Create integration instance group session template + Creates or updates the shared session template for a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-groups', integration_instance_group_id, 'session-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput.from_dict) + + def create_session(self, instance_id: str, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput: + """ + Create integration instance group session + Creates a session from the shared session template of a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-groups', integration_instance_group_id, 'session'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsCreateOutput: + """ + Create integration instance group + Creates a new integration instance group. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsCreateOutput.from_dict) + + def update(self, instance_id: str, integration_instance_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsUpdateOutput: + """ + Update integration instance group + Updates a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-groups', integration_instance_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutput.from_dict) + + def delete(self, instance_id: str, integration_instance_group_id: str) -> DashboardInstanceIntegrationsInstanceGroupsDeleteOutput: + """ + Delete integration instance group + Archives a specific integration instance group. + + :param instance_id: str + :param integration_instance_group_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-groups', integration_instance_group_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instance_groups_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instance_groups_providers.py new file mode 100644 index 00000000..19bbc06e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instance_groups_providers.py @@ -0,0 +1,133 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersListQuery, DashboardInstanceIntegrationsInstanceGroupsProvidersListQuery, mapDashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput, mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetBody, DashboardInstanceIntegrationsInstanceGroupsProvidersSetBody, mapDashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput, DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput + +class MetorialManagementInstanceIntegrationsInstanceGroupsProvidersEndpoint(BaseMetorialEndpoint): + """Integration instance group providers define the effective routed provider set for an integration instance group.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_instance_group_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput: + """ + List integration instance group providers + Returns a paginated list of integration instance group providers. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_group_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_instance_group_id is not None: + query_dict["integration_instance_group_id"] = integration_instance_group_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-group-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutput.from_dict) + + def get(self, instance_id: str, integration_instance_group_provider_id: str) -> DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput: + """ + Get integration instance group provider + Retrieves a specific integration instance group provider. + + :param instance_id: str + :param integration_instance_group_provider_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-group-providers', integration_instance_group_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput.from_dict) + + def set(self, instance_id: str, integration_instance_group_id: str, integration_instance_provider_id: str, *, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput: + """ + Set integration instance group provider + Creates or updates the effective integration instance group provider materialization. + + :param instance_id: str + :param integration_instance_group_id: str + :param integration_instance_provider_id: str + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-groups', integration_instance_group_id, 'providers', integration_instance_provider_id], + body=body_dict + ) + return self._put(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput.from_dict) + + def delete(self, instance_id: str, integration_instance_group_provider_id: str) -> DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + """ + Delete integration instance group provider + Archives a specific integration instance group provider. + + :param instance_id: str + :param integration_instance_group_provider_id: str + :return: DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-group-providers', integration_instance_group_provider_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instances.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instances.py new file mode 100644 index 00000000..b2c7178a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instances.py @@ -0,0 +1,240 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstancesListOutput, DashboardInstanceIntegrationsInstancesListOutput, mapDashboardInstanceIntegrationsInstancesListQuery, DashboardInstanceIntegrationsInstancesListQuery, mapDashboardInstanceIntegrationsInstancesGetOutput, DashboardInstanceIntegrationsInstancesGetOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput, DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateBody, DashboardInstanceIntegrationsInstancesCreateSessionTemplateBody, mapDashboardInstanceIntegrationsInstancesCreateSessionOutput, DashboardInstanceIntegrationsInstancesCreateSessionOutput, mapDashboardInstanceIntegrationsInstancesCreateSessionBody, DashboardInstanceIntegrationsInstancesCreateSessionBody, mapDashboardInstanceIntegrationsInstancesCreateOutput, DashboardInstanceIntegrationsInstancesCreateOutput, mapDashboardInstanceIntegrationsInstancesCreateBody, DashboardInstanceIntegrationsInstancesCreateBody, mapDashboardInstanceIntegrationsInstancesUpdateOutput, DashboardInstanceIntegrationsInstancesUpdateOutput, mapDashboardInstanceIntegrationsInstancesUpdateBody, DashboardInstanceIntegrationsInstancesUpdateBody, mapDashboardInstanceIntegrationsInstancesDeleteOutput, DashboardInstanceIntegrationsInstancesDeleteOutput + +class MetorialManagementInstanceIntegrationsInstancesEndpoint(BaseMetorialEndpoint): + """Integration instances materialize an integration for a specific actor, identity, or runtime configuration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, identity_actor_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesListOutput: + """ + List integration instances + Returns a paginated list of integration instances. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) + :param identity_actor_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id + if identity_actor_id is not None: + query_dict["identity_actor_id"] = identity_actor_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instances'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesListOutput.from_dict) + + def get(self, instance_id: str, integration_instance_id: str) -> DashboardInstanceIntegrationsInstancesGetOutput: + """ + Get integration instance + Retrieves a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :return: DashboardInstanceIntegrationsInstancesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-instances', integration_instance_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesGetOutput.from_dict) + + def create_session_template(self, instance_id: str, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput: + """ + Create integration instance session template + Creates or updates the shared session template for a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instances', integration_instance_id, 'session-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput.from_dict) + + def create_session(self, instance_id: str, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesCreateSessionOutput: + """ + Create integration instance session + Creates a session from the shared session template of a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateSessionOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instances', integration_instance_id, 'session'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateSessionOutput.from_dict) + + def create(self, instance_id: str, *, integration_id: str, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstancesCreateOutput: + """ + Create integration instance + Creates a new integration instance. + + :param instance_id: str + :param integration_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstancesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instances'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsInstancesCreateOutput.from_dict) + + def update(self, instance_id: str, integration_instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceIntegrationsInstancesUpdateOutput: + """ + Update integration instance + Updates a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) + :return: DashboardInstanceIntegrationsInstancesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if providers is not None: + body_dict["providers"] = providers + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instances', integration_instance_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsInstancesUpdateOutput.from_dict) + + def delete(self, instance_id: str, integration_instance_id: str) -> DashboardInstanceIntegrationsInstancesDeleteOutput: + """ + Delete integration instance + Archives a specific integration instance. + + :param instance_id: str + :param integration_instance_id: str + :return: DashboardInstanceIntegrationsInstancesDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-instances', integration_instance_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsInstancesDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instances_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instances_providers.py new file mode 100644 index 00000000..68f56873 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_instances_providers.py @@ -0,0 +1,128 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsInstancesProvidersListOutput, DashboardInstanceIntegrationsInstancesProvidersListOutput, mapDashboardInstanceIntegrationsInstancesProvidersListQuery, DashboardInstanceIntegrationsInstancesProvidersListQuery, mapDashboardInstanceIntegrationsInstancesProvidersGetOutput, DashboardInstanceIntegrationsInstancesProvidersGetOutput, mapDashboardInstanceIntegrationsInstancesProvidersSetOutput, DashboardInstanceIntegrationsInstancesProvidersSetOutput, mapDashboardInstanceIntegrationsInstancesProvidersSetBody, DashboardInstanceIntegrationsInstancesProvidersSetBody + +class MetorialManagementInstanceIntegrationsInstancesProvidersEndpoint(BaseMetorialEndpoint): + """Integration instance providers resolve the effective per-instance provider materialization for an integration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsInstancesProvidersListOutput: + """ + List integration instance providers + Returns a paginated list of integration instance providers. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param session_template_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsInstancesProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + query_dict["provider_auth_config_id"] = provider_auth_config_id + if session_template_id is not None: + query_dict["session_template_id"] = session_template_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersListOutput.from_dict) + + def get(self, instance_id: str, integration_instance_provider_id: str) -> DashboardInstanceIntegrationsInstancesProvidersGetOutput: + """ + Get integration instance provider + Retrieves a specific integration instance provider. + + :param instance_id: str + :param integration_instance_provider_id: str + :return: DashboardInstanceIntegrationsInstancesProvidersGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-instance-providers', integration_instance_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersGetOutput.from_dict) + + def set(self, instance_id: str, integration_instance_id: str, provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None, is_override_tool_filter: Optional[bool] = None) -> DashboardInstanceIntegrationsInstancesProvidersSetOutput: + """ + Set integration instance provider + Creates or updates the effective integration instance provider materialization. + + :param instance_id: str + :param integration_instance_id: str + :param provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param provider_auth_config_id: Optional[str] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :param is_override_tool_filter: Optional[bool] (optional) + :return: DashboardInstanceIntegrationsInstancesProvidersSetOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + body_dict["provider_auth_config_id"] = provider_auth_config_id + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + if is_override_tool_filter is not None: + body_dict["is_override_tool_filter"] = is_override_tool_filter + + request = MetorialRequest( + path=['instances', instance_id, 'integration-instances', integration_instance_id, 'providers', provider_id], + body=body_dict + ) + return self._put(request).transform(mapDashboardInstanceIntegrationsInstancesProvidersSetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_providers.py new file mode 100644 index 00000000..7af1823c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_providers.py @@ -0,0 +1,188 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsProvidersListOutput, DashboardInstanceIntegrationsProvidersListOutput, mapDashboardInstanceIntegrationsProvidersListQuery, DashboardInstanceIntegrationsProvidersListQuery, mapDashboardInstanceIntegrationsProvidersGetOutput, DashboardInstanceIntegrationsProvidersGetOutput, mapDashboardInstanceIntegrationsProvidersCreateOutput, DashboardInstanceIntegrationsProvidersCreateOutput, mapDashboardInstanceIntegrationsProvidersCreateBody, DashboardInstanceIntegrationsProvidersCreateBody, mapDashboardInstanceIntegrationsProvidersUpdateOutput, DashboardInstanceIntegrationsProvidersUpdateOutput, mapDashboardInstanceIntegrationsProvidersUpdateBody, DashboardInstanceIntegrationsProvidersUpdateBody, mapDashboardInstanceIntegrationsProvidersDeleteOutput, DashboardInstanceIntegrationsProvidersDeleteOutput + +class MetorialManagementInstanceIntegrationsProvidersEndpoint(BaseMetorialEndpoint): + """Integration providers define the shared provider-level contract for a given integration.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsProvidersListOutput: + """ + List integration providers + Returns a paginated list of integration providers. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) + :param provider_config_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsProvidersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if provider_deployment_id is not None: + query_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + query_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + query_dict["provider_config_id"] = provider_config_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'integration-providers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsProvidersListOutput.from_dict) + + def get(self, instance_id: str, integration_provider_id: str) -> DashboardInstanceIntegrationsProvidersGetOutput: + """ + Get integration provider + Retrieves a specific integration provider. + + :param instance_id: str + :param integration_provider_id: str + :return: DashboardInstanceIntegrationsProvidersGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-providers', integration_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsProvidersGetOutput.from_dict) + + def create(self, instance_id: str, *, integration_id: str, provider_id: str, provider_deployment_id: str, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, provider_config_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsProvidersCreateOutput: + """ + Create integration provider + Creates a new integration provider. + + :param instance_id: str + :param integration_id: str + :param provider_id: str + :param provider_deployment_id: str + :param provider_auth_method_id: Optional[str] (optional) + :param provider_auth_credentials_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsProvidersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["provider_id"] = provider_id + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + body_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['instances', instance_id, 'integration-providers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsProvidersCreateOutput.from_dict) + + def update(self, instance_id: str, integration_provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, provider_config_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceIntegrationsProvidersUpdateOutput: + """ + Update integration provider + Updates a specific integration provider. + + :param instance_id: str + :param integration_provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_auth_method_id: Optional[str] (optional) + :param provider_auth_credentials_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :return: DashboardInstanceIntegrationsProvidersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_auth_method_id is not None: + body_dict["provider_auth_method_id"] = provider_auth_method_id + if provider_auth_credentials_id is not None: + body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if tool_filters is not None: + body_dict["tool_filters"] = tool_filters + + request = MetorialRequest( + path=['instances', instance_id, 'integration-providers', integration_provider_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceIntegrationsProvidersUpdateOutput.from_dict) + + def delete(self, instance_id: str, integration_provider_id: str) -> DashboardInstanceIntegrationsProvidersDeleteOutput: + """ + Delete integration provider + Archives a specific integration provider. + + :param instance_id: str + :param integration_provider_id: str + :return: DashboardInstanceIntegrationsProvidersDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-providers', integration_provider_id] + ) + return self._delete(request).transform(mapDashboardInstanceIntegrationsProvidersDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_setup_sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_setup_sessions.py new file mode 100644 index 00000000..d81ae4b9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_integrations_setup_sessions.py @@ -0,0 +1,116 @@ +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceIntegrationsSetupSessionsListOutput, DashboardInstanceIntegrationsSetupSessionsListOutput, mapDashboardInstanceIntegrationsSetupSessionsListQuery, DashboardInstanceIntegrationsSetupSessionsListQuery, mapDashboardInstanceIntegrationsSetupSessionsGetOutput, DashboardInstanceIntegrationsSetupSessionsGetOutput, mapDashboardInstanceIntegrationsSetupSessionsCreateOutput, DashboardInstanceIntegrationsSetupSessionsCreateOutput, mapDashboardInstanceIntegrationsSetupSessionsCreateBody, DashboardInstanceIntegrationsSetupSessionsCreateBody + +class MetorialManagementInstanceIntegrationsSetupSessionsEndpoint(BaseMetorialEndpoint): + """Integration setup sessions orchestrate configuring every provider required by an integration instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, integration_instance_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsSetupSessionsListOutput: + """ + List integration setup sessions + Returns a paginated list of integration setup sessions. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsSetupSessionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if integration_instance_id is not None: + query_dict["integration_instance_id"] = integration_instance_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'integration-setup-sessions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsSetupSessionsListOutput.from_dict) + + def get(self, instance_id: str, integration_setup_session_id: str) -> DashboardInstanceIntegrationsSetupSessionsGetOutput: + """ + Get integration setup session + Retrieves a specific integration setup session. + + :param instance_id: str + :param integration_setup_session_id: str + :return: DashboardInstanceIntegrationsSetupSessionsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'integration-setup-sessions', integration_setup_session_id] + ) + return self._get(request).transform(mapDashboardInstanceIntegrationsSetupSessionsGetOutput.from_dict) + + def create(self, instance_id: str, *, integration_id: str, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_actor_id: Optional[str] = None, identity_id: Optional[str] = None, expires_at: Optional[datetime] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceIntegrationsSetupSessionsCreateOutput: + """ + Create integration setup session + Creates a new integration setup session and draft integration instance. + + :param instance_id: str + :param integration_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_actor_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param redirect_url: Optional[str] (optional) + :param configuration: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceIntegrationsSetupSessionsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["integration_id"] = integration_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if identity_actor_id is not None: + body_dict["identity_actor_id"] = identity_actor_id + if identity_id is not None: + body_dict["identity_id"] = identity_id + if expires_at is not None: + body_dict["expires_at"] = expires_at + if redirect_url is not None: + body_dict["redirect_url"] = redirect_url + if configuration is not None: + body_dict["configuration"] = configuration + + request = MetorialRequest( + path=['instances', instance_id, 'integration-setup-sessions'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceIntegrationsSetupSessionsCreateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_endpoints.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_endpoints.py index 2d7413d9..dced13e5 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_endpoints.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_endpoints.py @@ -63,7 +63,7 @@ def get(self, instance_id: str, magic_mcp_endpoint_id: str) -> DashboardInstance ) return self._get(request).transform(mapDashboardInstanceMagicMcpEndpointsGetOutput.from_dict) - def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None, magic_mcp_server_ids: Optional[List[str]] = None, servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsCreateOutput: + def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None, skill_plugin_id: Optional[str] = None, magic_mcp_servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsCreateOutput: """ Create magic MCP endpoint Creates a magic MCP endpoint. @@ -73,8 +73,8 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) :param consumer_profile_id: Optional[str] (optional) - :param magic_mcp_server_ids: Optional[List[str]] (optional) - :param servers: Optional[List[Dict[str, Any]]] (optional) + :param skill_plugin_id: Optional[str] (optional) + :param magic_mcp_servers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceMagicMcpEndpointsCreateOutput """ # Build body parameters from keyword arguments @@ -87,10 +87,10 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O body_dict["metadata"] = metadata if consumer_profile_id is not None: body_dict["consumer_profile_id"] = consumer_profile_id - if magic_mcp_server_ids is not None: - body_dict["magic_mcp_server_ids"] = magic_mcp_server_ids - if servers is not None: - body_dict["servers"] = servers + if skill_plugin_id is not None: + body_dict["skill_plugin_id"] = skill_plugin_id + if magic_mcp_servers is not None: + body_dict["magic_mcp_servers"] = magic_mcp_servers request = MetorialRequest( path=['instances', instance_id, 'magic-mcp-endpoints'], @@ -139,23 +139,20 @@ def update(self, instance_id: str, magic_mcp_endpoint_id: str, *, name: Optional ) return self._patch(request).transform(mapDashboardInstanceMagicMcpEndpointsUpdateOutput.from_dict) - def add_servers(self, instance_id: str, magic_mcp_endpoint_id: str, *, magic_mcp_server_ids: Optional[List[str]] = None, servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsAddServersOutput: + def add_servers(self, instance_id: str, magic_mcp_endpoint_id: str, *, magic_mcp_servers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceMagicMcpEndpointsAddServersOutput: """ Add servers to magic MCP endpoint Adds magic MCP servers to a magic MCP endpoint. :param instance_id: str :param magic_mcp_endpoint_id: str - :param magic_mcp_server_ids: Optional[List[str]] (optional) - :param servers: Optional[List[Dict[str, Any]]] (optional) + :param magic_mcp_servers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceMagicMcpEndpointsAddServersOutput """ # Build body parameters from keyword arguments body_dict = {} - if magic_mcp_server_ids is not None: - body_dict["magic_mcp_server_ids"] = magic_mcp_server_ids - if servers is not None: - body_dict["servers"] = servers + if magic_mcp_servers is not None: + body_dict["magic_mcp_servers"] = magic_mcp_servers request = MetorialRequest( path=['instances', instance_id, 'magic-mcp-endpoints', magic_mcp_endpoint_id, 'add-servers'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers.py index 244b5555..8c76d8c1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers.py @@ -92,7 +92,7 @@ def tools(self, instance_id: str, magic_mcp_server_id: str) -> DashboardInstance ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersToolsOutput.from_dict) - def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_template_id: Optional[str] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -101,6 +101,7 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param provider_template_id: Optional[str] (optional) :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ @@ -112,6 +113,8 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if provider_template_id is not None: + body_dict["provider_template_id"] = provider_template_id if consumer_profile_id is not None: body_dict["consumer_profile_id"] = consumer_profile_id @@ -135,7 +138,7 @@ def delete(self, instance_id: str, magic_mcp_server_id: str) -> DashboardInstanc ) return self._delete(request).transform(mapDashboardInstanceMagicMcpServersDeleteOutput.from_dict) - def update(self, instance_id: str, magic_mcp_server_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, aliases: Optional[List[str]] = None, session_template_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersUpdateOutput: + def update(self, instance_id: str, magic_mcp_server_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, aliases: Optional[List[str]] = None) -> DashboardInstanceMagicMcpServersUpdateOutput: """ Update magic MCP server Updates a magic MCP server. @@ -146,7 +149,6 @@ def update(self, instance_id: str, magic_mcp_server_id: str, *, name: Optional[s :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) :param aliases: Optional[List[str]] (optional) - :param session_template_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersUpdateOutput """ # Build body parameters from keyword arguments @@ -159,8 +161,6 @@ def update(self, instance_id: str, magic_mcp_server_id: str, *, name: Optional[s body_dict["metadata"] = metadata if aliases is not None: body_dict["aliases"] = aliases - if session_template_id is not None: - body_dict["session_template_id"] = session_template_id request = MetorialRequest( path=['instances', instance_id, 'magic-mcp-servers', magic_mcp_server_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers_providers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers_providers.py index b93171b8..367d0bef 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers_providers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers_providers.py @@ -1,17 +1,17 @@ from typing import Any, Dict, List, Optional, Union from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapDashboardInstanceMagicMcpServersProvidersListOutput, DashboardInstanceMagicMcpServersProvidersListOutput, mapDashboardInstanceMagicMcpServersProvidersListQuery, DashboardInstanceMagicMcpServersProvidersListQuery, mapDashboardInstanceMagicMcpServersProvidersGetOutput, DashboardInstanceMagicMcpServersProvidersGetOutput, mapDashboardInstanceMagicMcpServersProvidersCreateOutput, DashboardInstanceMagicMcpServersProvidersCreateOutput, mapDashboardInstanceMagicMcpServersProvidersCreateBody, DashboardInstanceMagicMcpServersProvidersCreateBody, mapDashboardInstanceMagicMcpServersProvidersUpdateOutput, DashboardInstanceMagicMcpServersProvidersUpdateOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateBody, DashboardInstanceMagicMcpServersProvidersUpdateBody, mapDashboardInstanceMagicMcpServersProvidersDeleteOutput, DashboardInstanceMagicMcpServersProvidersDeleteOutput +from ..resources import mapDashboardInstanceMagicMcpServersProvidersListOutput, DashboardInstanceMagicMcpServersProvidersListOutput, mapDashboardInstanceMagicMcpServersProvidersListQuery, DashboardInstanceMagicMcpServersProvidersListQuery, mapDashboardInstanceMagicMcpServersProvidersCreateOutput, DashboardInstanceMagicMcpServersProvidersCreateOutput, mapDashboardInstanceMagicMcpServersProvidersCreateBody, DashboardInstanceMagicMcpServersProvidersCreateBody, mapDashboardInstanceMagicMcpServersProvidersGetOutput, DashboardInstanceMagicMcpServersProvidersGetOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateOutput, DashboardInstanceMagicMcpServersProvidersUpdateOutput, mapDashboardInstanceMagicMcpServersProvidersUpdateBody, DashboardInstanceMagicMcpServersProvidersUpdateBody, mapDashboardInstanceMagicMcpServersProvidersDeleteOutput, DashboardInstanceMagicMcpServersProvidersDeleteOutput class MetorialManagementInstanceMagicMcpServersProvidersEndpoint(BaseMetorialEndpoint): - """Magic MCP server providers define which providers are included in the setup session template backing a magic MCP server.""" + """Magic MCP servers are stable MCP entrypoints backed by one Subspace session template.""" def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersProvidersListOutput: + def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_provider_id: Optional[Union[str, List[str]]] = None, integration_instance_provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersProvidersListOutput: """ List magic MCP server providers - Returns a paginated list of providers configured for a magic MCP server. + Returns the backing integration instance providers configured for a magic MCP server. :param instance_id: str :param magic_mcp_server_id: str @@ -23,6 +23,8 @@ def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[fl :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_instance_provider_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) @@ -48,6 +50,10 @@ def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[fl query_dict["id"] = id if provider_id is not None: query_dict["provider_id"] = provider_id + if integration_provider_id is not None: + query_dict["integration_provider_id"] = integration_provider_id + if integration_instance_provider_id is not None: + query_dict["integration_instance_provider_id"] = integration_instance_provider_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_id is not None: @@ -65,43 +71,27 @@ def list(self, instance_id: str, magic_mcp_server_id: str, *, limit: Optional[fl ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersListOutput.from_dict) - def get(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersGetOutput: - """ - Get magic MCP server provider - Retrieves a specific provider configuration from a magic MCP server. - - :param instance_id: str - :param magic_mcp_server_id: str - :param magic_mcp_server_provider_id: str - :return: DashboardInstanceMagicMcpServersProvidersGetOutput - """ - request = MetorialRequest( - path=['instances', instance_id, 'magic-mcp-servers', magic_mcp_server_id, 'providers', magic_mcp_server_provider_id] - ) - return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersGetOutput.from_dict) - - def create(self, instance_id: str, magic_mcp_server_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_config_vault_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersCreateOutput: + def create(self, instance_id: str, magic_mcp_server_id: str, *, provider_id: str, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersCreateOutput: """ Create magic MCP server provider - Adds a new provider configuration to a magic MCP server. + Creates a configurable provider row for a magic MCP server. :param instance_id: str :param magic_mcp_server_id: str + :param provider_id: str :param provider_deployment_id: Optional[str] (optional) :param provider_config_id: Optional[str] (optional) - :param provider_config_vault_id: Optional[str] (optional) :param provider_auth_config_id: Optional[str] (optional) :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) :return: DashboardInstanceMagicMcpServersProvidersCreateOutput """ # Build body parameters from keyword arguments body_dict = {} + body_dict["provider_id"] = provider_id if provider_deployment_id is not None: body_dict["provider_deployment_id"] = provider_deployment_id if provider_config_id is not None: body_dict["provider_config_id"] = provider_config_id - if provider_config_vault_id is not None: - body_dict["provider_config_vault_id"] = provider_config_vault_id if provider_auth_config_id is not None: body_dict["provider_auth_config_id"] = provider_auth_config_id if tool_filters is not None: @@ -113,19 +103,43 @@ def create(self, instance_id: str, magic_mcp_server_id: str, *, provider_deploym ) return self._post(request).transform(mapDashboardInstanceMagicMcpServersProvidersCreateOutput.from_dict) - def update(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str, *, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersUpdateOutput: + def get(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersGetOutput: + """ + Get magic MCP server provider + Retrieves a specific backing integration instance provider for a magic MCP server. + + :param instance_id: str + :param magic_mcp_server_id: str + :param magic_mcp_server_provider_id: str + :return: DashboardInstanceMagicMcpServersProvidersGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'magic-mcp-servers', magic_mcp_server_id, 'providers', magic_mcp_server_provider_id] + ) + return self._get(request).transform(mapDashboardInstanceMagicMcpServersProvidersGetOutput.from_dict) + + def update(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str, *, provider_deployment_id: Optional[str] = None, provider_config_id: Optional[str] = None, provider_auth_config_id: Optional[str] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceMagicMcpServersProvidersUpdateOutput: """ Update magic MCP server provider - Updates a provider configuration in a magic MCP server. + Updates a backing integration provider and then sets the corresponding integration instance provider for a magic MCP server. :param instance_id: str :param magic_mcp_server_id: str :param magic_mcp_server_provider_id: str + :param provider_deployment_id: Optional[str] (optional) + :param provider_config_id: Optional[str] (optional) + :param provider_auth_config_id: Optional[str] (optional) :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) :return: DashboardInstanceMagicMcpServersProvidersUpdateOutput """ # Build body parameters from keyword arguments body_dict = {} + if provider_deployment_id is not None: + body_dict["provider_deployment_id"] = provider_deployment_id + if provider_config_id is not None: + body_dict["provider_config_id"] = provider_config_id + if provider_auth_config_id is not None: + body_dict["provider_auth_config_id"] = provider_auth_config_id if tool_filters is not None: body_dict["tool_filters"] = tool_filters @@ -138,7 +152,7 @@ def update(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_pr def delete(self, instance_id: str, magic_mcp_server_id: str, magic_mcp_server_provider_id: str) -> DashboardInstanceMagicMcpServersProvidersDeleteOutput: """ Delete magic MCP server provider - Removes a provider configuration from a magic MCP server. + Archives a backing integration instance provider from a magic MCP server and removes the shared integration provider when unused. :param instance_id: str :param magic_mcp_server_id: str diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals.py index b48ea538..3a98019e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals.py @@ -54,7 +54,7 @@ def get(self, instance_id: str, portal_id: str) -> DashboardInstancePortalsGetOu ) return self._get(request).transform(mapDashboardInstancePortalsGetOutput.from_dict) - def create(self, instance_id: str, *, name: str, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None) -> DashboardInstancePortalsCreateOutput: + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None, allow_consumer_skill_authoring: Optional[bool] = None, allow_consumer_skill_publishing: Optional[bool] = None) -> DashboardInstancePortalsCreateOutput: """ Create portal Creates a new portal for the instance. @@ -64,6 +64,8 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No :param description: Optional[str] (optional) :param allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] (optional) :param session_expiry_time_in_seconds: Optional[float] (optional) + :param allow_consumer_skill_authoring: Optional[bool] (optional) + :param allow_consumer_skill_publishing: Optional[bool] (optional) :return: DashboardInstancePortalsCreateOutput """ # Build body parameters from keyword arguments @@ -75,6 +77,10 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No body_dict["allowed_redirect_url_filters"] = allowed_redirect_url_filters if session_expiry_time_in_seconds is not None: body_dict["session_expiry_time_in_seconds"] = session_expiry_time_in_seconds + if allow_consumer_skill_authoring is not None: + body_dict["allow_consumer_skill_authoring"] = allow_consumer_skill_authoring + if allow_consumer_skill_publishing is not None: + body_dict["allow_consumer_skill_publishing"] = allow_consumer_skill_publishing request = MetorialRequest( path=['instances', instance_id, 'portals'], @@ -82,7 +88,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No ) return self._post(request).transform(mapDashboardInstancePortalsCreateOutput.from_dict) - def update(self, instance_id: str, portal_id: str, *, name: Optional[str] = None, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None) -> DashboardInstancePortalsUpdateOutput: + def update(self, instance_id: str, portal_id: str, *, name: Optional[str] = None, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None, allow_consumer_skill_authoring: Optional[bool] = None, allow_consumer_skill_publishing: Optional[bool] = None, skill_configuration: Optional[Dict[str, Any]] = None) -> DashboardInstancePortalsUpdateOutput: """ Update portal Updates an existing portal for the instance. @@ -93,6 +99,9 @@ def update(self, instance_id: str, portal_id: str, *, name: Optional[str] = None :param description: Optional[str] (optional) :param allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] (optional) :param session_expiry_time_in_seconds: Optional[float] (optional) + :param allow_consumer_skill_authoring: Optional[bool] (optional) + :param allow_consumer_skill_publishing: Optional[bool] (optional) + :param skill_configuration: Optional[Dict[str, Any]] (optional) :return: DashboardInstancePortalsUpdateOutput """ # Build body parameters from keyword arguments @@ -105,6 +114,12 @@ def update(self, instance_id: str, portal_id: str, *, name: Optional[str] = None body_dict["allowed_redirect_url_filters"] = allowed_redirect_url_filters if session_expiry_time_in_seconds is not None: body_dict["session_expiry_time_in_seconds"] = session_expiry_time_in_seconds + if allow_consumer_skill_authoring is not None: + body_dict["allow_consumer_skill_authoring"] = allow_consumer_skill_authoring + if allow_consumer_skill_publishing is not None: + body_dict["allow_consumer_skill_publishing"] = allow_consumer_skill_publishing + if skill_configuration is not None: + body_dict["skill_configuration"] = skill_configuration request = MetorialRequest( path=['instances', instance_id, 'portals', portal_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_access.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_access.py new file mode 100644 index 00000000..957bcf91 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_access.py @@ -0,0 +1,161 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAccessListOutput, DashboardInstancePortalsAccessListOutput, mapDashboardInstancePortalsAccessListQuery, DashboardInstancePortalsAccessListQuery, mapDashboardInstancePortalsAccessGetOutput, DashboardInstancePortalsAccessGetOutput, mapDashboardInstancePortalsAccessCreateOutput, DashboardInstancePortalsAccessCreateOutput, mapDashboardInstancePortalsAccessCreateBody, DashboardInstancePortalsAccessCreateBody, mapDashboardInstancePortalsAccessUpdateOutput, DashboardInstancePortalsAccessUpdateOutput, mapDashboardInstancePortalsAccessUpdateBody, DashboardInstancePortalsAccessUpdateBody, mapDashboardInstancePortalsAccessDeleteOutput, DashboardInstancePortalsAccessDeleteOutput + +class MetorialManagementInstancePortalsAccessEndpoint(BaseMetorialEndpoint): + """Manage which consumer groups can access portal provider templates and MCP servers.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_group_id: Optional[Union[str, List[str]]] = None, provider_template_id: Optional[Union[str, List[str]]] = None, magic_mcp_server_id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, skill_template_id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, consumer_access_listing_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsAccessListOutput: + """ + List portal access + Returns a paginated list of consumer access rules for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_group_id: Optional[Union[str, List[str]]] (optional) + :param provider_template_id: Optional[Union[str, List[str]]] (optional) + :param magic_mcp_server_id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param skill_template_id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param consumer_access_listing_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsAccessListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_group_id is not None: + query_dict["consumer_group_id"] = consumer_group_id + if provider_template_id is not None: + query_dict["provider_template_id"] = provider_template_id + if magic_mcp_server_id is not None: + query_dict["magic_mcp_server_id"] = magic_mcp_server_id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if skill_template_id is not None: + query_dict["skill_template_id"] = skill_template_id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if consumer_access_listing_id is not None: + query_dict["consumer_access_listing_id"] = consumer_access_listing_id + if type is not None: + query_dict["type"] = type + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'access'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, access_id: str) -> DashboardInstancePortalsAccessGetOutput: + """ + Get portal access + Retrieves a portal access rule by ID. + + :param instance_id: str + :param portal_id: str + :param access_id: str + :return: DashboardInstancePortalsAccessGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'access', access_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessGetOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, consumer_group_id: str, access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsAccessCreateOutput: + """ + Create portal access + Creates a new consumer access rule for the portal. + + :param instance_id: str + :param portal_id: str + :param consumer_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :param access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]] + :return: DashboardInstancePortalsAccessCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["consumer_group_id"] = consumer_group_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + body_dict["access"] = access + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'access'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsAccessCreateOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, access_id: str, *, name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsAccessUpdateOutput: + """ + Update portal access + Updates the shared listing fields for a portal access rule. + + :param instance_id: str + :param portal_id: str + :param access_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :return: DashboardInstancePortalsAccessUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'access', access_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAccessUpdateOutput.from_dict) + + def delete(self, instance_id: str, portal_id: str, access_id: str) -> DashboardInstancePortalsAccessDeleteOutput: + """ + Delete portal access + Deletes a consumer access rule from the portal. + + :param instance_id: str + :param portal_id: str + :param access_id: str + :return: DashboardInstancePortalsAccessDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'access', access_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsAccessDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_access_requests.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_access_requests.py new file mode 100644 index 00000000..17f5e170 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_access_requests.py @@ -0,0 +1,93 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAccessRequestsListOutput, DashboardInstancePortalsAccessRequestsListOutput, mapDashboardInstancePortalsAccessRequestsListQuery, DashboardInstancePortalsAccessRequestsListQuery, mapDashboardInstancePortalsAccessRequestsGetOutput, DashboardInstancePortalsAccessRequestsGetOutput, mapDashboardInstancePortalsAccessRequestsUpdateOutput, DashboardInstancePortalsAccessRequestsUpdateOutput, mapDashboardInstancePortalsAccessRequestsUpdateBody, DashboardInstancePortalsAccessRequestsUpdateBody + +class MetorialManagementInstancePortalsAccessRequestsEndpoint(BaseMetorialEndpoint): + """Review and resolve access requests for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstancePortalsAccessRequestsListOutput: + """ + List portal access requests + Returns a paginated list of access requests for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :return: DashboardInstancePortalsAccessRequestsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id + if search is not None: + query_dict["search"] = search + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'access-requests'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessRequestsListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, access_request_id: str) -> DashboardInstancePortalsAccessRequestsGetOutput: + """ + Get portal access request + Retrieves a access request by ID. + + :param instance_id: str + :param portal_id: str + :param access_request_id: str + :return: DashboardInstancePortalsAccessRequestsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'access-requests', access_request_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessRequestsGetOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, access_request_id: str, *, status: str, resolution_message: Optional[str] = None, consumer_group_id: Optional[str] = None) -> DashboardInstancePortalsAccessRequestsUpdateOutput: + """ + Review portal access request + Approves or rejects a access request. + + :param instance_id: str + :param portal_id: str + :param access_request_id: str + :param status: str + :param resolution_message: Optional[str] (optional) + :param consumer_group_id: Optional[str] (optional) + :return: DashboardInstancePortalsAccessRequestsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["status"] = status + if resolution_message is not None: + body_dict["resolution_message"] = resolution_message + if consumer_group_id is not None: + body_dict["consumer_group_id"] = consumer_group_id + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'access-requests', access_request_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAccessRequestsUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_app.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_app.py new file mode 100644 index 00000000..d3c1acf6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_app.py @@ -0,0 +1,44 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthAppGetOutput, DashboardInstancePortalsAuthAppGetOutput, mapDashboardInstancePortalsAuthAppUpdateOutput, DashboardInstancePortalsAuthAppUpdateOutput, mapDashboardInstancePortalsAuthAppUpdateBody, DashboardInstancePortalsAuthAppUpdateBody + +class MetorialManagementInstancePortalsAuthAppEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, instance_id: str, portal_id: str) -> DashboardInstancePortalsAuthAppGetOutput: + """ + Get portal auth app + Returns the Ares app configuration for a portal. + + :param instance_id: str + :param portal_id: str + :return: DashboardInstancePortalsAuthAppGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'auth', 'app'] + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthAppGetOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, *, email_whitelist: Optional[List[str]] = None) -> DashboardInstancePortalsAuthAppUpdateOutput: + """ + Update portal auth app + Updates the portal auth app configuration stored on the portal surface. + + :param instance_id: str + :param portal_id: str + :param email_whitelist: Optional[List[str]] (optional) + :return: DashboardInstancePortalsAuthAppUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if email_whitelist is not None: + body_dict["email_whitelist"] = email_whitelist + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'auth', 'app'], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAuthAppUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_sso_tenants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_sso_tenants.py new file mode 100644 index 00000000..03a03146 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_sso_tenants.py @@ -0,0 +1,77 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthSsoTenantsListOutput, DashboardInstancePortalsAuthSsoTenantsListOutput, mapDashboardInstancePortalsAuthSsoTenantsListQuery, DashboardInstancePortalsAuthSsoTenantsListQuery, mapDashboardInstancePortalsAuthSsoTenantsCreateOutput, DashboardInstancePortalsAuthSsoTenantsCreateOutput, mapDashboardInstancePortalsAuthSsoTenantsCreateBody, DashboardInstancePortalsAuthSsoTenantsCreateBody, mapDashboardInstancePortalsAuthSsoTenantsSetupOutput, DashboardInstancePortalsAuthSsoTenantsSetupOutput + +class MetorialManagementInstancePortalsAuthSsoTenantsEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstancePortalsAuthSsoTenantsListOutput: + """ + List portal auth SSO tenants + Returns the SSO tenants configured for a portal Ares app. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstancePortalsAuthSsoTenantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'auth', 'sso-tenants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthSsoTenantsListOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, name: str) -> DashboardInstancePortalsAuthSsoTenantsCreateOutput: + """ + Create portal auth SSO tenant + Creates an SSO tenant for the portal Ares app. + + :param instance_id: str + :param portal_id: str + :param name: str + :return: DashboardInstancePortalsAuthSsoTenantsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'auth', 'sso-tenants'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsAuthSsoTenantsCreateOutput.from_dict) + + def setup(self, instance_id: str, portal_id: str, sso_tenant_id: str) -> DashboardInstancePortalsAuthSsoTenantsSetupOutput: + """ + Create portal auth SSO tenant setup + Creates an Ares setup URL for finishing portal SSO tenant configuration. + + :param instance_id: str + :param portal_id: str + :param sso_tenant_id: str + :return: DashboardInstancePortalsAuthSsoTenantsSetupOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'auth', 'sso-tenants', sso_tenant_id, 'setup'] + ) + return self._post(request).transform(mapDashboardInstancePortalsAuthSsoTenantsSetupOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_sso_tenants_connections.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_sso_tenants_connections.py new file mode 100644 index 00000000..adc18c76 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_auth_sso_tenants_connections.py @@ -0,0 +1,43 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutput, DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput, mapDashboardInstancePortalsAuthSsoTenantsConnectionsListQuery, DashboardInstancePortalsAuthSsoTenantsConnectionsListQuery + +class MetorialManagementInstancePortalsAuthSsoTenantsConnectionsEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, sso_tenant_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput: + """ + List portal auth SSO tenant connections + Returns SSO connections that belong to a portal SSO tenant. + + :param instance_id: str + :param portal_id: str + :param sso_tenant_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'auth', 'sso-tenants', sso_tenant_id, 'connections'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_groups.py new file mode 100644 index 00000000..dd0200f9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_groups.py @@ -0,0 +1,138 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerGroupsListOutput, DashboardInstancePortalsConsumerGroupsListOutput, mapDashboardInstancePortalsConsumerGroupsListQuery, DashboardInstancePortalsConsumerGroupsListQuery, mapDashboardInstancePortalsConsumerGroupsGetOutput, DashboardInstancePortalsConsumerGroupsGetOutput, mapDashboardInstancePortalsConsumerGroupsCreateOutput, DashboardInstancePortalsConsumerGroupsCreateOutput, mapDashboardInstancePortalsConsumerGroupsCreateBody, DashboardInstancePortalsConsumerGroupsCreateBody, mapDashboardInstancePortalsConsumerGroupsUpdateOutput, DashboardInstancePortalsConsumerGroupsUpdateOutput, mapDashboardInstancePortalsConsumerGroupsUpdateBody, DashboardInstancePortalsConsumerGroupsUpdateBody, mapDashboardInstancePortalsConsumerGroupsDeleteOutput, DashboardInstancePortalsConsumerGroupsDeleteOutput + +class MetorialManagementInstancePortalsConsumerGroupsEndpoint(BaseMetorialEndpoint): + """Manage the consumer groups that drive portal visibility and access rules.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstancePortalsConsumerGroupsListOutput: + """ + List portal consumer groups + Returns a paginated list of consumer groups for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :return: DashboardInstancePortalsConsumerGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if search is not None: + query_dict["search"] = search + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerGroupsListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, consumer_group_id: str) -> DashboardInstancePortalsConsumerGroupsGetOutput: + """ + Get portal consumer group + Retrieves a portal consumer group by ID. + + :param instance_id: str + :param portal_id: str + :param consumer_group_id: str + :return: DashboardInstancePortalsConsumerGroupsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-groups', consumer_group_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerGroupsGetOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, name: str, description: Optional[str] = None, sso_group_ids: Optional[List[str]] = None, is_default: Optional[bool] = None) -> DashboardInstancePortalsConsumerGroupsCreateOutput: + """ + Create portal consumer group + Creates a new consumer group for the portal. + + :param instance_id: str + :param portal_id: str + :param name: str + :param description: Optional[str] (optional) + :param sso_group_ids: Optional[List[str]] (optional) + :param is_default: Optional[bool] (optional) + :return: DashboardInstancePortalsConsumerGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if sso_group_ids is not None: + body_dict["sso_group_ids"] = sso_group_ids + if is_default is not None: + body_dict["is_default"] = is_default + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerGroupsCreateOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, consumer_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, sso_group_ids: Optional[List[str]] = None, is_default: Optional[bool] = None) -> DashboardInstancePortalsConsumerGroupsUpdateOutput: + """ + Update portal consumer group + Updates a consumer group for the portal. + + :param instance_id: str + :param portal_id: str + :param consumer_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param sso_group_ids: Optional[List[str]] (optional) + :param is_default: Optional[bool] (optional) + :return: DashboardInstancePortalsConsumerGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if sso_group_ids is not None: + body_dict["sso_group_ids"] = sso_group_ids + if is_default is not None: + body_dict["is_default"] = is_default + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-groups', consumer_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsConsumerGroupsUpdateOutput.from_dict) + + def delete(self, instance_id: str, portal_id: str, consumer_group_id: str) -> DashboardInstancePortalsConsumerGroupsDeleteOutput: + """ + Delete portal consumer group + Archives a consumer group for the portal. + + :param instance_id: str + :param portal_id: str + :param consumer_group_id: str + :return: DashboardInstancePortalsConsumerGroupsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-groups', consumer_group_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsConsumerGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_invites.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_invites.py new file mode 100644 index 00000000..db7fbc61 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_invites.py @@ -0,0 +1,88 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerInvitesListOutput, DashboardInstancePortalsConsumerInvitesListOutput, mapDashboardInstancePortalsConsumerInvitesListQuery, DashboardInstancePortalsConsumerInvitesListQuery, mapDashboardInstancePortalsConsumerInvitesCreateOutput, DashboardInstancePortalsConsumerInvitesCreateOutput, mapDashboardInstancePortalsConsumerInvitesCreateBody, DashboardInstancePortalsConsumerInvitesCreateBody, mapDashboardInstancePortalsConsumerInvitesGetOutput, DashboardInstancePortalsConsumerInvitesGetOutput + +class MetorialManagementInstancePortalsConsumerInvitesEndpoint(BaseMetorialEndpoint): + """List and inspect consumer invites for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsConsumerInvitesListOutput: + """ + List portal consumer invites + Returns a paginated list of invites for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsConsumerInvitesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-invites'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerInvitesListOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, name: str, email: str, message: Optional[str] = None) -> DashboardInstancePortalsConsumerInvitesCreateOutput: + """ + Create portal consumer invite + Invites a consumer to a portal. + + :param instance_id: str + :param portal_id: str + :param name: str + :param email: str + :param message: Optional[str] (optional) + :return: DashboardInstancePortalsConsumerInvitesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + if message is not None: + body_dict["message"] = message + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-invites'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerInvitesCreateOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, consumer_invite_id: str) -> DashboardInstancePortalsConsumerInvitesGetOutput: + """ + Get portal consumer invite + Retrieves a portal consumer invite by ID. + + :param instance_id: str + :param portal_id: str + :param consumer_invite_id: str + :return: DashboardInstancePortalsConsumerInvitesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-invites', consumer_invite_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerInvitesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_profiles.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_profiles.py new file mode 100644 index 00000000..18a41626 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_consumer_profiles.py @@ -0,0 +1,130 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerProfilesListOutput, DashboardInstancePortalsConsumerProfilesListOutput, mapDashboardInstancePortalsConsumerProfilesListQuery, DashboardInstancePortalsConsumerProfilesListQuery, mapDashboardInstancePortalsConsumerProfilesGetOutput, DashboardInstancePortalsConsumerProfilesGetOutput, mapDashboardInstancePortalsConsumerProfilesCreateOutput, DashboardInstancePortalsConsumerProfilesCreateOutput, mapDashboardInstancePortalsConsumerProfilesCreateBody, DashboardInstancePortalsConsumerProfilesCreateBody, mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput, DashboardInstancePortalsConsumerProfilesAssignGroupsOutput, mapDashboardInstancePortalsConsumerProfilesAssignGroupsBody, DashboardInstancePortalsConsumerProfilesAssignGroupsBody, mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput, DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput, mapDashboardInstancePortalsConsumerProfilesUnassignGroupsBody, DashboardInstancePortalsConsumerProfilesUnassignGroupsBody + +class MetorialManagementInstancePortalsConsumerProfilesEndpoint(BaseMetorialEndpoint): + """Manage the consumers and effective group assignments for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_group_id: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsConsumerProfilesListOutput: + """ + List portal consumer profiles + Returns a paginated list of consumer profiles for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_group_id: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsConsumerProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_group_id is not None: + query_dict["consumer_group_id"] = consumer_group_id + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-profile'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerProfilesListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, consumer_profile_id: str) -> DashboardInstancePortalsConsumerProfilesGetOutput: + """ + Get portal consumer profile + Retrieves a portal consumer profile by ID. + + :param instance_id: str + :param portal_id: str + :param consumer_profile_id: str + :return: DashboardInstancePortalsConsumerProfilesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-profile', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerProfilesGetOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, email: str, name: str) -> DashboardInstancePortalsConsumerProfilesCreateOutput: + """ + Create portal consumer profile + Creates a new portal consumer profile. + + :param instance_id: str + :param portal_id: str + :param email: str + :param name: str + :return: DashboardInstancePortalsConsumerProfilesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["email"] = email + body_dict["name"] = name + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-profile'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesCreateOutput.from_dict) + + def assign_groups(self, instance_id: str, portal_id: str, consumer_profile_id: str, *, group_ids: List[str]) -> DashboardInstancePortalsConsumerProfilesAssignGroupsOutput: + """ + Assign portal consumer profile groups + Assigns one or more groups to a portal consumer profile. + + :param instance_id: str + :param portal_id: str + :param consumer_profile_id: str + :param group_ids: List[str] + :return: DashboardInstancePortalsConsumerProfilesAssignGroupsOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["group_ids"] = group_ids + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-profile', consumer_profile_id, 'assign-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput.from_dict) + + def unassign_groups(self, instance_id: str, portal_id: str, consumer_profile_id: str, *, group_ids: List[str]) -> DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: + """ + Unassign portal consumer profile groups + Removes one or more groups from a portal consumer profile. + + :param instance_id: str + :param portal_id: str + :param consumer_profile_id: str + :param group_ids: List[str] + :return: DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["group_ids"] = group_ids + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'consumer-profile', consumer_profile_id, 'unassign-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_listings.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_listings.py new file mode 100644 index 00000000..715ae6ac --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_portals_listings.py @@ -0,0 +1,156 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsListingsListOutput, DashboardInstancePortalsListingsListOutput, mapDashboardInstancePortalsListingsListQuery, DashboardInstancePortalsListingsListQuery, mapDashboardInstancePortalsListingsGetOutput, DashboardInstancePortalsListingsGetOutput, mapDashboardInstancePortalsListingsCreateOutput, DashboardInstancePortalsListingsCreateOutput, mapDashboardInstancePortalsListingsCreateBody, DashboardInstancePortalsListingsCreateBody, mapDashboardInstancePortalsListingsUpdateOutput, DashboardInstancePortalsListingsUpdateOutput, mapDashboardInstancePortalsListingsUpdateBody, DashboardInstancePortalsListingsUpdateBody, mapDashboardInstancePortalsListingsDeleteOutput, DashboardInstancePortalsListingsDeleteOutput + +class MetorialManagementInstancePortalsListingsEndpoint(BaseMetorialEndpoint): + """Read the shared listings available on a portal surface.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_surface_provider_group_id: Optional[Union[str, List[str]]] = None, provider_template_id: Optional[Union[str, List[str]]] = None, magic_mcp_server_id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, skill_template_id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsListingsListOutput: + """ + List portal listings + Returns a paginated list of shared listings for a portal. + + :param instance_id: str + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_surface_provider_group_id: Optional[Union[str, List[str]]] (optional) + :param provider_template_id: Optional[Union[str, List[str]]] (optional) + :param magic_mcp_server_id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param skill_template_id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsListingsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_surface_provider_group_id is not None: + query_dict["consumer_surface_provider_group_id"] = consumer_surface_provider_group_id + if provider_template_id is not None: + query_dict["provider_template_id"] = provider_template_id + if magic_mcp_server_id is not None: + query_dict["magic_mcp_server_id"] = magic_mcp_server_id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if skill_template_id is not None: + query_dict["skill_template_id"] = skill_template_id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if type is not None: + query_dict["type"] = type + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'listings'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsListingsListOutput.from_dict) + + def get(self, instance_id: str, portal_id: str, listing_id: str) -> DashboardInstancePortalsListingsGetOutput: + """ + Get portal listing + Retrieves one shared listing for a portal. + + :param instance_id: str + :param portal_id: str + :param listing_id: str + :return: DashboardInstancePortalsListingsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'listings', listing_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsListingsGetOutput.from_dict) + + def create(self, instance_id: str, portal_id: str, *, access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsListingsCreateOutput: + """ + Create portal listing + Creates a shared listing for a portal. + + :param instance_id: str + :param portal_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :param access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]] + :return: DashboardInstancePortalsListingsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + body_dict["access"] = access + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'listings'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsListingsCreateOutput.from_dict) + + def update(self, instance_id: str, portal_id: str, listing_id: str, *, name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsListingsUpdateOutput: + """ + Update portal listing + Updates listing metadata for a portal listing. + + :param instance_id: str + :param portal_id: str + :param listing_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :return: DashboardInstancePortalsListingsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'listings', listing_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsListingsUpdateOutput.from_dict) + + def delete(self, instance_id: str, portal_id: str, listing_id: str) -> DashboardInstancePortalsListingsDeleteOutput: + """ + Delete portal listing + Deletes a portal listing and all consumer access attached to it. + + :param instance_id: str + :param portal_id: str + :param listing_id: str + :return: DashboardInstancePortalsListingsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'portals', portal_id, 'listings', listing_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsListingsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_auth_configs.py index 88b175e8..36e2b6a1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderDeploymentsAuthConfigsEndpoint(BaseMetor def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, available_for_use: Optional[bool] = None, available_for_provider_deployment_id: Optional[str] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -23,6 +23,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param available_for_use: Optional[bool] (optional) + :param available_for_provider_deployment_id: Optional[str] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) :param actor_id: Optional[Union[str, List[str]]] (optional) @@ -54,6 +56,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_id"] = provider_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id + if available_for_use is not None: + query_dict["available_for_use"] = available_for_use + if available_for_provider_deployment_id is not None: + query_dict["available_for_provider_deployment_id"] = available_for_provider_deployment_id if provider_auth_credentials_id is not None: query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_configs.py index 99aa40d1..8d0da6a2 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderDeploymentsConfigsEndpoint(BaseMetorialE def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, available_for_use: Optional[bool] = None, available_for_provider_deployment_id: Optional[str] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -24,6 +24,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param available_for_use: Optional[bool] (optional) + :param available_for_provider_deployment_id: Optional[str] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) :param actor_id: Optional[Union[str, List[str]]] (optional) :param consumer_id: Optional[Union[str, List[str]]] (optional) @@ -56,6 +58,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_specification_id"] = provider_specification_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id + if available_for_use is not None: + query_dict["available_for_use"] = available_for_use + if available_for_provider_deployment_id is not None: + query_dict["available_for_provider_deployment_id"] = available_for_provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id if actor_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_templates.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_templates.py index 1d7e239f..8158b57b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_templates.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_templates.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderTemplatesEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceProviderTemplatesListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceProviderTemplatesListOutput: """ List provider templates Returns a paginated list of provider templates. @@ -20,7 +20,7 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) :param id: Optional[Union[str, List[str]]] (optional) - :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :return: DashboardInstanceProviderTemplatesListOutput @@ -39,8 +39,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["order"] = order if id is not None: query_dict["id"] = id - if provider_deployment_id is not None: - query_dict["provider_deployment_id"] = provider_deployment_id + if integration_id is not None: + query_dict["integration_id"] = integration_id if search is not None: query_dict["search"] = search if status is not None: @@ -66,7 +66,7 @@ def get(self, instance_id: str, provider_template_id: str) -> DashboardInstanceP ) return self._get(request).transform(mapDashboardInstanceProviderTemplatesGetOutput.from_dict) - def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filers: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None, provider_deployment_id: str = None, provider_deployment: Dict[str, Any] = None) -> DashboardInstanceProviderTemplatesCreateOutput: + def create(self, instance_id: str, *, name: str, providers: List[Dict[str, Any]], description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderTemplatesCreateOutput: """ Create provider template Creates a new provider template from an existing provider deployment or creates a minimal backing deployment first. @@ -75,9 +75,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No :param name: str :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) - :param tool_filers: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) - :param provider_deployment_id: str (optional) - :param provider_deployment: Dict[str, Any] (optional) + :param providers: List[Dict[str, Any]] :return: DashboardInstanceProviderTemplatesCreateOutput """ # Build body parameters from keyword arguments @@ -87,12 +85,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata - if tool_filers is not None: - body_dict["tool_filers"] = tool_filers - if provider_deployment_id is not None: - body_dict["provider_deployment_id"] = provider_deployment_id - if provider_deployment is not None: - body_dict["provider_deployment"] = provider_deployment + body_dict["providers"] = providers request = MetorialRequest( path=['instances', instance_id, 'provider-templates'], @@ -100,7 +93,7 @@ def create(self, instance_id: str, *, name: str, description: Optional[str] = No ) return self._post(request).transform(mapDashboardInstanceProviderTemplatesCreateOutput.from_dict) - def update(self, instance_id: str, provider_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceProviderTemplatesUpdateOutput: + def update(self, instance_id: str, provider_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceProviderTemplatesUpdateOutput: """ Update provider template Updates an existing provider template. @@ -110,7 +103,7 @@ def update(self, instance_id: str, provider_template_id: str, *, name: Optional[ :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) - :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceProviderTemplatesUpdateOutput """ # Build body parameters from keyword arguments @@ -121,8 +114,8 @@ def update(self, instance_id: str, provider_template_id: str, *, name: Optional[ body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata - if tool_filters is not None: - body_dict["tool_filters"] = tool_filters + if providers is not None: + body_dict["providers"] = providers request = MetorialRequest( path=['instances', instance_id, 'provider-templates', provider_template_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions.py index 13ce70ce..884d047a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceSessionsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsListOutput: """ List sessions Returns a paginated list of sessions. @@ -21,6 +21,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) :param session_template_id: Optional[Union[str, List[str]]] (optional) :param session_provider_id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) @@ -47,6 +51,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["status"] = status if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id if session_template_id is not None: query_dict["session_template_id"] = session_template_id if session_provider_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions_connections.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions_connections.py index a7e67378..fac73b29 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions_connections.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions_connections.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceSessionsConnectionsEndpoint(BaseMetorialEndpoint def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, connection_state: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, participant_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsConnectionsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, connection_state: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, participant_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsConnectionsListOutput: """ List session connections Returns a paginated list of connections for a session. @@ -22,6 +22,11 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param status: Optional[Union[str, List[str]]] (optional) :param connection_state: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param session_id: Optional[Union[str, List[str]]] (optional) :param session_provider_id: Optional[Union[str, List[str]]] (optional) :param participant_id: Optional[Union[str, List[str]]] (optional) @@ -47,6 +52,16 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["connection_state"] = connection_state if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if session_id is not None: query_dict["session_id"] = session_id if session_provider_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions_participants.py index fe794d96..46fa3f83 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions_participants.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_sessions_participants.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceSessionsParticipantsEndpoint(BaseMetorialEndpoin def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_connection_id: Optional[Union[str, List[str]]] = None, session_message_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsParticipantsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_connection_id: Optional[Union[str, List[str]]] = None, session_message_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsParticipantsListOutput: """ List session participants Returns a paginated list of participants in a session. @@ -21,6 +21,11 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param order: Optional[str] (optional) :param type: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param session_id: Optional[Union[str, List[str]]] (optional) :param session_connection_id: Optional[Union[str, List[str]]] (optional) :param session_message_id: Optional[Union[str, List[str]]] (optional) @@ -44,6 +49,16 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["type"] = type if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if session_id is not None: query_dict["session_id"] = session_id if session_connection_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills.py new file mode 100644 index 00000000..c2137211 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills.py @@ -0,0 +1,283 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsListOutput, DashboardInstanceSkillsListOutput, mapDashboardInstanceSkillsListQuery, DashboardInstanceSkillsListQuery, mapDashboardInstanceSkillsGetOutput, DashboardInstanceSkillsGetOutput, mapDashboardInstanceSkillsCreateOutput, DashboardInstanceSkillsCreateOutput, mapDashboardInstanceSkillsCreateBody, DashboardInstanceSkillsCreateBody, mapDashboardInstanceSkillsUpdateOutput, DashboardInstanceSkillsUpdateOutput, mapDashboardInstanceSkillsUpdateBody, DashboardInstanceSkillsUpdateBody, mapDashboardInstanceSkillsDeleteOutput, DashboardInstanceSkillsDeleteOutput, mapDashboardInstanceSkillsForkOutput, DashboardInstanceSkillsForkOutput, mapDashboardInstanceSkillsForkBody, DashboardInstanceSkillsForkBody, mapDashboardInstanceSkillsPublishConsumerSkillOutput, DashboardInstanceSkillsPublishConsumerSkillOutput, mapDashboardInstanceSkillsDuplicateOutput, DashboardInstanceSkillsDuplicateOutput, mapDashboardInstanceSkillsDuplicateBody, DashboardInstanceSkillsDuplicateBody + +class MetorialManagementInstanceSkillsEndpoint(BaseMetorialEndpoint): + """Skills group provider and integration capabilities into reusable, owned compositions.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsListOutput: + """ + List skills + Returns a paginated list of skills. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'skills'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str) -> DashboardInstanceSkillsGetOutput: + """ + Get skill + Retrieves a specific skill. + + :param instance_id: str + :param skill_id: str + :return: DashboardInstanceSkillsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None, template_id: Optional[str] = None) -> DashboardInstanceSkillsCreateOutput: + """ + Create skill + Creates a new skill. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :param template_id: Optional[str] (optional) + :return: DashboardInstanceSkillsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if template_id is not None: + body_dict["template_id"] = template_id + + request = MetorialRequest( + path=['instances', instance_id, 'skills'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsCreateOutput.from_dict) + + def update(self, instance_id: str, skill_id: str, *, name: Optional[str] = None, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None) -> DashboardInstanceSkillsUpdateOutput: + """ + Update skill + Updates a specific skill. + + :param instance_id: str + :param skill_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :return: DashboardInstanceSkillsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_id: str) -> DashboardInstanceSkillsDeleteOutput: + """ + Delete skill + Archives a specific skill. + + :param instance_id: str + :param skill_id: str + :return: DashboardInstanceSkillsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsDeleteOutput.from_dict) + + def fork(self, instance_id: str, skill_id: str, *, name: str, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None) -> DashboardInstanceSkillsForkOutput: + """ + Fork skill + Forks a skill for the current consumer. Non-consumer callers duplicate the skill instead. + + :param instance_id: str + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :return: DashboardInstanceSkillsForkOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'fork'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsForkOutput.from_dict) + + def publish_consumer_skill(self, instance_id: str, skill_id: str) -> DashboardInstanceSkillsPublishConsumerSkillOutput: + """ + Publish consumer skill + Publishes a consumer-owned skill to the consumer groups they belong to. + + :param instance_id: str + :param skill_id: str + :return: DashboardInstanceSkillsPublishConsumerSkillOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'publish'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsPublishConsumerSkillOutput.from_dict) + + def duplicate(self, instance_id: str, skill_id: str, *, name: str, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsDuplicateOutput: + """ + Duplicate skill + Duplicates a skill. + + :param instance_id: str + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsDuplicateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'duplicate'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsDuplicateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_agents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_agents.py new file mode 100644 index 00000000..67f3f207 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_agents.py @@ -0,0 +1,126 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsAgentsCreateOutput, DashboardInstanceSkillsAgentsCreateOutput, mapDashboardInstanceSkillsAgentsCreateBody, DashboardInstanceSkillsAgentsCreateBody, mapDashboardInstanceSkillsAgentsListOutput, DashboardInstanceSkillsAgentsListOutput, mapDashboardInstanceSkillsAgentsListQuery, DashboardInstanceSkillsAgentsListQuery, mapDashboardInstanceSkillsAgentsGetOutput, DashboardInstanceSkillsAgentsGetOutput, mapDashboardInstanceSkillsAgentsUpdateOutput, DashboardInstanceSkillsAgentsUpdateOutput, mapDashboardInstanceSkillsAgentsUpdateBody, DashboardInstanceSkillsAgentsUpdateBody, mapDashboardInstanceSkillsAgentsDeleteOutput, DashboardInstanceSkillsAgentsDeleteOutput + +class MetorialManagementInstanceSkillsAgentsEndpoint(BaseMetorialEndpoint): + """Manage sub-agents attached to a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def create(self, instance_id: str, skill_id: str, *, name: str, description: Optional[str] = None, content: Optional[str] = None) -> DashboardInstanceSkillsAgentsCreateOutput: + """ + Create skill agent + Creates a new agent document in the skill agents directory. + + :param instance_id: str + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param content: Optional[str] (optional) + :return: DashboardInstanceSkillsAgentsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if content is not None: + body_dict["content"] = content + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'agents'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsAgentsCreateOutput.from_dict) + + def list(self, instance_id: str, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, include_archived: Optional[bool] = None) -> DashboardInstanceSkillsAgentsListOutput: + """ + List skill agents + Returns a paginated list of agents for a specific skill. + + :param instance_id: str + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param include_archived: Optional[bool] (optional) + :return: DashboardInstanceSkillsAgentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if include_archived is not None: + query_dict["include_archived"] = include_archived + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'agents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsAgentsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str, skill_agent_id: str) -> DashboardInstanceSkillsAgentsGetOutput: + """ + Get skill agent by ID + Retrieves a specific agent within a skill. + + :param instance_id: str + :param skill_id: str + :param skill_agent_id: str + :return: DashboardInstanceSkillsAgentsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'agents', skill_agent_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsAgentsGetOutput.from_dict) + + def update(self, instance_id: str, skill_id: str, skill_agent_id: str, *, name: Optional[str] = None, description: Optional[str] = None) -> DashboardInstanceSkillsAgentsUpdateOutput: + """ + Update skill agent + Updates the name or description for a specific skill agent. + + :param instance_id: str + :param skill_id: str + :param skill_agent_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :return: DashboardInstanceSkillsAgentsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'agents', skill_agent_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsAgentsUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_id: str, skill_agent_id: str) -> DashboardInstanceSkillsAgentsDeleteOutput: + """ + Delete skill agent + Archives a specific skill agent and removes its linked store item. + + :param instance_id: str + :param skill_id: str + :param skill_agent_id: str + :return: DashboardInstanceSkillsAgentsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'agents', skill_agent_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsAgentsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_configurations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_configurations.py new file mode 100644 index 00000000..446fa172 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_configurations.py @@ -0,0 +1,122 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsConfigurationsCreateOutput, DashboardInstanceSkillsConfigurationsCreateOutput, mapDashboardInstanceSkillsConfigurationsCreateBody, DashboardInstanceSkillsConfigurationsCreateBody, mapDashboardInstanceSkillsConfigurationsListOutput, DashboardInstanceSkillsConfigurationsListOutput, mapDashboardInstanceSkillsConfigurationsListQuery, DashboardInstanceSkillsConfigurationsListQuery, mapDashboardInstanceSkillsConfigurationsGetOutput, DashboardInstanceSkillsConfigurationsGetOutput, mapDashboardInstanceSkillsConfigurationsUpdateOutput, DashboardInstanceSkillsConfigurationsUpdateOutput, mapDashboardInstanceSkillsConfigurationsUpdateBody, DashboardInstanceSkillsConfigurationsUpdateBody, mapDashboardInstanceSkillsConfigurationsDeleteOutput, DashboardInstanceSkillsConfigurationsDeleteOutput + +class MetorialManagementInstanceSkillsConfigurationsEndpoint(BaseMetorialEndpoint): + """Manage configuration profiles for skill execution.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def create(self, instance_id: str, *, allow_scripts: Optional[bool] = None, allowed_file_extensions: Optional[List[str]] = None, allow_non_standard_directories: Optional[bool] = None) -> DashboardInstanceSkillsConfigurationsCreateOutput: + """ + Create skill configuration + Creates a new non-default skill configuration. + + :param instance_id: str + :param allow_scripts: Optional[bool] (optional) + :param allowed_file_extensions: Optional[List[str]] (optional) + :param allow_non_standard_directories: Optional[bool] (optional) + :return: DashboardInstanceSkillsConfigurationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if allow_scripts is not None: + body_dict["allow_scripts"] = allow_scripts + if allowed_file_extensions is not None: + body_dict["allowed_file_extensions"] = allowed_file_extensions + if allow_non_standard_directories is not None: + body_dict["allow_non_standard_directories"] = allow_non_standard_directories + + request = MetorialRequest( + path=['instances', instance_id, 'skills', 'configurations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsConfigurationsCreateOutput.from_dict) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsConfigurationsListOutput: + """ + List skill configurations + Returns a paginated list of visible skill configurations. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsConfigurationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'skills', 'configurations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsConfigurationsListOutput.from_dict) + + def get(self, instance_id: str, skill_configuration_id: str) -> DashboardInstanceSkillsConfigurationsGetOutput: + """ + Get skill configuration + Retrieves a specific skill configuration by ID, or the default. + + :param instance_id: str + :param skill_configuration_id: str + :return: DashboardInstanceSkillsConfigurationsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', 'configurations', skill_configuration_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsConfigurationsGetOutput.from_dict) + + def update(self, instance_id: str, skill_configuration_id: str, *, allow_scripts: Optional[bool] = None, allowed_file_extensions: Optional[List[str]] = None, allow_non_standard_directories: Optional[bool] = None) -> DashboardInstanceSkillsConfigurationsUpdateOutput: + """ + Update skill configuration + Updates a specific skill configuration. Updating default creates it first if needed. + + :param instance_id: str + :param skill_configuration_id: str + :param allow_scripts: Optional[bool] (optional) + :param allowed_file_extensions: Optional[List[str]] (optional) + :param allow_non_standard_directories: Optional[bool] (optional) + :return: DashboardInstanceSkillsConfigurationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if allow_scripts is not None: + body_dict["allow_scripts"] = allow_scripts + if allowed_file_extensions is not None: + body_dict["allowed_file_extensions"] = allowed_file_extensions + if allow_non_standard_directories is not None: + body_dict["allow_non_standard_directories"] = allow_non_standard_directories + + request = MetorialRequest( + path=['instances', instance_id, 'skills', 'configurations', skill_configuration_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsConfigurationsUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_configuration_id: str) -> DashboardInstanceSkillsConfigurationsDeleteOutput: + """ + Delete skill configuration + Soft deletes a specific non-internal skill configuration. + + :param instance_id: str + :param skill_configuration_id: str + :return: DashboardInstanceSkillsConfigurationsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', 'configurations', skill_configuration_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsConfigurationsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_exports.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_exports.py new file mode 100644 index 00000000..019ad10c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_exports.py @@ -0,0 +1,92 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsExportsListOutput, DashboardInstanceSkillsExportsListOutput, mapDashboardInstanceSkillsExportsListQuery, DashboardInstanceSkillsExportsListQuery, mapDashboardInstanceSkillsExportsGetOutput, DashboardInstanceSkillsExportsGetOutput, mapDashboardInstanceSkillsExportsCreateOutput, DashboardInstanceSkillsExportsCreateOutput, mapDashboardInstanceSkillsExportsCreateBody, DashboardInstanceSkillsExportsCreateBody + +class MetorialManagementInstanceSkillsExportsEndpoint(BaseMetorialEndpoint): + """Export skills, skill plugins, and skill marketplaces as zip files.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, target: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceSkillsExportsListOutput: + """ + List skill exports + Returns a paginated list of skill exports. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param target: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstanceSkillsExportsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if target is not None: + query_dict["target"] = target + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['instances', instance_id, 'skill-exports'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsExportsListOutput.from_dict) + + def get(self, instance_id: str, skill_export_id: str) -> DashboardInstanceSkillsExportsGetOutput: + """ + Get skill export + Retrieves a skill export. + + :param instance_id: str + :param skill_export_id: str + :return: DashboardInstanceSkillsExportsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-exports', skill_export_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsExportsGetOutput.from_dict) + + def create(self, instance_id: str, *, target: str, skill_id: Optional[str] = None, skill_plugin_id: Optional[str] = None, skill_marketplace_id: Optional[str] = None) -> DashboardInstanceSkillsExportsCreateOutput: + """ + Create skill export + Creates a skill, plugin, or marketplace export. + + :param instance_id: str + :param target: str + :param skill_id: Optional[str] (optional) + :param skill_plugin_id: Optional[str] (optional) + :param skill_marketplace_id: Optional[str] (optional) + :return: DashboardInstanceSkillsExportsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["target"] = target + if skill_id is not None: + body_dict["skill_id"] = skill_id + if skill_plugin_id is not None: + body_dict["skill_plugin_id"] = skill_plugin_id + if skill_marketplace_id is not None: + body_dict["skill_marketplace_id"] = skill_marketplace_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-exports'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsExportsCreateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_groups.py new file mode 100644 index 00000000..b1829f23 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_groups.py @@ -0,0 +1,145 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsGroupsListOutput, DashboardInstanceSkillsGroupsListOutput, mapDashboardInstanceSkillsGroupsListQuery, DashboardInstanceSkillsGroupsListQuery, mapDashboardInstanceSkillsGroupsGetOutput, DashboardInstanceSkillsGroupsGetOutput, mapDashboardInstanceSkillsGroupsCreateOutput, DashboardInstanceSkillsGroupsCreateOutput, mapDashboardInstanceSkillsGroupsCreateBody, DashboardInstanceSkillsGroupsCreateBody, mapDashboardInstanceSkillsGroupsUpdateOutput, DashboardInstanceSkillsGroupsUpdateOutput, mapDashboardInstanceSkillsGroupsUpdateBody, DashboardInstanceSkillsGroupsUpdateBody, mapDashboardInstanceSkillsGroupsDeleteOutput, DashboardInstanceSkillsGroupsDeleteOutput + +class MetorialManagementInstanceSkillsGroupsEndpoint(BaseMetorialEndpoint): + """Skill groups organize skills into reusable collections.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsGroupsListOutput: + """ + List skill groups + Returns a paginated list of skill groups. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsListOutput.from_dict) + + def get(self, instance_id: str, skill_group_id: str) -> DashboardInstanceSkillsGroupsGetOutput: + """ + Get skill group + Retrieves a specific skill group. + + :param instance_id: str + :param skill_group_id: str + :return: DashboardInstanceSkillsGroupsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups', skill_group_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, skill_ids: Optional[List[str]] = None) -> DashboardInstanceSkillsGroupsCreateOutput: + """ + Create skill group + Creates a skill group. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param skill_ids: Optional[List[str]] (optional) + :return: DashboardInstanceSkillsGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if skill_ids is not None: + body_dict["skill_ids"] = skill_ids + + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsGroupsCreateOutput.from_dict) + + def update(self, instance_id: str, skill_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, skill_ids: Optional[List[str]] = None) -> DashboardInstanceSkillsGroupsUpdateOutput: + """ + Update skill group + Updates a skill group. + + :param instance_id: str + :param skill_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param skill_ids: Optional[List[str]] (optional) + :return: DashboardInstanceSkillsGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if skill_ids is not None: + body_dict["skill_ids"] = skill_ids + + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups', skill_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsGroupsUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_group_id: str) -> DashboardInstanceSkillsGroupsDeleteOutput: + """ + Delete skill group + Archives a skill group. + + :param instance_id: str + :param skill_group_id: str + :return: DashboardInstanceSkillsGroupsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups', skill_group_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_groups_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_groups_items.py new file mode 100644 index 00000000..d4667abe --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_groups_items.py @@ -0,0 +1,104 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsGroupsItemsListOutput, DashboardInstanceSkillsGroupsItemsListOutput, mapDashboardInstanceSkillsGroupsItemsListQuery, DashboardInstanceSkillsGroupsItemsListQuery, mapDashboardInstanceSkillsGroupsItemsGetOutput, DashboardInstanceSkillsGroupsItemsGetOutput, mapDashboardInstanceSkillsGroupsItemsCreateOutput, DashboardInstanceSkillsGroupsItemsCreateOutput, mapDashboardInstanceSkillsGroupsItemsCreateBody, DashboardInstanceSkillsGroupsItemsCreateBody, mapDashboardInstanceSkillsGroupsItemsDeleteOutput, DashboardInstanceSkillsGroupsItemsDeleteOutput + +class MetorialManagementInstanceSkillsGroupsItemsEndpoint(BaseMetorialEndpoint): + """Skill group items link groups to skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_group_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsGroupsItemsListOutput: + """ + List skill group items + Returns a paginated list of items for a skill group. + + :param instance_id: str + :param skill_group_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsGroupsItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if created_at is not None: + query_dict["created_at"] = created_at + + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups', skill_group_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsItemsListOutput.from_dict) + + def get(self, instance_id: str, skill_group_id: str, skill_group_item_id: str) -> DashboardInstanceSkillsGroupsItemsGetOutput: + """ + Get skill group item + Retrieves a specific skill group item. + + :param instance_id: str + :param skill_group_id: str + :param skill_group_item_id: str + :return: DashboardInstanceSkillsGroupsItemsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups', skill_group_id, 'items', skill_group_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsItemsGetOutput.from_dict) + + def create(self, instance_id: str, skill_group_id: str, *, skill_id: str) -> DashboardInstanceSkillsGroupsItemsCreateOutput: + """ + Create skill group item + Adds a skill to a skill group. + + :param instance_id: str + :param skill_group_id: str + :param skill_id: str + :return: DashboardInstanceSkillsGroupsItemsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_id"] = skill_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups', skill_group_id, 'items'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsGroupsItemsCreateOutput.from_dict) + + def delete(self, instance_id: str, skill_group_id: str, skill_group_item_id: str) -> DashboardInstanceSkillsGroupsItemsDeleteOutput: + """ + Delete skill group item + Archives a skill group item. + + :param instance_id: str + :param skill_group_id: str + :param skill_group_item_id: str + :return: DashboardInstanceSkillsGroupsItemsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-groups', skill_group_id, 'items', skill_group_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsGroupsItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_items.py new file mode 100644 index 00000000..1a4094b1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_items.py @@ -0,0 +1,104 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsItemsListOutput, DashboardInstanceSkillsItemsListOutput, mapDashboardInstanceSkillsItemsListQuery, DashboardInstanceSkillsItemsListQuery, mapDashboardInstanceSkillsItemsGetOutput, DashboardInstanceSkillsItemsGetOutput, mapDashboardInstanceSkillsItemsCreateOutput, DashboardInstanceSkillsItemsCreateOutput, mapDashboardInstanceSkillsItemsCreateBody, DashboardInstanceSkillsItemsCreateBody, mapDashboardInstanceSkillsItemsDeleteOutput, DashboardInstanceSkillsItemsDeleteOutput + +class MetorialManagementInstanceSkillsItemsEndpoint(BaseMetorialEndpoint): + """Skill items attach integrations and providers to skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsItemsListOutput: + """ + List skill items + Returns a paginated list of items for a skill. + + :param instance_id: str + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if created_at is not None: + query_dict["created_at"] = created_at + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsItemsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str, skill_item_id: str) -> DashboardInstanceSkillsItemsGetOutput: + """ + Get skill item + Retrieves a specific skill item. + + :param instance_id: str + :param skill_id: str + :param skill_item_id: str + :return: DashboardInstanceSkillsItemsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'items', skill_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsItemsGetOutput.from_dict) + + def create(self, instance_id: str, skill_id: str) -> DashboardInstanceSkillsItemsCreateOutput: + """ + Create skill item + Creates a new item on a skill. + + :param instance_id: str + :param skill_id: str + :return: DashboardInstanceSkillsItemsCreateOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'items'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsItemsCreateOutput.from_dict) + + def delete(self, instance_id: str, skill_id: str, skill_item_id: str) -> DashboardInstanceSkillsItemsDeleteOutput: + """ + Delete skill item + Archives a skill item. + + :param instance_id: str + :param skill_id: str + :param skill_item_id: str + :return: DashboardInstanceSkillsItemsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'items', skill_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_marketplaces.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_marketplaces.py new file mode 100644 index 00000000..ade163d6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_marketplaces.py @@ -0,0 +1,159 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsMarketplacesListOutput, DashboardInstanceSkillsMarketplacesListOutput, mapDashboardInstanceSkillsMarketplacesListQuery, DashboardInstanceSkillsMarketplacesListQuery, mapDashboardInstanceSkillsMarketplacesGetOutput, DashboardInstanceSkillsMarketplacesGetOutput, mapDashboardInstanceSkillsMarketplacesCreateOutput, DashboardInstanceSkillsMarketplacesCreateOutput, mapDashboardInstanceSkillsMarketplacesCreateBody, DashboardInstanceSkillsMarketplacesCreateBody, mapDashboardInstanceSkillsMarketplacesUpdateOutput, DashboardInstanceSkillsMarketplacesUpdateOutput, mapDashboardInstanceSkillsMarketplacesUpdateBody, DashboardInstanceSkillsMarketplacesUpdateBody, mapDashboardInstanceSkillsMarketplacesArchiveOutput, DashboardInstanceSkillsMarketplacesArchiveOutput, mapDashboardInstanceSkillsMarketplacesSyncOutput, DashboardInstanceSkillsMarketplacesSyncOutput, mapDashboardInstanceSkillsMarketplacesSyncBody, DashboardInstanceSkillsMarketplacesSyncBody + +class MetorialManagementInstanceSkillsMarketplacesEndpoint(BaseMetorialEndpoint): + """Manage skill marketplaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsMarketplacesListOutput: + """ + List skill marketplaces + Returns a paginated list of skill marketplaces. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsMarketplacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if search is not None: + query_dict["search"] = search + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesListOutput.from_dict) + + def get(self, instance_id: str, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesGetOutput: + """ + Get skill marketplace + Retrieves a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces', skill_marketplace_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesCreateOutput: + """ + Create skill marketplace + Creates a skill marketplace. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesCreateOutput.from_dict) + + def update(self, instance_id: str, skill_marketplace_id: str, *, name: Optional[str] = None, description: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesUpdateOutput: + """ + Update skill marketplace + Updates a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces', skill_marketplace_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsMarketplacesUpdateOutput.from_dict) + + def archive(self, instance_id: str, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesArchiveOutput: + """ + Archive skill marketplace + Archives a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesArchiveOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces', skill_marketplace_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsMarketplacesArchiveOutput.from_dict) + + def sync(self, instance_id: str, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesSyncOutput: + """ + Sync skill marketplace + Forces a skill marketplace sync. + + :param instance_id: str + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesSyncOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'sync'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesSyncOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_marketplaces_plugins.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_marketplaces_plugins.py new file mode 100644 index 00000000..8d14d6af --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_marketplaces_plugins.py @@ -0,0 +1,116 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsMarketplacesPluginsListOutput, DashboardInstanceSkillsMarketplacesPluginsListOutput, mapDashboardInstanceSkillsMarketplacesPluginsListQuery, DashboardInstanceSkillsMarketplacesPluginsListQuery, mapDashboardInstanceSkillsMarketplacesPluginsAddOutput, DashboardInstanceSkillsMarketplacesPluginsAddOutput, mapDashboardInstanceSkillsMarketplacesPluginsAddBody, DashboardInstanceSkillsMarketplacesPluginsAddBody, mapDashboardInstanceSkillsMarketplacesPluginsGetOutput, DashboardInstanceSkillsMarketplacesPluginsGetOutput, mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutput, DashboardInstanceSkillsMarketplacesPluginsRemoveOutput + +class MetorialManagementInstanceSkillsMarketplacesPluginsEndpoint(BaseMetorialEndpoint): + """Manage plugin links for skill marketplaces.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_marketplace_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_plugin_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsMarketplacesPluginsListOutput: + """ + List skill marketplace plugins + Returns plugins linked to a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_plugin_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsMarketplacesPluginsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_plugin_id is not None: + query_dict["skill_plugin_id"] = skill_plugin_id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'plugins'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsListOutput.from_dict) + + def add(self, instance_id: str, skill_marketplace_id: str, *, skill_plugin_id: str, skill_configuration_id: Optional[str] = None, identifier: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesPluginsAddOutput: + """ + Add skill marketplace plugin + Adds a skill plugin to a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :param skill_plugin_id: str + :param skill_configuration_id: Optional[str] (optional) + :param identifier: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesPluginsAddOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_plugin_id"] = skill_plugin_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + if identifier is not None: + body_dict["identifier"] = identifier + + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'plugins'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsAddOutput.from_dict) + + def get(self, instance_id: str, skill_marketplace_id: str, skill_marketplace_plugin_id: str) -> DashboardInstanceSkillsMarketplacesPluginsGetOutput: + """ + Get skill marketplace plugin + Retrieves a skill marketplace plugin link. + + :param instance_id: str + :param skill_marketplace_id: str + :param skill_marketplace_plugin_id: str + :return: DashboardInstanceSkillsMarketplacesPluginsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'plugins', skill_marketplace_plugin_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsGetOutput.from_dict) + + def remove(self, instance_id: str, skill_marketplace_id: str, skill_marketplace_plugin_id: str) -> DashboardInstanceSkillsMarketplacesPluginsRemoveOutput: + """ + Remove skill marketplace plugin + Removes a skill plugin from a skill marketplace. + + :param instance_id: str + :param skill_marketplace_id: str + :param skill_marketplace_plugin_id: str + :return: DashboardInstanceSkillsMarketplacesPluginsRemoveOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-marketplaces', skill_marketplace_id, 'plugins', skill_marketplace_plugin_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_participants.py new file mode 100644 index 00000000..5ced8386 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_participants.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsParticipantsListOutput, DashboardInstanceSkillsParticipantsListOutput, mapDashboardInstanceSkillsParticipantsListQuery, DashboardInstanceSkillsParticipantsListQuery, mapDashboardInstanceSkillsParticipantsGetOutput, DashboardInstanceSkillsParticipantsGetOutput + +class MetorialManagementInstanceSkillsParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect participants associated with an instance skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsParticipantsListOutput: + """ + List skill participants + Returns a paginated list of participants for a specific skill. + + :param instance_id: str + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsParticipantsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str, skill_participant_id: str) -> DashboardInstanceSkillsParticipantsGetOutput: + """ + Get skill participant by ID + Retrieves a specific participant within a skill. + + :param instance_id: str + :param skill_id: str + :param skill_participant_id: str + :return: DashboardInstanceSkillsParticipantsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'participants', skill_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_plugins.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_plugins.py new file mode 100644 index 00000000..1621f4a0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_plugins.py @@ -0,0 +1,177 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsPluginsListOutput, DashboardInstanceSkillsPluginsListOutput, mapDashboardInstanceSkillsPluginsListQuery, DashboardInstanceSkillsPluginsListQuery, mapDashboardInstanceSkillsPluginsGetOutput, DashboardInstanceSkillsPluginsGetOutput, mapDashboardInstanceSkillsPluginsCreateOutput, DashboardInstanceSkillsPluginsCreateOutput, mapDashboardInstanceSkillsPluginsCreateBody, DashboardInstanceSkillsPluginsCreateBody, mapDashboardInstanceSkillsPluginsUpdateOutput, DashboardInstanceSkillsPluginsUpdateOutput, mapDashboardInstanceSkillsPluginsUpdateBody, DashboardInstanceSkillsPluginsUpdateBody, mapDashboardInstanceSkillsPluginsArchiveOutput, DashboardInstanceSkillsPluginsArchiveOutput, mapDashboardInstanceSkillsPluginsSyncOutput, DashboardInstanceSkillsPluginsSyncOutput, mapDashboardInstanceSkillsPluginsSyncBody, DashboardInstanceSkillsPluginsSyncBody + +class MetorialManagementInstanceSkillsPluginsEndpoint(BaseMetorialEndpoint): + """Manage skill plugins for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, category: Optional[str] = None, search: Optional[str] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsPluginsListOutput: + """ + List skill plugins + Returns a paginated list of skill plugins. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param category: Optional[str] (optional) + :param search: Optional[str] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsPluginsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if status is not None: + query_dict["status"] = status + if category is not None: + query_dict["category"] = category + if search is not None: + query_dict["search"] = search + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsListOutput.from_dict) + + def get(self, instance_id: str, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsGetOutput: + """ + Get skill plugin + Retrieves a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, long_description: Optional[str] = None, category: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsCreateOutput: + """ + Create skill plugin + Creates a skill plugin. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param long_description: Optional[str] (optional) + :param category: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if long_description is not None: + body_dict["long_description"] = long_description + if category is not None: + body_dict["category"] = category + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsCreateOutput.from_dict) + + def update(self, instance_id: str, skill_plugin_id: str, *, name: Optional[str] = None, description: Optional[str] = None, long_description: Optional[str] = None, category: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsUpdateOutput: + """ + Update skill plugin + Updates a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param long_description: Optional[str] (optional) + :param category: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if long_description is not None: + body_dict["long_description"] = long_description + if category is not None: + body_dict["category"] = category + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsPluginsUpdateOutput.from_dict) + + def archive(self, instance_id: str, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsArchiveOutput: + """ + Archive skill plugin + Archives a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsArchiveOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsPluginsArchiveOutput.from_dict) + + def sync(self, instance_id: str, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsSyncOutput: + """ + Sync skill plugin + Forces a skill plugin sync. + + :param instance_id: str + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsSyncOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id, 'sync'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsSyncOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_plugins_skills.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_plugins_skills.py new file mode 100644 index 00000000..eae21b42 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_plugins_skills.py @@ -0,0 +1,168 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsPluginsSkillsListOutput, DashboardInstanceSkillsPluginsSkillsListOutput, mapDashboardInstanceSkillsPluginsSkillsListQuery, DashboardInstanceSkillsPluginsSkillsListQuery, mapDashboardInstanceSkillsPluginsSkillsAddOutput, DashboardInstanceSkillsPluginsSkillsAddOutput, mapDashboardInstanceSkillsPluginsSkillsAddBody, DashboardInstanceSkillsPluginsSkillsAddBody, mapDashboardInstanceSkillsPluginsSkillsGetOutput, DashboardInstanceSkillsPluginsSkillsGetOutput, mapDashboardInstanceSkillsPluginsSkillsUpdateOutput, DashboardInstanceSkillsPluginsSkillsUpdateOutput, mapDashboardInstanceSkillsPluginsSkillsUpdateBody, DashboardInstanceSkillsPluginsSkillsUpdateBody, mapDashboardInstanceSkillsPluginsSkillsRemoveOutput, DashboardInstanceSkillsPluginsSkillsRemoveOutput + +class MetorialManagementInstanceSkillsPluginsSkillsEndpoint(BaseMetorialEndpoint): + """Manage skill links for skill plugins.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_plugin_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsPluginsSkillsListOutput: + """ + List skill plugin skills + Returns skills linked to a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsPluginsSkillsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsSkillsListOutput.from_dict) + + def add(self, instance_id: str, skill_plugin_id: str, *, skill_id: str, identifier: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, license: Optional[str] = None, compatibility: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsSkillsAddOutput: + """ + Add skill plugin skill + Adds a skill to a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :param skill_id: str + :param identifier: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsSkillsAddOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_id"] = skill_id + if identifier is not None: + body_dict["identifier"] = identifier + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsSkillsAddOutput.from_dict) + + def get(self, instance_id: str, skill_plugin_id: str, skill_plugin_skill_id: str) -> DashboardInstanceSkillsPluginsSkillsGetOutput: + """ + Get skill plugin skill + Retrieves a skill plugin skill link. + + :param instance_id: str + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :return: DashboardInstanceSkillsPluginsSkillsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsSkillsGetOutput.from_dict) + + def update(self, instance_id: str, skill_plugin_id: str, skill_plugin_skill_id: str, *, client_name: Optional[str] = None, client_description: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, license: Optional[str] = None, compatibility: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsSkillsUpdateOutput: + """ + Update skill plugin skill + Updates a skill plugin skill link. + + :param instance_id: str + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsSkillsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsPluginsSkillsUpdateOutput.from_dict) + + def remove(self, instance_id: str, skill_plugin_id: str, skill_plugin_skill_id: str) -> DashboardInstanceSkillsPluginsSkillsRemoveOutput: + """ + Remove skill plugin skill + Removes a skill from a skill plugin. + + :param instance_id: str + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :return: DashboardInstanceSkillsPluginsSkillsRemoveOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsPluginsSkillsRemoveOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates.py new file mode 100644 index 00000000..7dabca51 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates.py @@ -0,0 +1,148 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsTemplatesListOutput, DashboardInstanceSkillsTemplatesListOutput, mapDashboardInstanceSkillsTemplatesListQuery, DashboardInstanceSkillsTemplatesListQuery, mapDashboardInstanceSkillsTemplatesGetOutput, DashboardInstanceSkillsTemplatesGetOutput, mapDashboardInstanceSkillsTemplatesCreateOutput, DashboardInstanceSkillsTemplatesCreateOutput, mapDashboardInstanceSkillsTemplatesCreateBody, DashboardInstanceSkillsTemplatesCreateBody, mapDashboardInstanceSkillsTemplatesUpdateOutput, DashboardInstanceSkillsTemplatesUpdateOutput, mapDashboardInstanceSkillsTemplatesUpdateBody, DashboardInstanceSkillsTemplatesUpdateBody, mapDashboardInstanceSkillsTemplatesDeleteOutput, DashboardInstanceSkillsTemplatesDeleteOutput + +class MetorialManagementInstanceSkillsTemplatesEndpoint(BaseMetorialEndpoint): + """Skill templates define reusable starting points for skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, owner: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsTemplatesListOutput: + """ + List skill templates + Returns a paginated list of skill templates. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param owner: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsTemplatesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if owner is not None: + query_dict["owner"] = owner + if id is not None: + query_dict["id"] = id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'skill-template'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesListOutput.from_dict) + + def get(self, instance_id: str, skill_template_id: str) -> DashboardInstanceSkillsTemplatesGetOutput: + """ + Get skill template + Retrieves a specific skill template. + + :param instance_id: str + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-template', skill_template_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, from_skill_id: Optional[str] = None) -> DashboardInstanceSkillsTemplatesCreateOutput: + """ + Create skill template + Creates a skill template. + + :param instance_id: str + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param from_skill_id: Optional[str] (optional) + :return: DashboardInstanceSkillsTemplatesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if from_skill_id is not None: + body_dict["from_skill_Id"] = from_skill_id + + request = MetorialRequest( + path=['instances', instance_id, 'skill-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsTemplatesCreateOutput.from_dict) + + def update(self, instance_id: str, skill_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsTemplatesUpdateOutput: + """ + Update skill template + Updates a skill template. + + :param instance_id: str + :param skill_template_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsTemplatesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['instances', instance_id, 'skill-template', skill_template_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsTemplatesUpdateOutput.from_dict) + + def delete(self, instance_id: str, skill_template_id: str) -> DashboardInstanceSkillsTemplatesDeleteOutput: + """ + Delete skill template + Archives a skill template. + + :param instance_id: str + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-template', skill_template_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsTemplatesDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates_items.py new file mode 100644 index 00000000..287a5ae6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates_items.py @@ -0,0 +1,86 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsTemplatesItemsListOutput, DashboardInstanceSkillsTemplatesItemsListOutput, mapDashboardInstanceSkillsTemplatesItemsListQuery, DashboardInstanceSkillsTemplatesItemsListQuery, mapDashboardInstanceSkillsTemplatesItemsGetOutput, DashboardInstanceSkillsTemplatesItemsGetOutput, mapDashboardInstanceSkillsTemplatesItemsCreateOutput, DashboardInstanceSkillsTemplatesItemsCreateOutput, mapDashboardInstanceSkillsTemplatesItemsCreateBody, DashboardInstanceSkillsTemplatesItemsCreateBody, mapDashboardInstanceSkillsTemplatesItemsDeleteOutput, DashboardInstanceSkillsTemplatesItemsDeleteOutput + +class MetorialManagementInstanceSkillsTemplatesItemsEndpoint(BaseMetorialEndpoint): + """Skill template items link template definitions to provider and integration items.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_template_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsTemplatesItemsListOutput: + """ + List skill template items + Returns a paginated list of items for a skill template. + + :param instance_id: str + :param skill_template_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsTemplatesItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'skill-template', skill_template_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesItemsListOutput.from_dict) + + def get(self, instance_id: str, skill_template_id: str, skill_template_item_id: str) -> DashboardInstanceSkillsTemplatesItemsGetOutput: + """ + Get skill template item + Retrieves a specific skill template item. + + :param instance_id: str + :param skill_template_id: str + :param skill_template_item_id: str + :return: DashboardInstanceSkillsTemplatesItemsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-template', skill_template_id, 'items', skill_template_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesItemsGetOutput.from_dict) + + def create(self, instance_id: str, skill_template_id: str) -> DashboardInstanceSkillsTemplatesItemsCreateOutput: + """ + Create skill template item + Adds a provider or integration item to a skill template. + + :param instance_id: str + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesItemsCreateOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-template', skill_template_id, 'items'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsTemplatesItemsCreateOutput.from_dict) + + def delete(self, instance_id: str, skill_template_id: str, skill_template_item_id: str) -> DashboardInstanceSkillsTemplatesItemsDeleteOutput: + """ + Delete skill template item + Deletes a skill template item. + + :param instance_id: str + :param skill_template_id: str + :param skill_template_item_id: str + :return: DashboardInstanceSkillsTemplatesItemsDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skill-template', skill_template_id, 'items', skill_template_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsTemplatesItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_versions.py new file mode 100644 index 00000000..8dbeeb49 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_versions.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsVersionsListOutput, DashboardInstanceSkillsVersionsListOutput, mapDashboardInstanceSkillsVersionsListQuery, DashboardInstanceSkillsVersionsListQuery, mapDashboardInstanceSkillsVersionsGetOutput, DashboardInstanceSkillsVersionsGetOutput + +class MetorialManagementInstanceSkillsVersionsEndpoint(BaseMetorialEndpoint): + """Inspect version history and snapshots for a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsVersionsListOutput: + """ + List skill versions + Returns a paginated list of versions for a specific skill. + + :param instance_id: str + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsVersionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'versions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsListOutput.from_dict) + + def get(self, instance_id: str, skill_id: str, skill_version_id: str) -> DashboardInstanceSkillsVersionsGetOutput: + """ + Get skill version by ID + Retrieves a specific skill version by its ID. + + :param instance_id: str + :param skill_id: str + :param skill_version_id: str + :return: DashboardInstanceSkillsVersionsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'versions', skill_version_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_versions_snapshot.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_versions_snapshot.py new file mode 100644 index 00000000..ad6f0eeb --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_versions_snapshot.py @@ -0,0 +1,23 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsVersionsSnapshotGetOutput, DashboardInstanceSkillsVersionsSnapshotGetOutput + +class MetorialManagementInstanceSkillsVersionsSnapshotEndpoint(BaseMetorialEndpoint): + """Inspect version history and snapshots for a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, instance_id: str, skill_id: str, skill_version_id: str) -> DashboardInstanceSkillsVersionsSnapshotGetOutput: + """ + Get skill version snapshot + Retrieves the store-backed snapshot for a specific skill version. + + :param instance_id: str + :param skill_id: str + :param skill_version_id: str + :return: DashboardInstanceSkillsVersionsSnapshotGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'skills', skill_id, 'versions', skill_version_id, 'snapshot'] + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsSnapshotGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores.py new file mode 100644 index 00000000..ee1c2009 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores.py @@ -0,0 +1,130 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresListOutput, DashboardInstanceStoresListOutput, mapDashboardInstanceStoresListQuery, DashboardInstanceStoresListQuery, mapDashboardInstanceStoresCreateOutput, DashboardInstanceStoresCreateOutput, mapDashboardInstanceStoresCreateBody, DashboardInstanceStoresCreateBody, mapDashboardInstanceStoresGetOutput, DashboardInstanceStoresGetOutput, mapDashboardInstanceStoresUpdateOutput, DashboardInstanceStoresUpdateOutput, mapDashboardInstanceStoresUpdateBody, DashboardInstanceStoresUpdateBody, mapDashboardInstanceStoresDeleteOutput, DashboardInstanceStoresDeleteOutput + +class MetorialManagementInstanceStoresEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceStoresListOutput: + """ + List stores + Returns a paginated list of stores owned by the instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceStoresListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'stores'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresListOutput.from_dict) + + def create(self, instance_id: str, *, name: str, access: Optional[str] = None, template_id: Optional[str] = None, parent_id: Optional[str] = None) -> DashboardInstanceStoresCreateOutput: + """ + Create store + Creates a new store for the instance. + + :param instance_id: str + :param name: str + :param access: Optional[str] (optional) + :param template_id: Optional[str] (optional) + :param parent_id: Optional[str] (optional) + :return: DashboardInstanceStoresCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if access is not None: + body_dict["access"] = access + if template_id is not None: + body_dict["template_id"] = template_id + if parent_id is not None: + body_dict["parent_id"] = parent_id + + request = MetorialRequest( + path=['instances', instance_id, 'stores'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceStoresCreateOutput.from_dict) + + def get(self, instance_id: str, store_id: str) -> DashboardInstanceStoresGetOutput: + """ + Get store by ID + Retrieves a store by its ID. + + :param instance_id: str + :param store_id: str + :return: DashboardInstanceStoresGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresGetOutput.from_dict) + + def update(self, instance_id: str, store_id: str, *, name: Optional[str] = None, access: Optional[str] = None) -> DashboardInstanceStoresUpdateOutput: + """ + Update store by ID + Updates a specific store. + + :param instance_id: str + :param store_id: str + :param name: Optional[str] (optional) + :param access: Optional[str] (optional) + :return: DashboardInstanceStoresUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if access is not None: + body_dict["access"] = access + + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceStoresUpdateOutput.from_dict) + + def delete(self, instance_id: str, store_id: str) -> DashboardInstanceStoresDeleteOutput: + """ + Delete store by ID + Deletes a specific store. + + :param instance_id: str + :param store_id: str + :return: DashboardInstanceStoresDeleteOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id] + ) + return self._delete(request).transform(mapDashboardInstanceStoresDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_items.py new file mode 100644 index 00000000..e3604bcf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_items.py @@ -0,0 +1,95 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresItemsModifyOutput, DashboardInstanceStoresItemsModifyOutput, mapDashboardInstanceStoresItemsModifyBody, DashboardInstanceStoresItemsModifyBody, mapDashboardInstanceStoresItemsListOutput, DashboardInstanceStoresItemsListOutput, mapDashboardInstanceStoresItemsListQuery, DashboardInstanceStoresItemsListQuery, mapDashboardInstanceStoresItemsGetOutput, DashboardInstanceStoresItemsGetOutput + +class MetorialManagementInstanceStoresItemsEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def modify(self, instance_id: str, store_id: str, *, operations: List[Dict[str, Any]]) -> DashboardInstanceStoresItemsModifyOutput: + """ + Modify store items + Applies bulk item operations to a specific store. + + :param instance_id: str + :param store_id: str + :param operations: List[Dict[str, Any]] + :return: DashboardInstanceStoresItemsModifyOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["operations"] = operations + + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id, 'items'], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceStoresItemsModifyOutput.from_dict) + + def list(self, instance_id: str, store_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, file_id: Optional[Union[str, List[str]]] = None, document_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceStoresItemsListOutput: + """ + List store items + Returns a paginated list of items for a specific store. + + :param instance_id: str + :param store_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param file_id: Optional[Union[str, List[str]]] (optional) + :param document_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceStoresItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if file_id is not None: + query_dict["file_id"] = file_id + if document_id is not None: + query_dict["document_id"] = document_id + if type is not None: + query_dict["type"] = type + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresItemsListOutput.from_dict) + + def get(self, instance_id: str, store_id: str, item_id: str) -> DashboardInstanceStoresItemsGetOutput: + """ + Get store item by ID + Retrieves a specific item within a store. + + :param instance_id: str + :param store_id: str + :param item_id: str + :return: DashboardInstanceStoresItemsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id, 'items', item_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresItemsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_participants.py new file mode 100644 index 00000000..8a3cf996 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_participants.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresParticipantsListOutput, DashboardInstanceStoresParticipantsListOutput, mapDashboardInstanceStoresParticipantsListQuery, DashboardInstanceStoresParticipantsListQuery, mapDashboardInstanceStoresParticipantsGetOutput, DashboardInstanceStoresParticipantsGetOutput + +class MetorialManagementInstanceStoresParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect participants assigned to an instance store.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, store_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceStoresParticipantsListOutput: + """ + List store participants + Returns a paginated list of participants for a specific store. + + :param instance_id: str + :param store_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceStoresParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresParticipantsListOutput.from_dict) + + def get(self, instance_id: str, store_id: str, store_participant_id: str) -> DashboardInstanceStoresParticipantsGetOutput: + """ + Get store participant by ID + Retrieves a specific participant within a store. + + :param instance_id: str + :param store_id: str + :param store_participant_id: str + :return: DashboardInstanceStoresParticipantsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id, 'participants', store_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_permissions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_permissions.py new file mode 100644 index 00000000..bb8058ec --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_stores_permissions.py @@ -0,0 +1,22 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresPermissionsGetOutput, DashboardInstanceStoresPermissionsGetOutput + +class MetorialManagementInstanceStoresPermissionsEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, instance_id: str, store_id: str) -> DashboardInstanceStoresPermissionsGetOutput: + """ + Get store permissions + Returns the effective Cargo permissions for the current actor on a specific store. + + :param instance_id: str + :param store_id: str + :return: DashboardInstanceStoresPermissionsGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'stores', store_id, 'permissions'] + ) + return self._get(request).transform(mapDashboardInstanceStoresPermissionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_tool_calls.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_tool_calls.py index e27bd24d..10a4a46f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_tool_calls.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_tool_calls.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceToolCallsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, tool_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceToolCallsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, tool_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceToolCallsListOutput: """ List all tool calls Returns a paginated list of tool calls across all sessions. @@ -25,6 +25,11 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param tool_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +59,16 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_config_id"] = provider_config_id if provider_auth_config_id is not None: query_dict["provider_auth_config_id"] = provider_auth_config_id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if tool_id is not None: query_dict["tool_id"] = tool_id if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals.py index c8daf3e4..de6b5312 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals.py @@ -52,7 +52,7 @@ def get(self, portal_id: str) -> DashboardInstancePortalsGetOutput: ) return self._get(request).transform(mapDashboardInstancePortalsGetOutput.from_dict) - def create(self, *, name: str, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None) -> DashboardInstancePortalsCreateOutput: + def create(self, *, name: str, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None, allow_consumer_skill_authoring: Optional[bool] = None, allow_consumer_skill_publishing: Optional[bool] = None) -> DashboardInstancePortalsCreateOutput: """ Create portal Creates a new portal for the instance. @@ -61,6 +61,8 @@ def create(self, *, name: str, description: Optional[str] = None, allowed_redire :param description: Optional[str] (optional) :param allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] (optional) :param session_expiry_time_in_seconds: Optional[float] (optional) + :param allow_consumer_skill_authoring: Optional[bool] (optional) + :param allow_consumer_skill_publishing: Optional[bool] (optional) :return: DashboardInstancePortalsCreateOutput """ # Build body parameters from keyword arguments @@ -72,6 +74,10 @@ def create(self, *, name: str, description: Optional[str] = None, allowed_redire body_dict["allowed_redirect_url_filters"] = allowed_redirect_url_filters if session_expiry_time_in_seconds is not None: body_dict["session_expiry_time_in_seconds"] = session_expiry_time_in_seconds + if allow_consumer_skill_authoring is not None: + body_dict["allow_consumer_skill_authoring"] = allow_consumer_skill_authoring + if allow_consumer_skill_publishing is not None: + body_dict["allow_consumer_skill_publishing"] = allow_consumer_skill_publishing request = MetorialRequest( path=['portals'], @@ -79,7 +85,7 @@ def create(self, *, name: str, description: Optional[str] = None, allowed_redire ) return self._post(request).transform(mapDashboardInstancePortalsCreateOutput.from_dict) - def update(self, portal_id: str, *, name: Optional[str] = None, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None) -> DashboardInstancePortalsUpdateOutput: + def update(self, portal_id: str, *, name: Optional[str] = None, description: Optional[str] = None, allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] = None, session_expiry_time_in_seconds: Optional[float] = None, allow_consumer_skill_authoring: Optional[bool] = None, allow_consumer_skill_publishing: Optional[bool] = None, skill_configuration: Optional[Dict[str, Any]] = None) -> DashboardInstancePortalsUpdateOutput: """ Update portal Updates an existing portal for the instance. @@ -89,6 +95,9 @@ def update(self, portal_id: str, *, name: Optional[str] = None, description: Opt :param description: Optional[str] (optional) :param allowed_redirect_url_filters: Optional[List[Dict[str, Any]]] (optional) :param session_expiry_time_in_seconds: Optional[float] (optional) + :param allow_consumer_skill_authoring: Optional[bool] (optional) + :param allow_consumer_skill_publishing: Optional[bool] (optional) + :param skill_configuration: Optional[Dict[str, Any]] (optional) :return: DashboardInstancePortalsUpdateOutput """ # Build body parameters from keyword arguments @@ -101,6 +110,12 @@ def update(self, portal_id: str, *, name: Optional[str] = None, description: Opt body_dict["allowed_redirect_url_filters"] = allowed_redirect_url_filters if session_expiry_time_in_seconds is not None: body_dict["session_expiry_time_in_seconds"] = session_expiry_time_in_seconds + if allow_consumer_skill_authoring is not None: + body_dict["allow_consumer_skill_authoring"] = allow_consumer_skill_authoring + if allow_consumer_skill_publishing is not None: + body_dict["allow_consumer_skill_publishing"] = allow_consumer_skill_publishing + if skill_configuration is not None: + body_dict["skill_configuration"] = skill_configuration request = MetorialRequest( path=['portals', portal_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_access.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_access.py new file mode 100644 index 00000000..9071846c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_access.py @@ -0,0 +1,156 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAccessListOutput, DashboardInstancePortalsAccessListOutput, mapDashboardInstancePortalsAccessListQuery, DashboardInstancePortalsAccessListQuery, mapDashboardInstancePortalsAccessGetOutput, DashboardInstancePortalsAccessGetOutput, mapDashboardInstancePortalsAccessCreateOutput, DashboardInstancePortalsAccessCreateOutput, mapDashboardInstancePortalsAccessCreateBody, DashboardInstancePortalsAccessCreateBody, mapDashboardInstancePortalsAccessUpdateOutput, DashboardInstancePortalsAccessUpdateOutput, mapDashboardInstancePortalsAccessUpdateBody, DashboardInstancePortalsAccessUpdateBody, mapDashboardInstancePortalsAccessDeleteOutput, DashboardInstancePortalsAccessDeleteOutput + +class MetorialPortalsAccessEndpoint(BaseMetorialEndpoint): + """Manage which consumer groups can access portal provider templates and MCP servers.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_group_id: Optional[Union[str, List[str]]] = None, provider_template_id: Optional[Union[str, List[str]]] = None, magic_mcp_server_id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, skill_template_id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, consumer_access_listing_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsAccessListOutput: + """ + List portal access + Returns a paginated list of consumer access rules for a portal. + + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_group_id: Optional[Union[str, List[str]]] (optional) + :param provider_template_id: Optional[Union[str, List[str]]] (optional) + :param magic_mcp_server_id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param skill_template_id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param consumer_access_listing_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsAccessListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_group_id is not None: + query_dict["consumer_group_id"] = consumer_group_id + if provider_template_id is not None: + query_dict["provider_template_id"] = provider_template_id + if magic_mcp_server_id is not None: + query_dict["magic_mcp_server_id"] = magic_mcp_server_id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if skill_template_id is not None: + query_dict["skill_template_id"] = skill_template_id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if consumer_access_listing_id is not None: + query_dict["consumer_access_listing_id"] = consumer_access_listing_id + if type is not None: + query_dict["type"] = type + + request = MetorialRequest( + path=['portals', portal_id, 'access'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessListOutput.from_dict) + + def get(self, portal_id: str, access_id: str) -> DashboardInstancePortalsAccessGetOutput: + """ + Get portal access + Retrieves a portal access rule by ID. + + :param portal_id: str + :param access_id: str + :return: DashboardInstancePortalsAccessGetOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'access', access_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessGetOutput.from_dict) + + def create(self, portal_id: str, *, consumer_group_id: str, access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsAccessCreateOutput: + """ + Create portal access + Creates a new consumer access rule for the portal. + + :param portal_id: str + :param consumer_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :param access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]] + :return: DashboardInstancePortalsAccessCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["consumer_group_id"] = consumer_group_id + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + body_dict["access"] = access + + request = MetorialRequest( + path=['portals', portal_id, 'access'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsAccessCreateOutput.from_dict) + + def update(self, portal_id: str, access_id: str, *, name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsAccessUpdateOutput: + """ + Update portal access + Updates the shared listing fields for a portal access rule. + + :param portal_id: str + :param access_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :return: DashboardInstancePortalsAccessUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + + request = MetorialRequest( + path=['portals', portal_id, 'access', access_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAccessUpdateOutput.from_dict) + + def delete(self, portal_id: str, access_id: str) -> DashboardInstancePortalsAccessDeleteOutput: + """ + Delete portal access + Deletes a consumer access rule from the portal. + + :param portal_id: str + :param access_id: str + :return: DashboardInstancePortalsAccessDeleteOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'access', access_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsAccessDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_access_requests.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_access_requests.py new file mode 100644 index 00000000..9abe2ede --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_access_requests.py @@ -0,0 +1,90 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAccessRequestsListOutput, DashboardInstancePortalsAccessRequestsListOutput, mapDashboardInstancePortalsAccessRequestsListQuery, DashboardInstancePortalsAccessRequestsListQuery, mapDashboardInstancePortalsAccessRequestsGetOutput, DashboardInstancePortalsAccessRequestsGetOutput, mapDashboardInstancePortalsAccessRequestsUpdateOutput, DashboardInstancePortalsAccessRequestsUpdateOutput, mapDashboardInstancePortalsAccessRequestsUpdateBody, DashboardInstancePortalsAccessRequestsUpdateBody + +class MetorialPortalsAccessRequestsEndpoint(BaseMetorialEndpoint): + """Review and resolve access requests for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstancePortalsAccessRequestsListOutput: + """ + List portal access requests + Returns a paginated list of access requests for a portal. + + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :return: DashboardInstancePortalsAccessRequestsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id + if search is not None: + query_dict["search"] = search + + request = MetorialRequest( + path=['portals', portal_id, 'access-requests'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessRequestsListOutput.from_dict) + + def get(self, portal_id: str, access_request_id: str) -> DashboardInstancePortalsAccessRequestsGetOutput: + """ + Get portal access request + Retrieves a access request by ID. + + :param portal_id: str + :param access_request_id: str + :return: DashboardInstancePortalsAccessRequestsGetOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'access-requests', access_request_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsAccessRequestsGetOutput.from_dict) + + def update(self, portal_id: str, access_request_id: str, *, status: str, resolution_message: Optional[str] = None, consumer_group_id: Optional[str] = None) -> DashboardInstancePortalsAccessRequestsUpdateOutput: + """ + Review portal access request + Approves or rejects a access request. + + :param portal_id: str + :param access_request_id: str + :param status: str + :param resolution_message: Optional[str] (optional) + :param consumer_group_id: Optional[str] (optional) + :return: DashboardInstancePortalsAccessRequestsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["status"] = status + if resolution_message is not None: + body_dict["resolution_message"] = resolution_message + if consumer_group_id is not None: + body_dict["consumer_group_id"] = consumer_group_id + + request = MetorialRequest( + path=['portals', portal_id, 'access-requests', access_request_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAccessRequestsUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_app.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_app.py new file mode 100644 index 00000000..6c1f9a73 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_app.py @@ -0,0 +1,42 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthAppGetOutput, DashboardInstancePortalsAuthAppGetOutput, mapDashboardInstancePortalsAuthAppUpdateOutput, DashboardInstancePortalsAuthAppUpdateOutput, mapDashboardInstancePortalsAuthAppUpdateBody, DashboardInstancePortalsAuthAppUpdateBody + +class MetorialPortalsAuthAppEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, portal_id: str) -> DashboardInstancePortalsAuthAppGetOutput: + """ + Get portal auth app + Returns the Ares app configuration for a portal. + + :param portal_id: str + :return: DashboardInstancePortalsAuthAppGetOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'auth', 'app'] + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthAppGetOutput.from_dict) + + def update(self, portal_id: str, *, email_whitelist: Optional[List[str]] = None) -> DashboardInstancePortalsAuthAppUpdateOutput: + """ + Update portal auth app + Updates the portal auth app configuration stored on the portal surface. + + :param portal_id: str + :param email_whitelist: Optional[List[str]] (optional) + :return: DashboardInstancePortalsAuthAppUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if email_whitelist is not None: + body_dict["email_whitelist"] = email_whitelist + + request = MetorialRequest( + path=['portals', portal_id, 'auth', 'app'], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsAuthAppUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_sso_tenants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_sso_tenants.py new file mode 100644 index 00000000..56a03121 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_sso_tenants.py @@ -0,0 +1,74 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthSsoTenantsListOutput, DashboardInstancePortalsAuthSsoTenantsListOutput, mapDashboardInstancePortalsAuthSsoTenantsListQuery, DashboardInstancePortalsAuthSsoTenantsListQuery, mapDashboardInstancePortalsAuthSsoTenantsCreateOutput, DashboardInstancePortalsAuthSsoTenantsCreateOutput, mapDashboardInstancePortalsAuthSsoTenantsCreateBody, DashboardInstancePortalsAuthSsoTenantsCreateBody, mapDashboardInstancePortalsAuthSsoTenantsSetupOutput, DashboardInstancePortalsAuthSsoTenantsSetupOutput + +class MetorialPortalsAuthSsoTenantsEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstancePortalsAuthSsoTenantsListOutput: + """ + List portal auth SSO tenants + Returns the SSO tenants configured for a portal Ares app. + + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstancePortalsAuthSsoTenantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['portals', portal_id, 'auth', 'sso-tenants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthSsoTenantsListOutput.from_dict) + + def create(self, portal_id: str, *, name: str) -> DashboardInstancePortalsAuthSsoTenantsCreateOutput: + """ + Create portal auth SSO tenant + Creates an SSO tenant for the portal Ares app. + + :param portal_id: str + :param name: str + :return: DashboardInstancePortalsAuthSsoTenantsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + + request = MetorialRequest( + path=['portals', portal_id, 'auth', 'sso-tenants'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsAuthSsoTenantsCreateOutput.from_dict) + + def setup(self, portal_id: str, sso_tenant_id: str) -> DashboardInstancePortalsAuthSsoTenantsSetupOutput: + """ + Create portal auth SSO tenant setup + Creates an Ares setup URL for finishing portal SSO tenant configuration. + + :param portal_id: str + :param sso_tenant_id: str + :return: DashboardInstancePortalsAuthSsoTenantsSetupOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'auth', 'sso-tenants', sso_tenant_id, 'setup'] + ) + return self._post(request).transform(mapDashboardInstancePortalsAuthSsoTenantsSetupOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_sso_tenants_connections.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_sso_tenants_connections.py new file mode 100644 index 00000000..c7eb6265 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_auth_sso_tenants_connections.py @@ -0,0 +1,42 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutput, DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput, mapDashboardInstancePortalsAuthSsoTenantsConnectionsListQuery, DashboardInstancePortalsAuthSsoTenantsConnectionsListQuery + +class MetorialPortalsAuthSsoTenantsConnectionsEndpoint(BaseMetorialEndpoint): + """Manage the Ares-backed authentication configuration for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, portal_id: str, sso_tenant_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput: + """ + List portal auth SSO tenant connections + Returns SSO connections that belong to a portal SSO tenant. + + :param portal_id: str + :param sso_tenant_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['portals', portal_id, 'auth', 'sso-tenants', sso_tenant_id, 'connections'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_groups.py new file mode 100644 index 00000000..289d9207 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_groups.py @@ -0,0 +1,133 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerGroupsListOutput, DashboardInstancePortalsConsumerGroupsListOutput, mapDashboardInstancePortalsConsumerGroupsListQuery, DashboardInstancePortalsConsumerGroupsListQuery, mapDashboardInstancePortalsConsumerGroupsGetOutput, DashboardInstancePortalsConsumerGroupsGetOutput, mapDashboardInstancePortalsConsumerGroupsCreateOutput, DashboardInstancePortalsConsumerGroupsCreateOutput, mapDashboardInstancePortalsConsumerGroupsCreateBody, DashboardInstancePortalsConsumerGroupsCreateBody, mapDashboardInstancePortalsConsumerGroupsUpdateOutput, DashboardInstancePortalsConsumerGroupsUpdateOutput, mapDashboardInstancePortalsConsumerGroupsUpdateBody, DashboardInstancePortalsConsumerGroupsUpdateBody, mapDashboardInstancePortalsConsumerGroupsDeleteOutput, DashboardInstancePortalsConsumerGroupsDeleteOutput + +class MetorialPortalsConsumerGroupsEndpoint(BaseMetorialEndpoint): + """Manage the consumer groups that drive portal visibility and access rules.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstancePortalsConsumerGroupsListOutput: + """ + List portal consumer groups + Returns a paginated list of consumer groups for a portal. + + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :return: DashboardInstancePortalsConsumerGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if search is not None: + query_dict["search"] = search + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerGroupsListOutput.from_dict) + + def get(self, portal_id: str, consumer_group_id: str) -> DashboardInstancePortalsConsumerGroupsGetOutput: + """ + Get portal consumer group + Retrieves a portal consumer group by ID. + + :param portal_id: str + :param consumer_group_id: str + :return: DashboardInstancePortalsConsumerGroupsGetOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'consumer-groups', consumer_group_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerGroupsGetOutput.from_dict) + + def create(self, portal_id: str, *, name: str, description: Optional[str] = None, sso_group_ids: Optional[List[str]] = None, is_default: Optional[bool] = None) -> DashboardInstancePortalsConsumerGroupsCreateOutput: + """ + Create portal consumer group + Creates a new consumer group for the portal. + + :param portal_id: str + :param name: str + :param description: Optional[str] (optional) + :param sso_group_ids: Optional[List[str]] (optional) + :param is_default: Optional[bool] (optional) + :return: DashboardInstancePortalsConsumerGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if sso_group_ids is not None: + body_dict["sso_group_ids"] = sso_group_ids + if is_default is not None: + body_dict["is_default"] = is_default + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerGroupsCreateOutput.from_dict) + + def update(self, portal_id: str, consumer_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, sso_group_ids: Optional[List[str]] = None, is_default: Optional[bool] = None) -> DashboardInstancePortalsConsumerGroupsUpdateOutput: + """ + Update portal consumer group + Updates a consumer group for the portal. + + :param portal_id: str + :param consumer_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param sso_group_ids: Optional[List[str]] (optional) + :param is_default: Optional[bool] (optional) + :return: DashboardInstancePortalsConsumerGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if sso_group_ids is not None: + body_dict["sso_group_ids"] = sso_group_ids + if is_default is not None: + body_dict["is_default"] = is_default + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-groups', consumer_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsConsumerGroupsUpdateOutput.from_dict) + + def delete(self, portal_id: str, consumer_group_id: str) -> DashboardInstancePortalsConsumerGroupsDeleteOutput: + """ + Delete portal consumer group + Archives a consumer group for the portal. + + :param portal_id: str + :param consumer_group_id: str + :return: DashboardInstancePortalsConsumerGroupsDeleteOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'consumer-groups', consumer_group_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsConsumerGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_invites.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_invites.py new file mode 100644 index 00000000..4d040e1a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_invites.py @@ -0,0 +1,85 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerInvitesListOutput, DashboardInstancePortalsConsumerInvitesListOutput, mapDashboardInstancePortalsConsumerInvitesListQuery, DashboardInstancePortalsConsumerInvitesListQuery, mapDashboardInstancePortalsConsumerInvitesCreateOutput, DashboardInstancePortalsConsumerInvitesCreateOutput, mapDashboardInstancePortalsConsumerInvitesCreateBody, DashboardInstancePortalsConsumerInvitesCreateBody, mapDashboardInstancePortalsConsumerInvitesGetOutput, DashboardInstancePortalsConsumerInvitesGetOutput + +class MetorialPortalsConsumerInvitesEndpoint(BaseMetorialEndpoint): + """List and inspect consumer invites for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsConsumerInvitesListOutput: + """ + List portal consumer invites + Returns a paginated list of invites for a portal. + + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsConsumerInvitesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-invites'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerInvitesListOutput.from_dict) + + def create(self, portal_id: str, *, name: str, email: str, message: Optional[str] = None) -> DashboardInstancePortalsConsumerInvitesCreateOutput: + """ + Create portal consumer invite + Invites a consumer to a portal. + + :param portal_id: str + :param name: str + :param email: str + :param message: Optional[str] (optional) + :return: DashboardInstancePortalsConsumerInvitesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + if message is not None: + body_dict["message"] = message + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-invites'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerInvitesCreateOutput.from_dict) + + def get(self, portal_id: str, consumer_invite_id: str) -> DashboardInstancePortalsConsumerInvitesGetOutput: + """ + Get portal consumer invite + Retrieves a portal consumer invite by ID. + + :param portal_id: str + :param consumer_invite_id: str + :return: DashboardInstancePortalsConsumerInvitesGetOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'consumer-invites', consumer_invite_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerInvitesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_profiles.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_profiles.py new file mode 100644 index 00000000..4ec92545 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_consumer_profiles.py @@ -0,0 +1,125 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsConsumerProfilesListOutput, DashboardInstancePortalsConsumerProfilesListOutput, mapDashboardInstancePortalsConsumerProfilesListQuery, DashboardInstancePortalsConsumerProfilesListQuery, mapDashboardInstancePortalsConsumerProfilesGetOutput, DashboardInstancePortalsConsumerProfilesGetOutput, mapDashboardInstancePortalsConsumerProfilesCreateOutput, DashboardInstancePortalsConsumerProfilesCreateOutput, mapDashboardInstancePortalsConsumerProfilesCreateBody, DashboardInstancePortalsConsumerProfilesCreateBody, mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput, DashboardInstancePortalsConsumerProfilesAssignGroupsOutput, mapDashboardInstancePortalsConsumerProfilesAssignGroupsBody, DashboardInstancePortalsConsumerProfilesAssignGroupsBody, mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput, DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput, mapDashboardInstancePortalsConsumerProfilesUnassignGroupsBody, DashboardInstancePortalsConsumerProfilesUnassignGroupsBody + +class MetorialPortalsConsumerProfilesEndpoint(BaseMetorialEndpoint): + """Manage the consumers and effective group assignments for a portal.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_group_id: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsConsumerProfilesListOutput: + """ + List portal consumer profiles + Returns a paginated list of consumer profiles for a portal. + + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_group_id: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsConsumerProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_group_id is not None: + query_dict["consumer_group_id"] = consumer_group_id + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-profile'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerProfilesListOutput.from_dict) + + def get(self, portal_id: str, consumer_profile_id: str) -> DashboardInstancePortalsConsumerProfilesGetOutput: + """ + Get portal consumer profile + Retrieves a portal consumer profile by ID. + + :param portal_id: str + :param consumer_profile_id: str + :return: DashboardInstancePortalsConsumerProfilesGetOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'consumer-profile', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsConsumerProfilesGetOutput.from_dict) + + def create(self, portal_id: str, *, email: str, name: str) -> DashboardInstancePortalsConsumerProfilesCreateOutput: + """ + Create portal consumer profile + Creates a new portal consumer profile. + + :param portal_id: str + :param email: str + :param name: str + :return: DashboardInstancePortalsConsumerProfilesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["email"] = email + body_dict["name"] = name + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-profile'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesCreateOutput.from_dict) + + def assign_groups(self, portal_id: str, consumer_profile_id: str, *, group_ids: List[str]) -> DashboardInstancePortalsConsumerProfilesAssignGroupsOutput: + """ + Assign portal consumer profile groups + Assigns one or more groups to a portal consumer profile. + + :param portal_id: str + :param consumer_profile_id: str + :param group_ids: List[str] + :return: DashboardInstancePortalsConsumerProfilesAssignGroupsOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["group_ids"] = group_ids + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-profile', consumer_profile_id, 'assign-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput.from_dict) + + def unassign_groups(self, portal_id: str, consumer_profile_id: str, *, group_ids: List[str]) -> DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: + """ + Unassign portal consumer profile groups + Removes one or more groups from a portal consumer profile. + + :param portal_id: str + :param consumer_profile_id: str + :param group_ids: List[str] + :return: DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["group_ids"] = group_ids + + request = MetorialRequest( + path=['portals', portal_id, 'consumer-profile', consumer_profile_id, 'unassign-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_listings.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_listings.py new file mode 100644 index 00000000..60ca6489 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/portals_listings.py @@ -0,0 +1,151 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstancePortalsListingsListOutput, DashboardInstancePortalsListingsListOutput, mapDashboardInstancePortalsListingsListQuery, DashboardInstancePortalsListingsListQuery, mapDashboardInstancePortalsListingsGetOutput, DashboardInstancePortalsListingsGetOutput, mapDashboardInstancePortalsListingsCreateOutput, DashboardInstancePortalsListingsCreateOutput, mapDashboardInstancePortalsListingsCreateBody, DashboardInstancePortalsListingsCreateBody, mapDashboardInstancePortalsListingsUpdateOutput, DashboardInstancePortalsListingsUpdateOutput, mapDashboardInstancePortalsListingsUpdateBody, DashboardInstancePortalsListingsUpdateBody, mapDashboardInstancePortalsListingsDeleteOutput, DashboardInstancePortalsListingsDeleteOutput + +class MetorialPortalsListingsEndpoint(BaseMetorialEndpoint): + """Read the shared listings available on a portal surface.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, portal_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, consumer_surface_provider_group_id: Optional[Union[str, List[str]]] = None, provider_template_id: Optional[Union[str, List[str]]] = None, magic_mcp_server_id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, skill_template_id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None) -> DashboardInstancePortalsListingsListOutput: + """ + List portal listings + Returns a paginated list of shared listings for a portal. + + :param portal_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param consumer_surface_provider_group_id: Optional[Union[str, List[str]]] (optional) + :param provider_template_id: Optional[Union[str, List[str]]] (optional) + :param magic_mcp_server_id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param skill_template_id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstancePortalsListingsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if consumer_surface_provider_group_id is not None: + query_dict["consumer_surface_provider_group_id"] = consumer_surface_provider_group_id + if provider_template_id is not None: + query_dict["provider_template_id"] = provider_template_id + if magic_mcp_server_id is not None: + query_dict["magic_mcp_server_id"] = magic_mcp_server_id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if skill_template_id is not None: + query_dict["skill_template_id"] = skill_template_id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if type is not None: + query_dict["type"] = type + + request = MetorialRequest( + path=['portals', portal_id, 'listings'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstancePortalsListingsListOutput.from_dict) + + def get(self, portal_id: str, listing_id: str) -> DashboardInstancePortalsListingsGetOutput: + """ + Get portal listing + Retrieves one shared listing for a portal. + + :param portal_id: str + :param listing_id: str + :return: DashboardInstancePortalsListingsGetOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'listings', listing_id] + ) + return self._get(request).transform(mapDashboardInstancePortalsListingsGetOutput.from_dict) + + def create(self, portal_id: str, *, access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsListingsCreateOutput: + """ + Create portal listing + Creates a shared listing for a portal. + + :param portal_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :param access: Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]] + :return: DashboardInstancePortalsListingsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + body_dict["access"] = access + + request = MetorialRequest( + path=['portals', portal_id, 'listings'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstancePortalsListingsCreateOutput.from_dict) + + def update(self, portal_id: str, listing_id: str, *, name: Optional[str] = None, description: Optional[str] = None, readme: Optional[str] = None) -> DashboardInstancePortalsListingsUpdateOutput: + """ + Update portal listing + Updates listing metadata for a portal listing. + + :param portal_id: str + :param listing_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param readme: Optional[str] (optional) + :return: DashboardInstancePortalsListingsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if readme is not None: + body_dict["readme"] = readme + + request = MetorialRequest( + path=['portals', portal_id, 'listings', listing_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstancePortalsListingsUpdateOutput.from_dict) + + def delete(self, portal_id: str, listing_id: str) -> DashboardInstancePortalsListingsDeleteOutput: + """ + Delete portal listing + Deletes a portal listing and all consumer access attached to it. + + :param portal_id: str + :param listing_id: str + :return: DashboardInstancePortalsListingsDeleteOutput + """ + request = MetorialRequest( + path=['portals', portal_id, 'listings', listing_id] + ) + return self._delete(request).transform(mapDashboardInstancePortalsListingsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_auth_configs.py index 5b244122..748c7d6b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialProviderDeploymentsAuthConfigsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, available_for_use: Optional[bool] = None, available_for_provider_deployment_id: Optional[str] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -22,6 +22,8 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param available_for_use: Optional[bool] (optional) + :param available_for_provider_deployment_id: Optional[str] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) :param actor_id: Optional[Union[str, List[str]]] (optional) @@ -53,6 +55,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_id"] = provider_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id + if available_for_use is not None: + query_dict["available_for_use"] = available_for_use + if available_for_provider_deployment_id is not None: + query_dict["available_for_provider_deployment_id"] = available_for_provider_deployment_id if provider_auth_credentials_id is not None: query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_configs.py index 44c0c1d3..4d9d7a2c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialProviderDeploymentsConfigsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, available_for_use: Optional[bool] = None, available_for_provider_deployment_id: Optional[str] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -23,6 +23,8 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param available_for_use: Optional[bool] (optional) + :param available_for_provider_deployment_id: Optional[str] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) :param actor_id: Optional[Union[str, List[str]]] (optional) :param consumer_id: Optional[Union[str, List[str]]] (optional) @@ -55,6 +57,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_specification_id"] = provider_specification_id if provider_deployment_id is not None: query_dict["provider_deployment_id"] = provider_deployment_id + if available_for_use is not None: + query_dict["available_for_use"] = available_for_use + if available_for_provider_deployment_id is not None: + query_dict["available_for_provider_deployment_id"] = available_for_provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id if actor_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_templates.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_templates.py index 68ab0a25..ba0dd566 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_templates.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_templates.py @@ -8,7 +8,7 @@ class MetorialProviderTemplatesEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceProviderTemplatesListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceProviderTemplatesListOutput: """ List provider templates Returns a paginated list of provider templates. @@ -19,7 +19,7 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param cursor: Optional[str] (optional) :param order: Optional[str] (optional) :param id: Optional[Union[str, List[str]]] (optional) - :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :return: DashboardInstanceProviderTemplatesListOutput @@ -38,8 +38,8 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["order"] = order if id is not None: query_dict["id"] = id - if provider_deployment_id is not None: - query_dict["provider_deployment_id"] = provider_deployment_id + if integration_id is not None: + query_dict["integration_id"] = integration_id if search is not None: query_dict["search"] = search if status is not None: @@ -64,7 +64,7 @@ def get(self, provider_template_id: str) -> DashboardInstanceProviderTemplatesGe ) return self._get(request).transform(mapDashboardInstanceProviderTemplatesGetOutput.from_dict) - def create(self, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filers: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None, provider_deployment_id: str = None, provider_deployment: Dict[str, Any] = None) -> DashboardInstanceProviderTemplatesCreateOutput: + def create(self, *, name: str, providers: List[Dict[str, Any]], description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderTemplatesCreateOutput: """ Create provider template Creates a new provider template from an existing provider deployment or creates a minimal backing deployment first. @@ -72,9 +72,7 @@ def create(self, *, name: str, description: Optional[str] = None, metadata: Opti :param name: str :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) - :param tool_filers: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) - :param provider_deployment_id: str (optional) - :param provider_deployment: Dict[str, Any] (optional) + :param providers: List[Dict[str, Any]] :return: DashboardInstanceProviderTemplatesCreateOutput """ # Build body parameters from keyword arguments @@ -84,12 +82,7 @@ def create(self, *, name: str, description: Optional[str] = None, metadata: Opti body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata - if tool_filers is not None: - body_dict["tool_filers"] = tool_filers - if provider_deployment_id is not None: - body_dict["provider_deployment_id"] = provider_deployment_id - if provider_deployment is not None: - body_dict["provider_deployment"] = provider_deployment + body_dict["providers"] = providers request = MetorialRequest( path=['provider-templates'], @@ -97,7 +90,7 @@ def create(self, *, name: str, description: Optional[str] = None, metadata: Opti ) return self._post(request).transform(mapDashboardInstanceProviderTemplatesCreateOutput.from_dict) - def update(self, provider_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] = None) -> DashboardInstanceProviderTemplatesUpdateOutput: + def update(self, provider_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, providers: Optional[List[Dict[str, Any]]] = None) -> DashboardInstanceProviderTemplatesUpdateOutput: """ Update provider template Updates an existing provider template. @@ -106,7 +99,7 @@ def update(self, provider_template_id: str, *, name: Optional[str] = None, descr :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) - :param tool_filters: Optional[Union[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]], List[Union[Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any], Dict[str, Any]]]]] (optional) + :param providers: Optional[List[Dict[str, Any]]] (optional) :return: DashboardInstanceProviderTemplatesUpdateOutput """ # Build body parameters from keyword arguments @@ -117,8 +110,8 @@ def update(self, provider_template_id: str, *, name: Optional[str] = None, descr body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata - if tool_filters is not None: - body_dict["tool_filters"] = tool_filters + if providers is not None: + body_dict["providers"] = providers request = MetorialRequest( path=['provider-templates', provider_template_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions.py index 1a2a2ede..85f75559 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions.py @@ -8,7 +8,7 @@ class MetorialSessionsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsListOutput: """ List sessions Returns a paginated list of sessions. @@ -20,6 +20,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) :param session_template_id: Optional[Union[str, List[str]]] (optional) :param session_provider_id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) @@ -46,6 +50,14 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["status"] = status if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id if session_template_id is not None: query_dict["session_template_id"] = session_template_id if session_provider_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions_connections.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions_connections.py index 0705a9f0..4849f4a7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions_connections.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions_connections.py @@ -8,7 +8,7 @@ class MetorialSessionsConnectionsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, connection_state: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, participant_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsConnectionsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, connection_state: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, participant_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsConnectionsListOutput: """ List session connections Returns a paginated list of connections for a session. @@ -21,6 +21,11 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param status: Optional[Union[str, List[str]]] (optional) :param connection_state: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param session_id: Optional[Union[str, List[str]]] (optional) :param session_provider_id: Optional[Union[str, List[str]]] (optional) :param participant_id: Optional[Union[str, List[str]]] (optional) @@ -46,6 +51,16 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["connection_state"] = connection_state if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if session_id is not None: query_dict["session_id"] = session_id if session_provider_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions_participants.py index 668757e9..c6a13d2a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions_participants.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/sessions_participants.py @@ -8,7 +8,7 @@ class MetorialSessionsParticipantsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_connection_id: Optional[Union[str, List[str]]] = None, session_message_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsParticipantsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, session_id: Optional[Union[str, List[str]]] = None, session_connection_id: Optional[Union[str, List[str]]] = None, session_message_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSessionsParticipantsListOutput: """ List session participants Returns a paginated list of participants in a session. @@ -20,6 +20,11 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param order: Optional[str] (optional) :param type: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param session_id: Optional[Union[str, List[str]]] (optional) :param session_connection_id: Optional[Union[str, List[str]]] (optional) :param session_message_id: Optional[Union[str, List[str]]] (optional) @@ -43,6 +48,16 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["type"] = type if id is not None: query_dict["id"] = id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if session_id is not None: query_dict["session_id"] = session_id if session_connection_id is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills.py new file mode 100644 index 00000000..c5974787 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills.py @@ -0,0 +1,275 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsListOutput, DashboardInstanceSkillsListOutput, mapDashboardInstanceSkillsListQuery, DashboardInstanceSkillsListQuery, mapDashboardInstanceSkillsGetOutput, DashboardInstanceSkillsGetOutput, mapDashboardInstanceSkillsCreateOutput, DashboardInstanceSkillsCreateOutput, mapDashboardInstanceSkillsCreateBody, DashboardInstanceSkillsCreateBody, mapDashboardInstanceSkillsUpdateOutput, DashboardInstanceSkillsUpdateOutput, mapDashboardInstanceSkillsUpdateBody, DashboardInstanceSkillsUpdateBody, mapDashboardInstanceSkillsDeleteOutput, DashboardInstanceSkillsDeleteOutput, mapDashboardInstanceSkillsForkOutput, DashboardInstanceSkillsForkOutput, mapDashboardInstanceSkillsForkBody, DashboardInstanceSkillsForkBody, mapDashboardInstanceSkillsPublishConsumerSkillOutput, DashboardInstanceSkillsPublishConsumerSkillOutput, mapDashboardInstanceSkillsDuplicateOutput, DashboardInstanceSkillsDuplicateOutput, mapDashboardInstanceSkillsDuplicateBody, DashboardInstanceSkillsDuplicateBody + +class MetorialSkillsEndpoint(BaseMetorialEndpoint): + """Skills group provider and integration capabilities into reusable, owned compositions.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_group_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsListOutput: + """ + List skills + Returns a paginated list of skills. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_group_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_group_id is not None: + query_dict["skill_group_id"] = skill_group_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['skills'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsListOutput.from_dict) + + def get(self, skill_id: str) -> DashboardInstanceSkillsGetOutput: + """ + Get skill + Retrieves a specific skill. + + :param skill_id: str + :return: DashboardInstanceSkillsGetOutput + """ + request = MetorialRequest( + path=['skills', skill_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGetOutput.from_dict) + + def create(self, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None, template_id: Optional[str] = None) -> DashboardInstanceSkillsCreateOutput: + """ + Create skill + Creates a new skill. + + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :param template_id: Optional[str] (optional) + :return: DashboardInstanceSkillsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if template_id is not None: + body_dict["template_id"] = template_id + + request = MetorialRequest( + path=['skills'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsCreateOutput.from_dict) + + def update(self, skill_id: str, *, name: Optional[str] = None, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None) -> DashboardInstanceSkillsUpdateOutput: + """ + Update skill + Updates a specific skill. + + :param skill_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :return: DashboardInstanceSkillsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + + request = MetorialRequest( + path=['skills', skill_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsUpdateOutput.from_dict) + + def delete(self, skill_id: str) -> DashboardInstanceSkillsDeleteOutput: + """ + Delete skill + Archives a specific skill. + + :param skill_id: str + :return: DashboardInstanceSkillsDeleteOutput + """ + request = MetorialRequest( + path=['skills', skill_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsDeleteOutput.from_dict) + + def fork(self, skill_id: str, *, name: str, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None, image_file_id: Optional[str] = None) -> DashboardInstanceSkillsForkOutput: + """ + Fork skill + Forks a skill for the current consumer. Non-consumer callers duplicate the skill instead. + + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param image_file_id: Optional[str] (optional) + :return: DashboardInstanceSkillsForkOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + + request = MetorialRequest( + path=['skills', skill_id, 'fork'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsForkOutput.from_dict) + + def publish_consumer_skill(self, skill_id: str) -> DashboardInstanceSkillsPublishConsumerSkillOutput: + """ + Publish consumer skill + Publishes a consumer-owned skill to the consumer groups they belong to. + + :param skill_id: str + :return: DashboardInstanceSkillsPublishConsumerSkillOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'publish'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsPublishConsumerSkillOutput.from_dict) + + def duplicate(self, skill_id: str, *, name: str, description: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, license: Optional[str] = None, compatibility: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsDuplicateOutput: + """ + Duplicate skill + Duplicates a skill. + + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsDuplicateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['skills', skill_id, 'duplicate'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsDuplicateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_agents.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_agents.py new file mode 100644 index 00000000..5ef99e59 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_agents.py @@ -0,0 +1,121 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsAgentsCreateOutput, DashboardInstanceSkillsAgentsCreateOutput, mapDashboardInstanceSkillsAgentsCreateBody, DashboardInstanceSkillsAgentsCreateBody, mapDashboardInstanceSkillsAgentsListOutput, DashboardInstanceSkillsAgentsListOutput, mapDashboardInstanceSkillsAgentsListQuery, DashboardInstanceSkillsAgentsListQuery, mapDashboardInstanceSkillsAgentsGetOutput, DashboardInstanceSkillsAgentsGetOutput, mapDashboardInstanceSkillsAgentsUpdateOutput, DashboardInstanceSkillsAgentsUpdateOutput, mapDashboardInstanceSkillsAgentsUpdateBody, DashboardInstanceSkillsAgentsUpdateBody, mapDashboardInstanceSkillsAgentsDeleteOutput, DashboardInstanceSkillsAgentsDeleteOutput + +class MetorialSkillsAgentsEndpoint(BaseMetorialEndpoint): + """Manage sub-agents attached to a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def create(self, skill_id: str, *, name: str, description: Optional[str] = None, content: Optional[str] = None) -> DashboardInstanceSkillsAgentsCreateOutput: + """ + Create skill agent + Creates a new agent document in the skill agents directory. + + :param skill_id: str + :param name: str + :param description: Optional[str] (optional) + :param content: Optional[str] (optional) + :return: DashboardInstanceSkillsAgentsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if content is not None: + body_dict["content"] = content + + request = MetorialRequest( + path=['skills', skill_id, 'agents'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsAgentsCreateOutput.from_dict) + + def list(self, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, include_archived: Optional[bool] = None) -> DashboardInstanceSkillsAgentsListOutput: + """ + List skill agents + Returns a paginated list of agents for a specific skill. + + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param include_archived: Optional[bool] (optional) + :return: DashboardInstanceSkillsAgentsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if include_archived is not None: + query_dict["include_archived"] = include_archived + + request = MetorialRequest( + path=['skills', skill_id, 'agents'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsAgentsListOutput.from_dict) + + def get(self, skill_id: str, skill_agent_id: str) -> DashboardInstanceSkillsAgentsGetOutput: + """ + Get skill agent by ID + Retrieves a specific agent within a skill. + + :param skill_id: str + :param skill_agent_id: str + :return: DashboardInstanceSkillsAgentsGetOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'agents', skill_agent_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsAgentsGetOutput.from_dict) + + def update(self, skill_id: str, skill_agent_id: str, *, name: Optional[str] = None, description: Optional[str] = None) -> DashboardInstanceSkillsAgentsUpdateOutput: + """ + Update skill agent + Updates the name or description for a specific skill agent. + + :param skill_id: str + :param skill_agent_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :return: DashboardInstanceSkillsAgentsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + + request = MetorialRequest( + path=['skills', skill_id, 'agents', skill_agent_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsAgentsUpdateOutput.from_dict) + + def delete(self, skill_id: str, skill_agent_id: str) -> DashboardInstanceSkillsAgentsDeleteOutput: + """ + Delete skill agent + Archives a specific skill agent and removes its linked store item. + + :param skill_id: str + :param skill_agent_id: str + :return: DashboardInstanceSkillsAgentsDeleteOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'agents', skill_agent_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsAgentsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_configurations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_configurations.py new file mode 100644 index 00000000..ec7794aa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_configurations.py @@ -0,0 +1,117 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsConfigurationsCreateOutput, DashboardInstanceSkillsConfigurationsCreateOutput, mapDashboardInstanceSkillsConfigurationsCreateBody, DashboardInstanceSkillsConfigurationsCreateBody, mapDashboardInstanceSkillsConfigurationsListOutput, DashboardInstanceSkillsConfigurationsListOutput, mapDashboardInstanceSkillsConfigurationsListQuery, DashboardInstanceSkillsConfigurationsListQuery, mapDashboardInstanceSkillsConfigurationsGetOutput, DashboardInstanceSkillsConfigurationsGetOutput, mapDashboardInstanceSkillsConfigurationsUpdateOutput, DashboardInstanceSkillsConfigurationsUpdateOutput, mapDashboardInstanceSkillsConfigurationsUpdateBody, DashboardInstanceSkillsConfigurationsUpdateBody, mapDashboardInstanceSkillsConfigurationsDeleteOutput, DashboardInstanceSkillsConfigurationsDeleteOutput + +class MetorialSkillsConfigurationsEndpoint(BaseMetorialEndpoint): + """Manage configuration profiles for skill execution.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def create(self, *, allow_scripts: Optional[bool] = None, allowed_file_extensions: Optional[List[str]] = None, allow_non_standard_directories: Optional[bool] = None) -> DashboardInstanceSkillsConfigurationsCreateOutput: + """ + Create skill configuration + Creates a new non-default skill configuration. + + :param allow_scripts: Optional[bool] (optional) + :param allowed_file_extensions: Optional[List[str]] (optional) + :param allow_non_standard_directories: Optional[bool] (optional) + :return: DashboardInstanceSkillsConfigurationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if allow_scripts is not None: + body_dict["allow_scripts"] = allow_scripts + if allowed_file_extensions is not None: + body_dict["allowed_file_extensions"] = allowed_file_extensions + if allow_non_standard_directories is not None: + body_dict["allow_non_standard_directories"] = allow_non_standard_directories + + request = MetorialRequest( + path=['skills', 'configurations'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsConfigurationsCreateOutput.from_dict) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsConfigurationsListOutput: + """ + List skill configurations + Returns a paginated list of visible skill configurations. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsConfigurationsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['skills', 'configurations'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsConfigurationsListOutput.from_dict) + + def get(self, skill_configuration_id: str) -> DashboardInstanceSkillsConfigurationsGetOutput: + """ + Get skill configuration + Retrieves a specific skill configuration by ID, or the default. + + :param skill_configuration_id: str + :return: DashboardInstanceSkillsConfigurationsGetOutput + """ + request = MetorialRequest( + path=['skills', 'configurations', skill_configuration_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsConfigurationsGetOutput.from_dict) + + def update(self, skill_configuration_id: str, *, allow_scripts: Optional[bool] = None, allowed_file_extensions: Optional[List[str]] = None, allow_non_standard_directories: Optional[bool] = None) -> DashboardInstanceSkillsConfigurationsUpdateOutput: + """ + Update skill configuration + Updates a specific skill configuration. Updating default creates it first if needed. + + :param skill_configuration_id: str + :param allow_scripts: Optional[bool] (optional) + :param allowed_file_extensions: Optional[List[str]] (optional) + :param allow_non_standard_directories: Optional[bool] (optional) + :return: DashboardInstanceSkillsConfigurationsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if allow_scripts is not None: + body_dict["allow_scripts"] = allow_scripts + if allowed_file_extensions is not None: + body_dict["allowed_file_extensions"] = allowed_file_extensions + if allow_non_standard_directories is not None: + body_dict["allow_non_standard_directories"] = allow_non_standard_directories + + request = MetorialRequest( + path=['skills', 'configurations', skill_configuration_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsConfigurationsUpdateOutput.from_dict) + + def delete(self, skill_configuration_id: str) -> DashboardInstanceSkillsConfigurationsDeleteOutput: + """ + Delete skill configuration + Soft deletes a specific non-internal skill configuration. + + :param skill_configuration_id: str + :return: DashboardInstanceSkillsConfigurationsDeleteOutput + """ + request = MetorialRequest( + path=['skills', 'configurations', skill_configuration_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsConfigurationsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_exports.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_exports.py new file mode 100644 index 00000000..b3bd8c2f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_exports.py @@ -0,0 +1,89 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsExportsListOutput, DashboardInstanceSkillsExportsListOutput, mapDashboardInstanceSkillsExportsListQuery, DashboardInstanceSkillsExportsListQuery, mapDashboardInstanceSkillsExportsGetOutput, DashboardInstanceSkillsExportsGetOutput, mapDashboardInstanceSkillsExportsCreateOutput, DashboardInstanceSkillsExportsCreateOutput, mapDashboardInstanceSkillsExportsCreateBody, DashboardInstanceSkillsExportsCreateBody + +class MetorialSkillsExportsEndpoint(BaseMetorialEndpoint): + """Export skills, skill plugins, and skill marketplaces as zip files.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, target: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None) -> DashboardInstanceSkillsExportsListOutput: + """ + List skill exports + Returns a paginated list of skill exports. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param target: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :return: DashboardInstanceSkillsExportsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if target is not None: + query_dict["target"] = target + if status is not None: + query_dict["status"] = status + + request = MetorialRequest( + path=['skill-exports'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsExportsListOutput.from_dict) + + def get(self, skill_export_id: str) -> DashboardInstanceSkillsExportsGetOutput: + """ + Get skill export + Retrieves a skill export. + + :param skill_export_id: str + :return: DashboardInstanceSkillsExportsGetOutput + """ + request = MetorialRequest( + path=['skill-exports', skill_export_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsExportsGetOutput.from_dict) + + def create(self, *, target: str, skill_id: Optional[str] = None, skill_plugin_id: Optional[str] = None, skill_marketplace_id: Optional[str] = None) -> DashboardInstanceSkillsExportsCreateOutput: + """ + Create skill export + Creates a skill, plugin, or marketplace export. + + :param target: str + :param skill_id: Optional[str] (optional) + :param skill_plugin_id: Optional[str] (optional) + :param skill_marketplace_id: Optional[str] (optional) + :return: DashboardInstanceSkillsExportsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["target"] = target + if skill_id is not None: + body_dict["skill_id"] = skill_id + if skill_plugin_id is not None: + body_dict["skill_plugin_id"] = skill_plugin_id + if skill_marketplace_id is not None: + body_dict["skill_marketplace_id"] = skill_marketplace_id + + request = MetorialRequest( + path=['skill-exports'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsExportsCreateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_groups.py new file mode 100644 index 00000000..77cb20c0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_groups.py @@ -0,0 +1,140 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsGroupsListOutput, DashboardInstanceSkillsGroupsListOutput, mapDashboardInstanceSkillsGroupsListQuery, DashboardInstanceSkillsGroupsListQuery, mapDashboardInstanceSkillsGroupsGetOutput, DashboardInstanceSkillsGroupsGetOutput, mapDashboardInstanceSkillsGroupsCreateOutput, DashboardInstanceSkillsGroupsCreateOutput, mapDashboardInstanceSkillsGroupsCreateBody, DashboardInstanceSkillsGroupsCreateBody, mapDashboardInstanceSkillsGroupsUpdateOutput, DashboardInstanceSkillsGroupsUpdateOutput, mapDashboardInstanceSkillsGroupsUpdateBody, DashboardInstanceSkillsGroupsUpdateBody, mapDashboardInstanceSkillsGroupsDeleteOutput, DashboardInstanceSkillsGroupsDeleteOutput + +class MetorialSkillsGroupsEndpoint(BaseMetorialEndpoint): + """Skill groups organize skills into reusable collections.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsGroupsListOutput: + """ + List skill groups + Returns a paginated list of skill groups. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsGroupsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['skill-groups'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsListOutput.from_dict) + + def get(self, skill_group_id: str) -> DashboardInstanceSkillsGroupsGetOutput: + """ + Get skill group + Retrieves a specific skill group. + + :param skill_group_id: str + :return: DashboardInstanceSkillsGroupsGetOutput + """ + request = MetorialRequest( + path=['skill-groups', skill_group_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsGetOutput.from_dict) + + def create(self, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, skill_ids: Optional[List[str]] = None) -> DashboardInstanceSkillsGroupsCreateOutput: + """ + Create skill group + Creates a skill group. + + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param skill_ids: Optional[List[str]] (optional) + :return: DashboardInstanceSkillsGroupsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if skill_ids is not None: + body_dict["skill_ids"] = skill_ids + + request = MetorialRequest( + path=['skill-groups'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsGroupsCreateOutput.from_dict) + + def update(self, skill_group_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, skill_ids: Optional[List[str]] = None) -> DashboardInstanceSkillsGroupsUpdateOutput: + """ + Update skill group + Updates a skill group. + + :param skill_group_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param skill_ids: Optional[List[str]] (optional) + :return: DashboardInstanceSkillsGroupsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if skill_ids is not None: + body_dict["skill_ids"] = skill_ids + + request = MetorialRequest( + path=['skill-groups', skill_group_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsGroupsUpdateOutput.from_dict) + + def delete(self, skill_group_id: str) -> DashboardInstanceSkillsGroupsDeleteOutput: + """ + Delete skill group + Archives a skill group. + + :param skill_group_id: str + :return: DashboardInstanceSkillsGroupsDeleteOutput + """ + request = MetorialRequest( + path=['skill-groups', skill_group_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsGroupsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_groups_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_groups_items.py new file mode 100644 index 00000000..a8a57bdc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_groups_items.py @@ -0,0 +1,100 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsGroupsItemsListOutput, DashboardInstanceSkillsGroupsItemsListOutput, mapDashboardInstanceSkillsGroupsItemsListQuery, DashboardInstanceSkillsGroupsItemsListQuery, mapDashboardInstanceSkillsGroupsItemsGetOutput, DashboardInstanceSkillsGroupsItemsGetOutput, mapDashboardInstanceSkillsGroupsItemsCreateOutput, DashboardInstanceSkillsGroupsItemsCreateOutput, mapDashboardInstanceSkillsGroupsItemsCreateBody, DashboardInstanceSkillsGroupsItemsCreateBody, mapDashboardInstanceSkillsGroupsItemsDeleteOutput, DashboardInstanceSkillsGroupsItemsDeleteOutput + +class MetorialSkillsGroupsItemsEndpoint(BaseMetorialEndpoint): + """Skill group items link groups to skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, skill_group_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsGroupsItemsListOutput: + """ + List skill group items + Returns a paginated list of items for a skill group. + + :param skill_group_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsGroupsItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if created_at is not None: + query_dict["created_at"] = created_at + + request = MetorialRequest( + path=['skill-groups', skill_group_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsItemsListOutput.from_dict) + + def get(self, skill_group_id: str, skill_group_item_id: str) -> DashboardInstanceSkillsGroupsItemsGetOutput: + """ + Get skill group item + Retrieves a specific skill group item. + + :param skill_group_id: str + :param skill_group_item_id: str + :return: DashboardInstanceSkillsGroupsItemsGetOutput + """ + request = MetorialRequest( + path=['skill-groups', skill_group_id, 'items', skill_group_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsGroupsItemsGetOutput.from_dict) + + def create(self, skill_group_id: str, *, skill_id: str) -> DashboardInstanceSkillsGroupsItemsCreateOutput: + """ + Create skill group item + Adds a skill to a skill group. + + :param skill_group_id: str + :param skill_id: str + :return: DashboardInstanceSkillsGroupsItemsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_id"] = skill_id + + request = MetorialRequest( + path=['skill-groups', skill_group_id, 'items'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsGroupsItemsCreateOutput.from_dict) + + def delete(self, skill_group_id: str, skill_group_item_id: str) -> DashboardInstanceSkillsGroupsItemsDeleteOutput: + """ + Delete skill group item + Archives a skill group item. + + :param skill_group_id: str + :param skill_group_item_id: str + :return: DashboardInstanceSkillsGroupsItemsDeleteOutput + """ + request = MetorialRequest( + path=['skill-groups', skill_group_id, 'items', skill_group_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsGroupsItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_items.py new file mode 100644 index 00000000..00cb71f4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_items.py @@ -0,0 +1,100 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsItemsListOutput, DashboardInstanceSkillsItemsListOutput, mapDashboardInstanceSkillsItemsListQuery, DashboardInstanceSkillsItemsListQuery, mapDashboardInstanceSkillsItemsGetOutput, DashboardInstanceSkillsItemsGetOutput, mapDashboardInstanceSkillsItemsCreateOutput, DashboardInstanceSkillsItemsCreateOutput, mapDashboardInstanceSkillsItemsCreateBody, DashboardInstanceSkillsItemsCreateBody, mapDashboardInstanceSkillsItemsDeleteOutput, DashboardInstanceSkillsItemsDeleteOutput + +class MetorialSkillsItemsEndpoint(BaseMetorialEndpoint): + """Skill items attach integrations and providers to skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsItemsListOutput: + """ + List skill items + Returns a paginated list of items for a skill. + + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if status is not None: + query_dict["status"] = status + if type is not None: + query_dict["type"] = type + if id is not None: + query_dict["id"] = id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if created_at is not None: + query_dict["created_at"] = created_at + + request = MetorialRequest( + path=['skills', skill_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsItemsListOutput.from_dict) + + def get(self, skill_id: str, skill_item_id: str) -> DashboardInstanceSkillsItemsGetOutput: + """ + Get skill item + Retrieves a specific skill item. + + :param skill_id: str + :param skill_item_id: str + :return: DashboardInstanceSkillsItemsGetOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'items', skill_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsItemsGetOutput.from_dict) + + def create(self, skill_id: str) -> DashboardInstanceSkillsItemsCreateOutput: + """ + Create skill item + Creates a new item on a skill. + + :param skill_id: str + :return: DashboardInstanceSkillsItemsCreateOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'items'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsItemsCreateOutput.from_dict) + + def delete(self, skill_id: str, skill_item_id: str) -> DashboardInstanceSkillsItemsDeleteOutput: + """ + Delete skill item + Archives a skill item. + + :param skill_id: str + :param skill_item_id: str + :return: DashboardInstanceSkillsItemsDeleteOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'items', skill_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_marketplaces.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_marketplaces.py new file mode 100644 index 00000000..6721d5bb --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_marketplaces.py @@ -0,0 +1,153 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsMarketplacesListOutput, DashboardInstanceSkillsMarketplacesListOutput, mapDashboardInstanceSkillsMarketplacesListQuery, DashboardInstanceSkillsMarketplacesListQuery, mapDashboardInstanceSkillsMarketplacesGetOutput, DashboardInstanceSkillsMarketplacesGetOutput, mapDashboardInstanceSkillsMarketplacesCreateOutput, DashboardInstanceSkillsMarketplacesCreateOutput, mapDashboardInstanceSkillsMarketplacesCreateBody, DashboardInstanceSkillsMarketplacesCreateBody, mapDashboardInstanceSkillsMarketplacesUpdateOutput, DashboardInstanceSkillsMarketplacesUpdateOutput, mapDashboardInstanceSkillsMarketplacesUpdateBody, DashboardInstanceSkillsMarketplacesUpdateBody, mapDashboardInstanceSkillsMarketplacesArchiveOutput, DashboardInstanceSkillsMarketplacesArchiveOutput, mapDashboardInstanceSkillsMarketplacesSyncOutput, DashboardInstanceSkillsMarketplacesSyncOutput, mapDashboardInstanceSkillsMarketplacesSyncBody, DashboardInstanceSkillsMarketplacesSyncBody + +class MetorialSkillsMarketplacesEndpoint(BaseMetorialEndpoint): + """Manage skill marketplaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsMarketplacesListOutput: + """ + List skill marketplaces + Returns a paginated list of skill marketplaces. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param search: Optional[str] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsMarketplacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if search is not None: + query_dict["search"] = search + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['skill-marketplaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesListOutput.from_dict) + + def get(self, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesGetOutput: + """ + Get skill marketplace + Retrieves a skill marketplace. + + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesGetOutput + """ + request = MetorialRequest( + path=['skill-marketplaces', skill_marketplace_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesGetOutput.from_dict) + + def create(self, *, name: str, description: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesCreateOutput: + """ + Create skill marketplace + Creates a skill marketplace. + + :param name: str + :param description: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['skill-marketplaces'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesCreateOutput.from_dict) + + def update(self, skill_marketplace_id: str, *, name: Optional[str] = None, description: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesUpdateOutput: + """ + Update skill marketplace + Updates a skill marketplace. + + :param skill_marketplace_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['skill-marketplaces', skill_marketplace_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsMarketplacesUpdateOutput.from_dict) + + def archive(self, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesArchiveOutput: + """ + Archive skill marketplace + Archives a skill marketplace. + + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesArchiveOutput + """ + request = MetorialRequest( + path=['skill-marketplaces', skill_marketplace_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsMarketplacesArchiveOutput.from_dict) + + def sync(self, skill_marketplace_id: str) -> DashboardInstanceSkillsMarketplacesSyncOutput: + """ + Sync skill marketplace + Forces a skill marketplace sync. + + :param skill_marketplace_id: str + :return: DashboardInstanceSkillsMarketplacesSyncOutput + """ + request = MetorialRequest( + path=['skill-marketplaces', skill_marketplace_id, 'sync'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesSyncOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_marketplaces_plugins.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_marketplaces_plugins.py new file mode 100644 index 00000000..a9f0de06 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_marketplaces_plugins.py @@ -0,0 +1,112 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsMarketplacesPluginsListOutput, DashboardInstanceSkillsMarketplacesPluginsListOutput, mapDashboardInstanceSkillsMarketplacesPluginsListQuery, DashboardInstanceSkillsMarketplacesPluginsListQuery, mapDashboardInstanceSkillsMarketplacesPluginsAddOutput, DashboardInstanceSkillsMarketplacesPluginsAddOutput, mapDashboardInstanceSkillsMarketplacesPluginsAddBody, DashboardInstanceSkillsMarketplacesPluginsAddBody, mapDashboardInstanceSkillsMarketplacesPluginsGetOutput, DashboardInstanceSkillsMarketplacesPluginsGetOutput, mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutput, DashboardInstanceSkillsMarketplacesPluginsRemoveOutput + +class MetorialSkillsMarketplacesPluginsEndpoint(BaseMetorialEndpoint): + """Manage plugin links for skill marketplaces.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, skill_marketplace_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_plugin_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsMarketplacesPluginsListOutput: + """ + List skill marketplace plugins + Returns plugins linked to a skill marketplace. + + :param skill_marketplace_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_plugin_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsMarketplacesPluginsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_plugin_id is not None: + query_dict["skill_plugin_id"] = skill_plugin_id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['skill-marketplaces', skill_marketplace_id, 'plugins'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsListOutput.from_dict) + + def add(self, skill_marketplace_id: str, *, skill_plugin_id: str, skill_configuration_id: Optional[str] = None, identifier: Optional[str] = None) -> DashboardInstanceSkillsMarketplacesPluginsAddOutput: + """ + Add skill marketplace plugin + Adds a skill plugin to a skill marketplace. + + :param skill_marketplace_id: str + :param skill_plugin_id: str + :param skill_configuration_id: Optional[str] (optional) + :param identifier: Optional[str] (optional) + :return: DashboardInstanceSkillsMarketplacesPluginsAddOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_plugin_id"] = skill_plugin_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + if identifier is not None: + body_dict["identifier"] = identifier + + request = MetorialRequest( + path=['skill-marketplaces', skill_marketplace_id, 'plugins'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsAddOutput.from_dict) + + def get(self, skill_marketplace_id: str, skill_marketplace_plugin_id: str) -> DashboardInstanceSkillsMarketplacesPluginsGetOutput: + """ + Get skill marketplace plugin + Retrieves a skill marketplace plugin link. + + :param skill_marketplace_id: str + :param skill_marketplace_plugin_id: str + :return: DashboardInstanceSkillsMarketplacesPluginsGetOutput + """ + request = MetorialRequest( + path=['skill-marketplaces', skill_marketplace_id, 'plugins', skill_marketplace_plugin_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsGetOutput.from_dict) + + def remove(self, skill_marketplace_id: str, skill_marketplace_plugin_id: str) -> DashboardInstanceSkillsMarketplacesPluginsRemoveOutput: + """ + Remove skill marketplace plugin + Removes a skill plugin from a skill marketplace. + + :param skill_marketplace_id: str + :param skill_marketplace_plugin_id: str + :return: DashboardInstanceSkillsMarketplacesPluginsRemoveOutput + """ + request = MetorialRequest( + path=['skill-marketplaces', skill_marketplace_id, 'plugins', skill_marketplace_plugin_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_participants.py new file mode 100644 index 00000000..0c7980aa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_participants.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsParticipantsListOutput, DashboardInstanceSkillsParticipantsListOutput, mapDashboardInstanceSkillsParticipantsListQuery, DashboardInstanceSkillsParticipantsListQuery, mapDashboardInstanceSkillsParticipantsGetOutput, DashboardInstanceSkillsParticipantsGetOutput + +class MetorialSkillsParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect participants associated with an instance skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsParticipantsListOutput: + """ + List skill participants + Returns a paginated list of participants for a specific skill. + + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['skills', skill_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsParticipantsListOutput.from_dict) + + def get(self, skill_id: str, skill_participant_id: str) -> DashboardInstanceSkillsParticipantsGetOutput: + """ + Get skill participant by ID + Retrieves a specific participant within a skill. + + :param skill_id: str + :param skill_participant_id: str + :return: DashboardInstanceSkillsParticipantsGetOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'participants', skill_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_plugins.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_plugins.py new file mode 100644 index 00000000..57f93be3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_plugins.py @@ -0,0 +1,171 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsPluginsListOutput, DashboardInstanceSkillsPluginsListOutput, mapDashboardInstanceSkillsPluginsListQuery, DashboardInstanceSkillsPluginsListQuery, mapDashboardInstanceSkillsPluginsGetOutput, DashboardInstanceSkillsPluginsGetOutput, mapDashboardInstanceSkillsPluginsCreateOutput, DashboardInstanceSkillsPluginsCreateOutput, mapDashboardInstanceSkillsPluginsCreateBody, DashboardInstanceSkillsPluginsCreateBody, mapDashboardInstanceSkillsPluginsUpdateOutput, DashboardInstanceSkillsPluginsUpdateOutput, mapDashboardInstanceSkillsPluginsUpdateBody, DashboardInstanceSkillsPluginsUpdateBody, mapDashboardInstanceSkillsPluginsArchiveOutput, DashboardInstanceSkillsPluginsArchiveOutput, mapDashboardInstanceSkillsPluginsSyncOutput, DashboardInstanceSkillsPluginsSyncOutput, mapDashboardInstanceSkillsPluginsSyncBody, DashboardInstanceSkillsPluginsSyncBody + +class MetorialSkillsPluginsEndpoint(BaseMetorialEndpoint): + """Manage skill plugins for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_marketplace_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, category: Optional[str] = None, search: Optional[str] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsPluginsListOutput: + """ + List skill plugins + Returns a paginated list of skill plugins. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_marketplace_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param category: Optional[str] (optional) + :param search: Optional[str] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsPluginsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_marketplace_id is not None: + query_dict["skill_marketplace_id"] = skill_marketplace_id + if status is not None: + query_dict["status"] = status + if category is not None: + query_dict["category"] = category + if search is not None: + query_dict["search"] = search + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['skill-plugins'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsListOutput.from_dict) + + def get(self, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsGetOutput: + """ + Get skill plugin + Retrieves a skill plugin. + + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsGetOutput + """ + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsGetOutput.from_dict) + + def create(self, *, name: str, description: Optional[str] = None, long_description: Optional[str] = None, category: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsCreateOutput: + """ + Create skill plugin + Creates a skill plugin. + + :param name: str + :param description: Optional[str] (optional) + :param long_description: Optional[str] (optional) + :param category: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if long_description is not None: + body_dict["long_description"] = long_description + if category is not None: + body_dict["category"] = category + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['skill-plugins'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsCreateOutput.from_dict) + + def update(self, skill_plugin_id: str, *, name: Optional[str] = None, description: Optional[str] = None, long_description: Optional[str] = None, category: Optional[str] = None, image_file_id: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsUpdateOutput: + """ + Update skill plugin + Updates a skill plugin. + + :param skill_plugin_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param long_description: Optional[str] (optional) + :param category: Optional[str] (optional) + :param image_file_id: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if long_description is not None: + body_dict["long_description"] = long_description + if category is not None: + body_dict["category"] = category + if image_file_id is not None: + body_dict["image_file_id"] = image_file_id + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsPluginsUpdateOutput.from_dict) + + def archive(self, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsArchiveOutput: + """ + Archive skill plugin + Archives a skill plugin. + + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsArchiveOutput + """ + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsPluginsArchiveOutput.from_dict) + + def sync(self, skill_plugin_id: str) -> DashboardInstanceSkillsPluginsSyncOutput: + """ + Sync skill plugin + Forces a skill plugin sync. + + :param skill_plugin_id: str + :return: DashboardInstanceSkillsPluginsSyncOutput + """ + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id, 'sync'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsSyncOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_plugins_skills.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_plugins_skills.py new file mode 100644 index 00000000..81feec0b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_plugins_skills.py @@ -0,0 +1,163 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsPluginsSkillsListOutput, DashboardInstanceSkillsPluginsSkillsListOutput, mapDashboardInstanceSkillsPluginsSkillsListQuery, DashboardInstanceSkillsPluginsSkillsListQuery, mapDashboardInstanceSkillsPluginsSkillsAddOutput, DashboardInstanceSkillsPluginsSkillsAddOutput, mapDashboardInstanceSkillsPluginsSkillsAddBody, DashboardInstanceSkillsPluginsSkillsAddBody, mapDashboardInstanceSkillsPluginsSkillsGetOutput, DashboardInstanceSkillsPluginsSkillsGetOutput, mapDashboardInstanceSkillsPluginsSkillsUpdateOutput, DashboardInstanceSkillsPluginsSkillsUpdateOutput, mapDashboardInstanceSkillsPluginsSkillsUpdateBody, DashboardInstanceSkillsPluginsSkillsUpdateBody, mapDashboardInstanceSkillsPluginsSkillsRemoveOutput, DashboardInstanceSkillsPluginsSkillsRemoveOutput + +class MetorialSkillsPluginsSkillsEndpoint(BaseMetorialEndpoint): + """Manage skill links for skill plugins.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, skill_plugin_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, skill_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, skill_configuration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsPluginsSkillsListOutput: + """ + List skill plugin skills + Returns skills linked to a skill plugin. + + :param skill_plugin_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param skill_id: Optional[Union[str, List[str]]] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param skill_configuration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsPluginsSkillsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if skill_id is not None: + query_dict["skill_id"] = skill_id + if status is not None: + query_dict["status"] = status + if skill_configuration_id is not None: + query_dict["skill_configuration_id"] = skill_configuration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id, 'skills'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsSkillsListOutput.from_dict) + + def add(self, skill_plugin_id: str, *, skill_id: str, identifier: Optional[str] = None, client_name: Optional[str] = None, client_description: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, license: Optional[str] = None, compatibility: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsSkillsAddOutput: + """ + Add skill plugin skill + Adds a skill to a skill plugin. + + :param skill_plugin_id: str + :param skill_id: str + :param identifier: Optional[str] (optional) + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsSkillsAddOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["skill_id"] = skill_id + if identifier is not None: + body_dict["identifier"] = identifier + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id, 'skills'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsPluginsSkillsAddOutput.from_dict) + + def get(self, skill_plugin_id: str, skill_plugin_skill_id: str) -> DashboardInstanceSkillsPluginsSkillsGetOutput: + """ + Get skill plugin skill + Retrieves a skill plugin skill link. + + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :return: DashboardInstanceSkillsPluginsSkillsGetOutput + """ + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsPluginsSkillsGetOutput.from_dict) + + def update(self, skill_plugin_id: str, skill_plugin_skill_id: str, *, client_name: Optional[str] = None, client_description: Optional[str] = None, client_metadata: Optional[Dict[str, Any]] = None, license: Optional[str] = None, compatibility: Optional[str] = None, skill_configuration_id: Optional[str] = None) -> DashboardInstanceSkillsPluginsSkillsUpdateOutput: + """ + Update skill plugin skill + Updates a skill plugin skill link. + + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :param client_name: Optional[str] (optional) + :param client_description: Optional[str] (optional) + :param client_metadata: Optional[Dict[str, Any]] (optional) + :param license: Optional[str] (optional) + :param compatibility: Optional[str] (optional) + :param skill_configuration_id: Optional[str] (optional) + :return: DashboardInstanceSkillsPluginsSkillsUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if client_name is not None: + body_dict["client_name"] = client_name + if client_description is not None: + body_dict["client_description"] = client_description + if client_metadata is not None: + body_dict["client_metadata"] = client_metadata + if license is not None: + body_dict["license"] = license + if compatibility is not None: + body_dict["compatibility"] = compatibility + if skill_configuration_id is not None: + body_dict["skill_configuration_id"] = skill_configuration_id + + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsPluginsSkillsUpdateOutput.from_dict) + + def remove(self, skill_plugin_id: str, skill_plugin_skill_id: str) -> DashboardInstanceSkillsPluginsSkillsRemoveOutput: + """ + Remove skill plugin skill + Removes a skill from a skill plugin. + + :param skill_plugin_id: str + :param skill_plugin_skill_id: str + :return: DashboardInstanceSkillsPluginsSkillsRemoveOutput + """ + request = MetorialRequest( + path=['skill-plugins', skill_plugin_id, 'skills', skill_plugin_skill_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsPluginsSkillsRemoveOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_templates.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_templates.py new file mode 100644 index 00000000..f552f974 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_templates.py @@ -0,0 +1,143 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsTemplatesListOutput, DashboardInstanceSkillsTemplatesListOutput, mapDashboardInstanceSkillsTemplatesListQuery, DashboardInstanceSkillsTemplatesListQuery, mapDashboardInstanceSkillsTemplatesGetOutput, DashboardInstanceSkillsTemplatesGetOutput, mapDashboardInstanceSkillsTemplatesCreateOutput, DashboardInstanceSkillsTemplatesCreateOutput, mapDashboardInstanceSkillsTemplatesCreateBody, DashboardInstanceSkillsTemplatesCreateBody, mapDashboardInstanceSkillsTemplatesUpdateOutput, DashboardInstanceSkillsTemplatesUpdateOutput, mapDashboardInstanceSkillsTemplatesUpdateBody, DashboardInstanceSkillsTemplatesUpdateBody, mapDashboardInstanceSkillsTemplatesDeleteOutput, DashboardInstanceSkillsTemplatesDeleteOutput + +class MetorialSkillsTemplatesEndpoint(BaseMetorialEndpoint): + """Skill templates define reusable starting points for skills.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, owner: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, integration_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsTemplatesListOutput: + """ + List skill templates + Returns a paginated list of skill templates. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param search: Optional[str] (optional) + :param status: Optional[Union[str, List[str]]] (optional) + :param owner: Optional[Union[str, List[str]]] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param provider_id: Optional[Union[str, List[str]]] (optional) + :param integration_id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsTemplatesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if search is not None: + query_dict["search"] = search + if status is not None: + query_dict["status"] = status + if owner is not None: + query_dict["owner"] = owner + if id is not None: + query_dict["id"] = id + if provider_id is not None: + query_dict["provider_id"] = provider_id + if integration_id is not None: + query_dict["integration_id"] = integration_id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['skill-template'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesListOutput.from_dict) + + def get(self, skill_template_id: str) -> DashboardInstanceSkillsTemplatesGetOutput: + """ + Get skill template + Retrieves a specific skill template. + + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesGetOutput + """ + request = MetorialRequest( + path=['skill-template', skill_template_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesGetOutput.from_dict) + + def create(self, *, name: str, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, from_skill_id: Optional[str] = None) -> DashboardInstanceSkillsTemplatesCreateOutput: + """ + Create skill template + Creates a skill template. + + :param name: str + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :param from_skill_id: Optional[str] (optional) + :return: DashboardInstanceSkillsTemplatesCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + if from_skill_id is not None: + body_dict["from_skill_Id"] = from_skill_id + + request = MetorialRequest( + path=['skill-template'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceSkillsTemplatesCreateOutput.from_dict) + + def update(self, skill_template_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceSkillsTemplatesUpdateOutput: + """ + Update skill template + Updates a skill template. + + :param skill_template_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param metadata: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceSkillsTemplatesUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if metadata is not None: + body_dict["metadata"] = metadata + + request = MetorialRequest( + path=['skill-template', skill_template_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceSkillsTemplatesUpdateOutput.from_dict) + + def delete(self, skill_template_id: str) -> DashboardInstanceSkillsTemplatesDeleteOutput: + """ + Delete skill template + Archives a skill template. + + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesDeleteOutput + """ + request = MetorialRequest( + path=['skill-template', skill_template_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsTemplatesDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_templates_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_templates_items.py new file mode 100644 index 00000000..9ff0cc4e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_templates_items.py @@ -0,0 +1,82 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsTemplatesItemsListOutput, DashboardInstanceSkillsTemplatesItemsListOutput, mapDashboardInstanceSkillsTemplatesItemsListQuery, DashboardInstanceSkillsTemplatesItemsListQuery, mapDashboardInstanceSkillsTemplatesItemsGetOutput, DashboardInstanceSkillsTemplatesItemsGetOutput, mapDashboardInstanceSkillsTemplatesItemsCreateOutput, DashboardInstanceSkillsTemplatesItemsCreateOutput, mapDashboardInstanceSkillsTemplatesItemsCreateBody, DashboardInstanceSkillsTemplatesItemsCreateBody, mapDashboardInstanceSkillsTemplatesItemsDeleteOutput, DashboardInstanceSkillsTemplatesItemsDeleteOutput + +class MetorialSkillsTemplatesItemsEndpoint(BaseMetorialEndpoint): + """Skill template items link template definitions to provider and integration items.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, skill_template_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsTemplatesItemsListOutput: + """ + List skill template items + Returns a paginated list of items for a skill template. + + :param skill_template_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsTemplatesItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['skill-template', skill_template_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesItemsListOutput.from_dict) + + def get(self, skill_template_id: str, skill_template_item_id: str) -> DashboardInstanceSkillsTemplatesItemsGetOutput: + """ + Get skill template item + Retrieves a specific skill template item. + + :param skill_template_id: str + :param skill_template_item_id: str + :return: DashboardInstanceSkillsTemplatesItemsGetOutput + """ + request = MetorialRequest( + path=['skill-template', skill_template_id, 'items', skill_template_item_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsTemplatesItemsGetOutput.from_dict) + + def create(self, skill_template_id: str) -> DashboardInstanceSkillsTemplatesItemsCreateOutput: + """ + Create skill template item + Adds a provider or integration item to a skill template. + + :param skill_template_id: str + :return: DashboardInstanceSkillsTemplatesItemsCreateOutput + """ + request = MetorialRequest( + path=['skill-template', skill_template_id, 'items'] + ) + return self._post(request).transform(mapDashboardInstanceSkillsTemplatesItemsCreateOutput.from_dict) + + def delete(self, skill_template_id: str, skill_template_item_id: str) -> DashboardInstanceSkillsTemplatesItemsDeleteOutput: + """ + Delete skill template item + Deletes a skill template item. + + :param skill_template_id: str + :param skill_template_item_id: str + :return: DashboardInstanceSkillsTemplatesItemsDeleteOutput + """ + request = MetorialRequest( + path=['skill-template', skill_template_id, 'items', skill_template_item_id] + ) + return self._delete(request).transform(mapDashboardInstanceSkillsTemplatesItemsDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_versions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_versions.py new file mode 100644 index 00000000..0d5634cd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_versions.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsVersionsListOutput, DashboardInstanceSkillsVersionsListOutput, mapDashboardInstanceSkillsVersionsListQuery, DashboardInstanceSkillsVersionsListQuery, mapDashboardInstanceSkillsVersionsGetOutput, DashboardInstanceSkillsVersionsGetOutput + +class MetorialSkillsVersionsEndpoint(BaseMetorialEndpoint): + """Inspect version history and snapshots for a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, skill_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceSkillsVersionsListOutput: + """ + List skill versions + Returns a paginated list of versions for a specific skill. + + :param skill_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceSkillsVersionsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['skills', skill_id, 'versions'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsListOutput.from_dict) + + def get(self, skill_id: str, skill_version_id: str) -> DashboardInstanceSkillsVersionsGetOutput: + """ + Get skill version by ID + Retrieves a specific skill version by its ID. + + :param skill_id: str + :param skill_version_id: str + :return: DashboardInstanceSkillsVersionsGetOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'versions', skill_version_id] + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_versions_snapshot.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_versions_snapshot.py new file mode 100644 index 00000000..a635d112 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/skills_versions_snapshot.py @@ -0,0 +1,22 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceSkillsVersionsSnapshotGetOutput, DashboardInstanceSkillsVersionsSnapshotGetOutput + +class MetorialSkillsVersionsSnapshotEndpoint(BaseMetorialEndpoint): + """Inspect version history and snapshots for a skill.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, skill_id: str, skill_version_id: str) -> DashboardInstanceSkillsVersionsSnapshotGetOutput: + """ + Get skill version snapshot + Retrieves the store-backed snapshot for a specific skill version. + + :param skill_id: str + :param skill_version_id: str + :return: DashboardInstanceSkillsVersionsSnapshotGetOutput + """ + request = MetorialRequest( + path=['skills', skill_id, 'versions', skill_version_id, 'snapshot'] + ) + return self._get(request).transform(mapDashboardInstanceSkillsVersionsSnapshotGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores.py new file mode 100644 index 00000000..a5670f81 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores.py @@ -0,0 +1,125 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresListOutput, DashboardInstanceStoresListOutput, mapDashboardInstanceStoresListQuery, DashboardInstanceStoresListQuery, mapDashboardInstanceStoresCreateOutput, DashboardInstanceStoresCreateOutput, mapDashboardInstanceStoresCreateBody, DashboardInstanceStoresCreateBody, mapDashboardInstanceStoresGetOutput, DashboardInstanceStoresGetOutput, mapDashboardInstanceStoresUpdateOutput, DashboardInstanceStoresUpdateOutput, mapDashboardInstanceStoresUpdateBody, DashboardInstanceStoresUpdateBody, mapDashboardInstanceStoresDeleteOutput, DashboardInstanceStoresDeleteOutput + +class MetorialStoresEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceStoresListOutput: + """ + List stores + Returns a paginated list of stores owned by the instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceStoresListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['stores'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresListOutput.from_dict) + + def create(self, *, name: str, access: Optional[str] = None, template_id: Optional[str] = None, parent_id: Optional[str] = None) -> DashboardInstanceStoresCreateOutput: + """ + Create store + Creates a new store for the instance. + + :param name: str + :param access: Optional[str] (optional) + :param template_id: Optional[str] (optional) + :param parent_id: Optional[str] (optional) + :return: DashboardInstanceStoresCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + if access is not None: + body_dict["access"] = access + if template_id is not None: + body_dict["template_id"] = template_id + if parent_id is not None: + body_dict["parent_id"] = parent_id + + request = MetorialRequest( + path=['stores'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceStoresCreateOutput.from_dict) + + def get(self, store_id: str) -> DashboardInstanceStoresGetOutput: + """ + Get store by ID + Retrieves a store by its ID. + + :param store_id: str + :return: DashboardInstanceStoresGetOutput + """ + request = MetorialRequest( + path=['stores', store_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresGetOutput.from_dict) + + def update(self, store_id: str, *, name: Optional[str] = None, access: Optional[str] = None) -> DashboardInstanceStoresUpdateOutput: + """ + Update store by ID + Updates a specific store. + + :param store_id: str + :param name: Optional[str] (optional) + :param access: Optional[str] (optional) + :return: DashboardInstanceStoresUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if access is not None: + body_dict["access"] = access + + request = MetorialRequest( + path=['stores', store_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceStoresUpdateOutput.from_dict) + + def delete(self, store_id: str) -> DashboardInstanceStoresDeleteOutput: + """ + Delete store by ID + Deletes a specific store. + + :param store_id: str + :return: DashboardInstanceStoresDeleteOutput + """ + request = MetorialRequest( + path=['stores', store_id] + ) + return self._delete(request).transform(mapDashboardInstanceStoresDeleteOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_items.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_items.py new file mode 100644 index 00000000..26283e7e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_items.py @@ -0,0 +1,92 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresItemsModifyOutput, DashboardInstanceStoresItemsModifyOutput, mapDashboardInstanceStoresItemsModifyBody, DashboardInstanceStoresItemsModifyBody, mapDashboardInstanceStoresItemsListOutput, DashboardInstanceStoresItemsListOutput, mapDashboardInstanceStoresItemsListQuery, DashboardInstanceStoresItemsListQuery, mapDashboardInstanceStoresItemsGetOutput, DashboardInstanceStoresItemsGetOutput + +class MetorialStoresItemsEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def modify(self, store_id: str, *, operations: List[Dict[str, Any]]) -> DashboardInstanceStoresItemsModifyOutput: + """ + Modify store items + Applies bulk item operations to a specific store. + + :param store_id: str + :param operations: List[Dict[str, Any]] + :return: DashboardInstanceStoresItemsModifyOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["operations"] = operations + + request = MetorialRequest( + path=['stores', store_id, 'items'], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceStoresItemsModifyOutput.from_dict) + + def list(self, store_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, file_id: Optional[Union[str, List[str]]] = None, document_id: Optional[Union[str, List[str]]] = None, type: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceStoresItemsListOutput: + """ + List store items + Returns a paginated list of items for a specific store. + + :param store_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param id: Optional[Union[str, List[str]]] (optional) + :param file_id: Optional[Union[str, List[str]]] (optional) + :param document_id: Optional[Union[str, List[str]]] (optional) + :param type: Optional[Union[str, List[str]]] (optional) + :param created_at: Optional[Dict[str, Any]] (optional) + :param updated_at: Optional[Dict[str, Any]] (optional) + :return: DashboardInstanceStoresItemsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if id is not None: + query_dict["id"] = id + if file_id is not None: + query_dict["file_id"] = file_id + if document_id is not None: + query_dict["document_id"] = document_id + if type is not None: + query_dict["type"] = type + if created_at is not None: + query_dict["created_at"] = created_at + if updated_at is not None: + query_dict["updated_at"] = updated_at + + request = MetorialRequest( + path=['stores', store_id, 'items'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresItemsListOutput.from_dict) + + def get(self, store_id: str, item_id: str) -> DashboardInstanceStoresItemsGetOutput: + """ + Get store item by ID + Retrieves a specific item within a store. + + :param store_id: str + :param item_id: str + :return: DashboardInstanceStoresItemsGetOutput + """ + request = MetorialRequest( + path=['stores', store_id, 'items', item_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresItemsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_participants.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_participants.py new file mode 100644 index 00000000..86eff759 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_participants.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresParticipantsListOutput, DashboardInstanceStoresParticipantsListOutput, mapDashboardInstanceStoresParticipantsListQuery, DashboardInstanceStoresParticipantsListQuery, mapDashboardInstanceStoresParticipantsGetOutput, DashboardInstanceStoresParticipantsGetOutput + +class MetorialStoresParticipantsEndpoint(BaseMetorialEndpoint): + """Inspect participants assigned to an instance store.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, store_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceStoresParticipantsListOutput: + """ + List store participants + Returns a paginated list of participants for a specific store. + + :param store_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceStoresParticipantsListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['stores', store_id, 'participants'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceStoresParticipantsListOutput.from_dict) + + def get(self, store_id: str, store_participant_id: str) -> DashboardInstanceStoresParticipantsGetOutput: + """ + Get store participant by ID + Retrieves a specific participant within a store. + + :param store_id: str + :param store_participant_id: str + :return: DashboardInstanceStoresParticipantsGetOutput + """ + request = MetorialRequest( + path=['stores', store_id, 'participants', store_participant_id] + ) + return self._get(request).transform(mapDashboardInstanceStoresParticipantsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_permissions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_permissions.py new file mode 100644 index 00000000..fca57601 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/stores_permissions.py @@ -0,0 +1,21 @@ +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceStoresPermissionsGetOutput, DashboardInstanceStoresPermissionsGetOutput + +class MetorialStoresPermissionsEndpoint(BaseMetorialEndpoint): + """Create and manage instance stores backed by Cargo.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def get(self, store_id: str) -> DashboardInstanceStoresPermissionsGetOutput: + """ + Get store permissions + Returns the effective Cargo permissions for the current actor on a specific store. + + :param store_id: str + :return: DashboardInstanceStoresPermissionsGetOutput + """ + request = MetorialRequest( + path=['stores', store_id, 'permissions'] + ) + return self._get(request).transform(mapDashboardInstanceStoresPermissionsGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/test_helpers_consumer_oauth_authorizations.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/test_helpers_consumer_oauth_authorizations.py new file mode 100644 index 00000000..a6c59ee3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/test_helpers_consumer_oauth_authorizations.py @@ -0,0 +1,33 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapTestHelpersConsumerOauthAuthorizationsCreateOutput, TestHelpersConsumerOauthAuthorizationsCreateOutput, mapTestHelpersConsumerOauthAuthorizationsCreateBody, TestHelpersConsumerOauthAuthorizationsCreateBody + +class MetorialTestHelpersConsumerOauthAuthorizationsEndpoint(BaseMetorialEndpoint): + """Helpers for testing consumer OAuth flows.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def create(self, *, instance_id: str, url: str, consumer_profile_id: str, magic_mcp_endpoint_id: str) -> TestHelpersConsumerOauthAuthorizationsCreateOutput: + """ + Create consumer OAuth test authorization + Creates a single-use test authorization token for a consumer OAuth authorize URL. + + :param instance_id: str + :param url: str + :param consumer_profile_id: str + :param magic_mcp_endpoint_id: str + :return: TestHelpersConsumerOauthAuthorizationsCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["instance_id"] = instance_id + body_dict["url"] = url + body_dict["consumer_profile_id"] = consumer_profile_id + body_dict["magic_mcp_endpoint_id"] = magic_mcp_endpoint_id + + request = MetorialRequest( + path=['test-helpers', 'consumer-oauth-authorizations'], + body=body_dict + ) + return self._post(request).transform(mapTestHelpersConsumerOauthAuthorizationsCreateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/tool_calls.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/tool_calls.py index 6bb09ed0..bbd14434 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/tool_calls.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/tool_calls.py @@ -8,7 +8,7 @@ class MetorialToolCallsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, tool_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceToolCallsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, session_template_id: Optional[Union[str, List[str]]] = None, session_provider_id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_id: Optional[Union[str, List[str]]] = None, provider_auth_config_id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, agent_instance_id: Optional[Union[str, List[str]]] = None, tool_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceToolCallsListOutput: """ List all tool calls Returns a paginated list of tool calls across all sessions. @@ -24,6 +24,11 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_config_id: Optional[Union[str, List[str]]] (optional) + :param agent_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param agent_instance_id: Optional[Union[str, List[str]]] (optional) :param tool_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -53,6 +58,16 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_config_id"] = provider_config_id if provider_auth_config_id is not None: query_dict["provider_auth_config_id"] = provider_auth_config_id + if agent_id is not None: + query_dict["agent_id"] = agent_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if agent_instance_id is not None: + query_dict["agent_instance_id"] = agent_instance_id if tool_id is not None: query_dict["tool_id"] = tool_id if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/__init__.py index c99a0918..04052223 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/__init__.py @@ -1,15 +1,19 @@ +from .agents import * +from .assistants import * from .callbacks import * from .consumer import * from .consumer_surfaces import * from .consumers import * +from .conversations import * from .custom_providers import * from .dashboard import * -from .file_links import * +from .documents import * from .files import * from .identities import * from .identity_actors import * from .instance import * from .instances import * +from .integrations import * from .magic_mcp_endpoints import * from .magic_mcp_groups import * from .magic_mcp_servers import * @@ -28,5 +32,8 @@ from .publishers import * from .session_templates import * from .sessions import * +from .skills import * +from .stores import * +from .test_helpers import * from .token import * from .tool_calls import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/__init__.py new file mode 100644 index 00000000..b677ea98 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .instances import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/get.py new file mode 100644 index 00000000..c30d82f5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/get.py @@ -0,0 +1,48 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class AgentsGetOutput: + object: str + id: str + type: str + status: str + name: str + slug: str + actor_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapAgentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsGetOutput: + return AgentsGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + metadata=data.get('metadata'), + actor_id=data.get('actor_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/get.py new file mode 100644 index 00000000..e82307d1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/get.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class AgentsInstancesGetOutputAgentClient: + object: str + id: str + type: str + name: str + created_at: datetime + updated_at: datetime + last_connected_at: Optional[datetime] = None +@dataclass +class AgentsInstancesGetOutput: + object: str + id: str + type: str + name: str + agent_id: str + created_at: datetime + updated_at: datetime + version: Optional[str] = None + description: Optional[str] = None + agent_client: Optional[AgentsInstancesGetOutputAgentClient] = None + last_connected_at: Optional[datetime] = None + + +class mapAgentsInstancesGetOutputAgentClient: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsInstancesGetOutputAgentClient: + return AgentsInstancesGetOutputAgentClient( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsInstancesGetOutputAgentClient, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAgentsInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsInstancesGetOutput: + return AgentsInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + version=data.get('version'), + description=data.get('description'), + agent_id=data.get('agent_id'), + agent_client=mapAgentsInstancesGetOutputAgentClient.from_dict(data.get('agent_client')) if data.get('agent_client') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/list.py new file mode 100644 index 00000000..f39bdb39 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/instances/list.py @@ -0,0 +1,163 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class AgentsInstancesListOutputItemsAgentClient: + object: str + id: str + type: str + name: str + created_at: datetime + updated_at: datetime + last_connected_at: Optional[datetime] = None +@dataclass +class AgentsInstancesListOutputItems: + object: str + id: str + type: str + name: str + agent_id: str + created_at: datetime + updated_at: datetime + version: Optional[str] = None + description: Optional[str] = None + agent_client: Optional[AgentsInstancesListOutputItemsAgentClient] = None + last_connected_at: Optional[datetime] = None +@dataclass +class AgentsInstancesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class AgentsInstancesListOutput: + items: List[AgentsInstancesListOutputItems] + pagination: AgentsInstancesListOutputPagination + + +class mapAgentsInstancesListOutputItemsAgentClient: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsInstancesListOutputItemsAgentClient: + return AgentsInstancesListOutputItemsAgentClient( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsInstancesListOutputItemsAgentClient, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAgentsInstancesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsInstancesListOutputItems: + return AgentsInstancesListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + version=data.get('version'), + description=data.get('description'), + agent_id=data.get('agent_id'), + agent_client=mapAgentsInstancesListOutputItemsAgentClient.from_dict(data.get('agent_client')) if data.get('agent_client') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsInstancesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAgentsInstancesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsInstancesListOutputPagination: + return AgentsInstancesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[AgentsInstancesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAgentsInstancesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsInstancesListOutput: + return AgentsInstancesListOutput( + items=[mapAgentsInstancesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapAgentsInstancesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsInstancesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class AgentsInstancesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class AgentsInstancesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class AgentsInstancesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + agent_client_id: Optional[Union[str, List[str]]] = None + created_at: Optional[AgentsInstancesListQueryCreatedAt] = None + updated_at: Optional[AgentsInstancesListQueryUpdatedAt] = None + + +class mapAgentsInstancesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsInstancesListQuery: + return AgentsInstancesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + type=data.get('type'), + id=data.get('id'), + agent_client_id=data.get('agent_client_id'), + created_at=mapAgentsInstancesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapAgentsInstancesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsInstancesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/list.py new file mode 100644 index 00000000..a42ee0ba --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/agents/list.py @@ -0,0 +1,137 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class AgentsListOutputItems: + object: str + id: str + type: str + status: str + name: str + slug: str + actor_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class AgentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class AgentsListOutput: + items: List[AgentsListOutputItems] + pagination: AgentsListOutputPagination + + +class mapAgentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsListOutputItems: + return AgentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + metadata=data.get('metadata'), + actor_id=data.get('actor_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAgentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsListOutputPagination: + return AgentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[AgentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAgentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsListOutput: + return AgentsListOutput( + items=[mapAgentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapAgentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class AgentsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class AgentsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class AgentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[AgentsListQueryCreatedAt] = None + updated_at: Optional[AgentsListQueryUpdatedAt] = None + + +class mapAgentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AgentsListQuery: + return AgentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + type=data.get('type'), + id=data.get('id'), + created_at=mapAgentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapAgentsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[AgentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/get.py new file mode 100644 index 00000000..277c6b20 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/get.py @@ -0,0 +1,152 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class AssistantsGetOutputDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class AssistantsGetOutputDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: AssistantsGetOutputDefaultModelProvider +@dataclass +class AssistantsGetOutputAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class AssistantsGetOutputAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: AssistantsGetOutputAvailableModelsProvider +@dataclass +class AssistantsGetOutput: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[AssistantsGetOutputAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[AssistantsGetOutputDefaultModel] = None + + +class mapAssistantsGetOutputDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsGetOutputDefaultModelProvider: + return AssistantsGetOutputDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[AssistantsGetOutputDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsGetOutputDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsGetOutputDefaultModel: + return AssistantsGetOutputDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapAssistantsGetOutputDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[AssistantsGetOutputDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsGetOutputAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsGetOutputAvailableModelsProvider: + return AssistantsGetOutputAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[AssistantsGetOutputAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsGetOutputAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsGetOutputAvailableModels: + return AssistantsGetOutputAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapAssistantsGetOutputAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[AssistantsGetOutputAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsGetOutput: + return AssistantsGetOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapAssistantsGetOutputDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapAssistantsGetOutputAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[AssistantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/list.py new file mode 100644 index 00000000..a4e577fe --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/assistants/list.py @@ -0,0 +1,221 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class AssistantsListOutputItemsDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class AssistantsListOutputItemsDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: AssistantsListOutputItemsDefaultModelProvider +@dataclass +class AssistantsListOutputItemsAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class AssistantsListOutputItemsAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: AssistantsListOutputItemsAvailableModelsProvider +@dataclass +class AssistantsListOutputItems: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[AssistantsListOutputItemsAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[AssistantsListOutputItemsDefaultModel] = None +@dataclass +class AssistantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class AssistantsListOutput: + items: List[AssistantsListOutputItems] + pagination: AssistantsListOutputPagination + + +class mapAssistantsListOutputItemsDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsListOutputItemsDefaultModelProvider: + return AssistantsListOutputItemsDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[AssistantsListOutputItemsDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsListOutputItemsDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsListOutputItemsDefaultModel: + return AssistantsListOutputItemsDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapAssistantsListOutputItemsDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[AssistantsListOutputItemsDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsListOutputItemsAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsListOutputItemsAvailableModelsProvider: + return AssistantsListOutputItemsAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[AssistantsListOutputItemsAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsListOutputItemsAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsListOutputItemsAvailableModels: + return AssistantsListOutputItemsAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapAssistantsListOutputItemsAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[AssistantsListOutputItemsAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsListOutputItems: + return AssistantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapAssistantsListOutputItemsDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapAssistantsListOutputItemsAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[AssistantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsListOutputPagination: + return AssistantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[AssistantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapAssistantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsListOutput: + return AssistantsListOutput( + items=[mapAssistantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapAssistantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[AssistantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class AssistantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapAssistantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> AssistantsListQuery: + return AssistantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[AssistantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/callbacks/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/callbacks/instances/__init__.py index 6ad40c80..26672d14 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/callbacks/instances/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/callbacks/instances/__init__.py @@ -1,3 +1,4 @@ from .create import * from .delete import * +from .get import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/callbacks/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/callbacks/instances/get.py new file mode 100644 index 00000000..5984da10 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/callbacks/instances/get.py @@ -0,0 +1,258 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class CallbacksInstancesGetOutputDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class CallbacksInstancesGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class CallbacksInstancesGetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class CallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class CallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class CallbacksInstancesGetOutputTriggersProviderTrigger: + object: str + id: str + key: str + name: str + invocation: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[CallbacksInstancesGetOutputTriggersProviderTriggerInputSchema] = None + output_schema: Optional[CallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema] = None +@dataclass +class CallbacksInstancesGetOutputTriggers: + object: str + id: str + source: str + poll_interval_seconds: Optional[float] = None + next_poll_at: Optional[datetime] = None + last_polled_at: Optional[datetime] = None + webhook_url: Optional[str] = None + is_webhook_registered: Optional[bool] = None + provider_trigger: Optional[CallbacksInstancesGetOutputTriggersProviderTrigger] = None +@dataclass +class CallbacksInstancesGetOutput: + object: str + id: str + status: str + deployment: CallbacksInstancesGetOutputDeployment + config: CallbacksInstancesGetOutputConfig + triggers: List[CallbacksInstancesGetOutputTriggers] + created_at: datetime + updated_at: datetime + auth_config: Optional[CallbacksInstancesGetOutputAuthConfig] = None + + +class mapCallbacksInstancesGetOutputDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CallbacksInstancesGetOutputDeployment: + return CallbacksInstancesGetOutputDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[CallbacksInstancesGetOutputDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapCallbacksInstancesGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CallbacksInstancesGetOutputConfig: + return CallbacksInstancesGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[CallbacksInstancesGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapCallbacksInstancesGetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CallbacksInstancesGetOutputAuthConfig: + return CallbacksInstancesGetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[CallbacksInstancesGetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + return CallbacksInstancesGetOutputTriggersProviderTriggerInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[CallbacksInstancesGetOutputTriggersProviderTriggerInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + return CallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[CallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapCallbacksInstancesGetOutputTriggersProviderTrigger: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CallbacksInstancesGetOutputTriggersProviderTrigger: + return CallbacksInstancesGetOutputTriggersProviderTrigger( + object=data.get('object'), + id=data.get('id'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + input_schema=mapCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + invocation=data.get('invocation'), + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[CallbacksInstancesGetOutputTriggersProviderTrigger, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapCallbacksInstancesGetOutputTriggers: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CallbacksInstancesGetOutputTriggers: + return CallbacksInstancesGetOutputTriggers( + object=data.get('object'), + id=data.get('id'), + source=data.get('source'), + poll_interval_seconds=data.get('poll_interval_seconds'), + next_poll_at=datetime.fromisoformat(data.get('next_poll_at').replace('Z', '+00:00')) if data.get('next_poll_at') else None, + last_polled_at=datetime.fromisoformat(data.get('last_polled_at').replace('Z', '+00:00')) if data.get('last_polled_at') else None, + webhook_url=data.get('webhook_url'), + is_webhook_registered=data.get('is_webhook_registered'), + provider_trigger=mapCallbacksInstancesGetOutputTriggersProviderTrigger.from_dict(data.get('provider_trigger')) if data.get('provider_trigger') else None + ) + + @staticmethod + def to_dict(value: Union[CallbacksInstancesGetOutputTriggers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapCallbacksInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CallbacksInstancesGetOutput: + return CallbacksInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + deployment=mapCallbacksInstancesGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapCallbacksInstancesGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapCallbacksInstancesGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + triggers=[mapCallbacksInstancesGetOutputTriggers.from_dict(item) for item in data.get('triggers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[CallbacksInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/accept.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/accept.py index 6a6e9491..29af7b84 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/accept.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/accept.py @@ -3,6 +3,16 @@ from datetime import datetime import dataclasses +@dataclass +class ConsumerConsumerInternalOauthAuthorizationsAcceptOutputSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None +@dataclass +class ConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClientSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None @dataclass class ConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClient: object: str @@ -11,10 +21,11 @@ class ConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClient: client_id: str redirect_uris: List[str] token_endpoint_auth_method: str - consumer_surface_id: str created_at: datetime expires_at: datetime portal_id: Optional[str] = None + consumer_surface_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClientSkillPlugin] = None magic_mcp_server_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None @dataclass @@ -23,6 +34,7 @@ class ConsumerConsumerInternalOauthAuthorizationsAcceptOutput: id: str status: str redirect_uri: str + skill_plugin_supported_provider_ids: List[str] created_at: datetime updated_at: datetime expires_at: datetime @@ -30,10 +42,45 @@ class ConsumerConsumerInternalOauthAuthorizationsAcceptOutput: redirect_url: Optional[str] = None consumer_profile_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthAuthorizationsAcceptOutputSkillPlugin] = None authorized_at: Optional[datetime] = None denied_at: Optional[datetime] = None +class mapConsumerConsumerInternalOauthAuthorizationsAcceptOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsAcceptOutputSkillPlugin: + return ConsumerConsumerInternalOauthAuthorizationsAcceptOutputSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthAuthorizationsAcceptOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClientSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClientSkillPlugin: + return ConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClientSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClientSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClient: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClient: @@ -46,6 +93,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizatio token_endpoint_auth_method=data.get('token_endpoint_auth_method'), portal_id=data.get('portal_id'), consumer_surface_id=data.get('consumer_surface_id'), + skill_plugin=mapConsumerConsumerInternalOauthAuthorizationsAcceptOutputOauthClientSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, magic_mcp_server_id=data.get('magic_mcp_server_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -71,6 +119,8 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizatio redirect_url=data.get('redirect_url'), consumer_profile_id=data.get('consumer_profile_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), + skill_plugin=mapConsumerConsumerInternalOauthAuthorizationsAcceptOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + skill_plugin_supported_provider_ids=data.get('skill_plugin_supported_provider_ids', []), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/connect_magic_mcp_endpoint.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/connect_magic_mcp_endpoint.py index c4b943c2..df1e8a80 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/connect_magic_mcp_endpoint.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/connect_magic_mcp_endpoint.py @@ -3,6 +3,16 @@ from datetime import datetime import dataclasses +@dataclass +class ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None +@dataclass +class ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClientSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None @dataclass class ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClient: object: str @@ -11,10 +21,11 @@ class ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOa client_id: str redirect_uris: List[str] token_endpoint_auth_method: str - consumer_surface_id: str created_at: datetime expires_at: datetime portal_id: Optional[str] = None + consumer_surface_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClientSkillPlugin] = None magic_mcp_server_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None @dataclass @@ -23,6 +34,7 @@ class ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutput: id: str status: str redirect_uri: str + skill_plugin_supported_provider_ids: List[str] created_at: datetime updated_at: datetime expires_at: datetime @@ -30,10 +42,45 @@ class ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutput: redirect_url: Optional[str] = None consumer_profile_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputSkillPlugin] = None authorized_at: Optional[datetime] = None denied_at: Optional[datetime] = None +class mapConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputSkillPlugin: + return ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClientSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClientSkillPlugin: + return ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClientSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClientSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClient: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClient: @@ -46,6 +93,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizatio token_endpoint_auth_method=data.get('token_endpoint_auth_method'), portal_id=data.get('portal_id'), consumer_surface_id=data.get('consumer_surface_id'), + skill_plugin=mapConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputOauthClientSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, magic_mcp_server_id=data.get('magic_mcp_server_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -71,6 +119,8 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizatio redirect_url=data.get('redirect_url'), consumer_profile_id=data.get('consumer_profile_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), + skill_plugin=mapConsumerConsumerInternalOauthAuthorizationsConnectMagicMcpEndpointOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + skill_plugin_supported_provider_ids=data.get('skill_plugin_supported_provider_ids', []), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/get.py index 9da96b8a..51e03d30 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/get.py @@ -3,6 +3,16 @@ from datetime import datetime import dataclasses +@dataclass +class ConsumerConsumerInternalOauthAuthorizationsGetOutputSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None +@dataclass +class ConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClientSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None @dataclass class ConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClient: object: str @@ -11,10 +21,11 @@ class ConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClient: client_id: str redirect_uris: List[str] token_endpoint_auth_method: str - consumer_surface_id: str created_at: datetime expires_at: datetime portal_id: Optional[str] = None + consumer_surface_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClientSkillPlugin] = None magic_mcp_server_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None @dataclass @@ -23,6 +34,7 @@ class ConsumerConsumerInternalOauthAuthorizationsGetOutput: id: str status: str redirect_uri: str + skill_plugin_supported_provider_ids: List[str] created_at: datetime updated_at: datetime expires_at: datetime @@ -30,10 +42,45 @@ class ConsumerConsumerInternalOauthAuthorizationsGetOutput: redirect_url: Optional[str] = None consumer_profile_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthAuthorizationsGetOutputSkillPlugin] = None authorized_at: Optional[datetime] = None denied_at: Optional[datetime] = None +class mapConsumerConsumerInternalOauthAuthorizationsGetOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsGetOutputSkillPlugin: + return ConsumerConsumerInternalOauthAuthorizationsGetOutputSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthAuthorizationsGetOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClientSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClientSkillPlugin: + return ConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClientSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClientSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClient: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClient: @@ -46,6 +93,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizatio token_endpoint_auth_method=data.get('token_endpoint_auth_method'), portal_id=data.get('portal_id'), consumer_surface_id=data.get('consumer_surface_id'), + skill_plugin=mapConsumerConsumerInternalOauthAuthorizationsGetOutputOauthClientSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, magic_mcp_server_id=data.get('magic_mcp_server_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -71,6 +119,8 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizatio redirect_url=data.get('redirect_url'), consumer_profile_id=data.get('consumer_profile_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), + skill_plugin=mapConsumerConsumerInternalOauthAuthorizationsGetOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + skill_plugin_supported_provider_ids=data.get('skill_plugin_supported_provider_ids', []), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/reject.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/reject.py index 9f116ab4..5dbd0f9a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/reject.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/authorizations/reject.py @@ -3,6 +3,16 @@ from datetime import datetime import dataclasses +@dataclass +class ConsumerConsumerInternalOauthAuthorizationsRejectOutputSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None +@dataclass +class ConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClientSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None @dataclass class ConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClient: object: str @@ -11,10 +21,11 @@ class ConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClient: client_id: str redirect_uris: List[str] token_endpoint_auth_method: str - consumer_surface_id: str created_at: datetime expires_at: datetime portal_id: Optional[str] = None + consumer_surface_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClientSkillPlugin] = None magic_mcp_server_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None @dataclass @@ -23,6 +34,7 @@ class ConsumerConsumerInternalOauthAuthorizationsRejectOutput: id: str status: str redirect_uri: str + skill_plugin_supported_provider_ids: List[str] created_at: datetime updated_at: datetime expires_at: datetime @@ -30,10 +42,45 @@ class ConsumerConsumerInternalOauthAuthorizationsRejectOutput: redirect_url: Optional[str] = None consumer_profile_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthAuthorizationsRejectOutputSkillPlugin] = None authorized_at: Optional[datetime] = None denied_at: Optional[datetime] = None +class mapConsumerConsumerInternalOauthAuthorizationsRejectOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsRejectOutputSkillPlugin: + return ConsumerConsumerInternalOauthAuthorizationsRejectOutputSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthAuthorizationsRejectOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClientSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClientSkillPlugin: + return ConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClientSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClientSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClient: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClient: @@ -46,6 +93,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizatio token_endpoint_auth_method=data.get('token_endpoint_auth_method'), portal_id=data.get('portal_id'), consumer_surface_id=data.get('consumer_surface_id'), + skill_plugin=mapConsumerConsumerInternalOauthAuthorizationsRejectOutputOauthClientSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, magic_mcp_server_id=data.get('magic_mcp_server_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -71,6 +119,8 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthAuthorizatio redirect_url=data.get('redirect_url'), consumer_profile_id=data.get('consumer_profile_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), + skill_plugin=mapConsumerConsumerInternalOauthAuthorizationsRejectOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + skill_plugin_supported_provider_ids=data.get('skill_plugin_supported_provider_ids', []), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/clients/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/clients/get.py index 437bef8c..656051c0 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/clients/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/consumer_internal/oauth/clients/get.py @@ -3,6 +3,11 @@ from datetime import datetime import dataclasses +@dataclass +class ConsumerConsumerInternalOauthClientsGetOutputSkillPlugin: + id: str + name: Optional[str] = None + slug: Optional[str] = None @dataclass class ConsumerConsumerInternalOauthClientsGetOutput: object: str @@ -11,14 +16,32 @@ class ConsumerConsumerInternalOauthClientsGetOutput: client_id: str redirect_uris: List[str] token_endpoint_auth_method: str - consumer_surface_id: str created_at: datetime expires_at: datetime portal_id: Optional[str] = None + consumer_surface_id: Optional[str] = None + skill_plugin: Optional[ConsumerConsumerInternalOauthClientsGetOutputSkillPlugin] = None magic_mcp_server_id: Optional[str] = None magic_mcp_endpoint_id: Optional[str] = None +class mapConsumerConsumerInternalOauthClientsGetOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthClientsGetOutputSkillPlugin: + return ConsumerConsumerInternalOauthClientsGetOutputSkillPlugin( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug') + ) + + @staticmethod + def to_dict(value: Union[ConsumerConsumerInternalOauthClientsGetOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapConsumerConsumerInternalOauthClientsGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthClientsGetOutput: @@ -31,6 +54,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumerConsumerInternalOauthClientsGetOu token_endpoint_auth_method=data.get('token_endpoint_auth_method'), portal_id=data.get('portal_id'), consumer_surface_id=data.get('consumer_surface_id'), + skill_plugin=mapConsumerConsumerInternalOauthClientsGetOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, magic_mcp_server_id=data.get('magic_mcp_server_id'), magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/profile/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/profile/get.py index 2a87f744..98ad376f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/profile/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/profile/get.py @@ -33,46 +33,6 @@ class ConsumerProfileGetOutput: groups: Optional[List[ConsumerProfileGetOutputGroups]] = None -class mapConsumerProfileGetOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProfileGetOutputGroupsGroup: - return ConsumerProfileGetOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumerProfileGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProfileGetOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProfileGetOutputGroups: - return ConsumerProfileGetOutputGroups( - object=data.get('object'), - group=mapConsumerProfileGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProfileGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapConsumerProfileGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerProfileGetOutput: @@ -82,11 +42,11 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProfileGetOutput: name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - groups=[mapConsumerProfileGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), status=data.get('status'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapConsumerProfileGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/deploy.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/deploy.py index 7fbe5284..97f513b1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/deploy.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/deploy.py @@ -9,12 +9,122 @@ class ConsumerProvidersDeployOutputEndpoints: alias: str url: str @dataclass +class ConsumerProvidersDeployOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ConsumerProvidersDeployOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ConsumerProvidersDeployOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ConsumerProvidersDeployOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ConsumerProvidersDeployOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ConsumerProvidersDeployOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ConsumerProvidersDeployOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[ConsumerProvidersDeployOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[ConsumerProvidersDeployOutputProvidersAuthMethodScopes]] = None +@dataclass +class ConsumerProvidersDeployOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class ConsumerProvidersDeployOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ConsumerProvidersDeployOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ConsumerProvidersDeployOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ConsumerProvidersDeployOutputProvidersProvider + deployment: ConsumerProvidersDeployOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ConsumerProvidersDeployOutputProvidersAuthMethod] = None + auth_credentials: Optional[ConsumerProvidersDeployOutputProvidersAuthCredentials] = None + config: Optional[ConsumerProvidersDeployOutputProvidersConfig] = None + auth_config: Optional[ConsumerProvidersDeployOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class ConsumerProvidersDeployOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[ConsumerProvidersDeployOutputEndpoints] + providers: List[ConsumerProvidersDeployOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[ConsumerProvidersDeployOutputEndpoints, Dict[str, Any], return value return dataclasses.asdict(value) +class mapConsumerProvidersDeployOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersProvider: + return ConsumerProvidersDeployOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersDeployment: + return ConsumerProvidersDeployOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersAuthMethodInputSchema: + return ConsumerProvidersDeployOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersAuthMethodOutputSchema: + return ConsumerProvidersDeployOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersAuthMethodScopes: + return ConsumerProvidersDeployOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersAuthMethod: + return ConsumerProvidersDeployOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapConsumerProvidersDeployOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapConsumerProvidersDeployOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapConsumerProvidersDeployOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersAuthCredentials: + return ConsumerProvidersDeployOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersConfig: + return ConsumerProvidersDeployOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProvidersAuthConfig: + return ConsumerProvidersDeployOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerProvidersDeployOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutputProviders: + return ConsumerProvidersDeployOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapConsumerProvidersDeployOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapConsumerProvidersDeployOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapConsumerProvidersDeployOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapConsumerProvidersDeployOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapConsumerProvidersDeployOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapConsumerProvidersDeployOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerProvidersDeployOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapConsumerProvidersDeployOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployOutput: id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapConsumerProvidersDeployOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapConsumerProvidersDeployOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -68,11 +408,10 @@ def to_dict(value: Union[ConsumerProvidersDeployOutput, Dict[str, Any], None]) - @dataclass class ConsumerProvidersDeployBody: + integration_setup_session_id: str name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - config: Optional[Dict[str, Any]] = None - auth: Optional[Dict[str, Any]] = None class mapConsumerProvidersDeployBody: @@ -82,8 +421,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersDeployBody: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - config=data.get('config'), - auth=data.get('auth') + integration_setup_session_id=data.get('integration_setup_session_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/get_setup.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/get_setup.py index 00c874cc..be11778f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/get_setup.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/get_setup.py @@ -4,64 +4,25 @@ import dataclasses @dataclass -class ConsumerProvidersGetSetupOutputAuthMethodInputSchema: +class ConsumerProvidersGetSetupOutputIntegrationInstanceImplementation: type: str - schema: Dict[str, Any] + magic_mcp_server_id: str @dataclass -class ConsumerProvidersGetSetupOutputAuthMethodOutputSchema: - type: str - schema: Dict[str, Any] -@dataclass -class ConsumerProvidersGetSetupOutputAuthMethodScopes: - object: str - id: str - scope: str - name: str - description: Optional[str] = None -@dataclass -class ConsumerProvidersGetSetupOutputAuthMethod: +class ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersProvider: object: str id: str - type: str - key: str name: str - capabilities: Dict[str, Any] - provider_id: str - provider_specification_id: str + slug: str created_at: datetime updated_at: datetime description: Optional[str] = None - input_schema: Optional[ConsumerProvidersGetSetupOutputAuthMethodInputSchema] = None - output_schema: Optional[ConsumerProvidersGetSetupOutputAuthMethodOutputSchema] = None - scopes: Optional[List[ConsumerProvidersGetSetupOutputAuthMethodScopes]] = None @dataclass -class ConsumerProvidersGetSetupOutputDeployment: +class ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: object: str id: str - is_default: bool - provider_id: str - created_at: datetime - updated_at: datetime - name: Optional[str] = None - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None -@dataclass -class ConsumerProvidersGetSetupOutputCredentials: - object: str - id: str - type: str - status: str - is_default: bool - is_managed: bool - provider_id: str - created_at: datetime - updated_at: datetime - name: Optional[str] = None - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None - scopes: Optional[List[str]] = None + index: float @dataclass -class ConsumerProvidersGetSetupOutputAuthConfigDeployment: +class ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig: object: str id: str is_default: bool @@ -72,71 +33,25 @@ class ConsumerProvidersGetSetupOutputAuthConfigDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass -class ConsumerProvidersGetSetupOutputAuthConfigCredentials: +class ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProvider: object: str id: str - type: str + provider_version: ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion status: str - is_default: bool - is_managed: bool - provider_id: str - created_at: datetime - updated_at: datetime - name: Optional[str] = None - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None - scopes: Optional[List[str]] = None -@dataclass -class ConsumerProvidersGetSetupOutputAuthConfigAuthMethodInputSchema: - type: str - schema: Dict[str, Any] -@dataclass -class ConsumerProvidersGetSetupOutputAuthConfigAuthMethodOutputSchema: - type: str - schema: Dict[str, Any] -@dataclass -class ConsumerProvidersGetSetupOutputAuthConfigAuthMethodScopes: - object: str - id: str - scope: str name: str - description: Optional[str] = None -@dataclass -class ConsumerProvidersGetSetupOutputAuthConfigAuthMethod: - object: str - id: str - type: str - key: str - name: str - capabilities: Dict[str, Any] - provider_id: str - provider_specification_id: str - created_at: datetime - updated_at: datetime - description: Optional[str] = None - input_schema: Optional[ConsumerProvidersGetSetupOutputAuthConfigAuthMethodInputSchema] = None - output_schema: Optional[ConsumerProvidersGetSetupOutputAuthConfigAuthMethodOutputSchema] = None - scopes: Optional[List[ConsumerProvidersGetSetupOutputAuthConfigAuthMethodScopes]] = None -@dataclass -class ConsumerProvidersGetSetupOutputAuthConfig: - object: str - id: str - type: str - source: str - status: str - is_default: bool provider_id: str - tool_filter: Dict[str, Any] - auth_method: ConsumerProvidersGetSetupOutputAuthConfigAuthMethod + deployment_id: str created_at: datetime updated_at: datetime - name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - deployment: Optional[ConsumerProvidersGetSetupOutputAuthConfigDeployment] = None - credentials: Optional[ConsumerProvidersGetSetupOutputAuthConfigCredentials] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None @dataclass -class ConsumerProvidersGetSetupOutputConfigDeployment: +class ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersConfig: object: str id: str is_default: bool @@ -147,7 +62,7 @@ class ConsumerProvidersGetSetupOutputConfigDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass -class ConsumerProvidersGetSetupOutputConfigFromVaultDeployment: +class ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersAuthConfig: object: str id: str is_default: bool @@ -158,41 +73,48 @@ class ConsumerProvidersGetSetupOutputConfigFromVaultDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass -class ConsumerProvidersGetSetupOutputConfigFromVault: +class ConsumerProvidersGetSetupOutputIntegrationInstanceProviders: object: str id: str status: str name: str - provider_id: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersProvider + integration_provider: ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProvider created_at: datetime updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - deployment: Optional[ConsumerProvidersGetSetupOutputConfigFromVaultDeployment] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersConfig] = None + auth_config: Optional[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None @dataclass -class ConsumerProvidersGetSetupOutputConfig: +class ConsumerProvidersGetSetupOutputIntegrationInstance: object: str id: str status: str - is_default: bool - tool_filter: Dict[str, Any] - provider_id: str - specification_id: str + name: str + integration_id: str + providers: List[ConsumerProvidersGetSetupOutputIntegrationInstanceProviders] created_at: datetime updated_at: datetime - name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - deployment: Optional[ConsumerProvidersGetSetupOutputConfigDeployment] = None - from_vault: Optional[ConsumerProvidersGetSetupOutputConfigFromVault] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ConsumerProvidersGetSetupOutputIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None @dataclass class ConsumerProvidersGetSetupOutput: object: str id: str - type: str status: str url: str - ui_mode: str + integration_id: str + integration_instance: ConsumerProvidersGetSetupOutputIntegrationInstance created_at: datetime updated_at: datetime expires_at: datetime @@ -200,309 +122,120 @@ class ConsumerProvidersGetSetupOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None - provider_id: Optional[str] = None - identity_id: Optional[str] = None - identity_credential_id: Optional[str] = None - auth_method: Optional[ConsumerProvidersGetSetupOutputAuthMethod] = None - deployment: Optional[ConsumerProvidersGetSetupOutputDeployment] = None - credentials: Optional[ConsumerProvidersGetSetupOutputCredentials] = None - auth_config: Optional[ConsumerProvidersGetSetupOutputAuthConfig] = None - config: Optional[ConsumerProvidersGetSetupOutputConfig] = None redirect_url: Optional[str] = None -class mapConsumerProvidersGetSetupOutputAuthMethodInputSchema: +class mapConsumerProvidersGetSetupOutputIntegrationInstanceImplementation: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthMethodInputSchema: - return ConsumerProvidersGetSetupOutputAuthMethodInputSchema( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstanceImplementation: + return ConsumerProvidersGetSetupOutputIntegrationInstanceImplementation( type=data.get('type'), - schema=data.get('schema') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersGetSetupOutputAuthMethodOutputSchema: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthMethodOutputSchema: - return ConsumerProvidersGetSetupOutputAuthMethodOutputSchema( - type=data.get('type'), - schema=data.get('schema') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersGetSetupOutputAuthMethodScopes: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthMethodScopes: - return ConsumerProvidersGetSetupOutputAuthMethodScopes( - object=data.get('object'), - id=data.get('id'), - scope=data.get('scope'), - name=data.get('name'), - description=data.get('description') + magic_mcp_server_id=data.get('magic_mcp_server_id') ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersGetSetupOutputAuthMethod: +class mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersProvider: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthMethod: - return ConsumerProvidersGetSetupOutputAuthMethod( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersProvider: + return ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersProvider( object=data.get('object'), id=data.get('id'), - type=data.get('type'), - key=data.get('key'), name=data.get('name'), description=data.get('description'), - capabilities=data.get('capabilities'), - input_schema=mapConsumerProvidersGetSetupOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, - output_schema=mapConsumerProvidersGetSetupOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, - scopes=[mapConsumerProvidersGetSetupOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], - provider_id=data.get('provider_id'), - provider_specification_id=data.get('provider_specification_id'), + slug=data.get('slug'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersGetSetupOutputDeployment: +class mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputDeployment: - return ConsumerProvidersGetSetupOutputDeployment( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion( object=data.get('object'), id=data.get('id'), - is_default=data.get('is_default'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - provider_id=data.get('provider_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + index=data.get('index') ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersGetSetupOutputCredentials: +class mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputCredentials: - return ConsumerProvidersGetSetupOutputCredentials( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig: + return ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig( object=data.get('object'), id=data.get('id'), - type=data.get('type'), - status=data.get('status'), is_default=data.get('is_default'), - is_managed=data.get('is_managed'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - scopes=data.get('scopes', []), provider_id=data.get('provider_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersGetSetupOutputAuthConfigDeployment: +class mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProvider: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthConfigDeployment: - return ConsumerProvidersGetSetupOutputAuthConfigDeployment( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProvider: + return ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProvider( object=data.get('object'), id=data.get('id'), - is_default=data.get('is_default'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - provider_id=data.get('provider_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthConfigDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersGetSetupOutputAuthConfigCredentials: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthConfigCredentials: - return ConsumerProvidersGetSetupOutputAuthConfigCredentials( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), + provider_version=mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, status=data.get('status'), - is_default=data.get('is_default'), - is_managed=data.get('is_managed'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - scopes=data.get('scopes', []), - provider_id=data.get('provider_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthConfigCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersGetSetupOutputAuthConfigAuthMethodInputSchema: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthConfigAuthMethodInputSchema: - return ConsumerProvidersGetSetupOutputAuthConfigAuthMethodInputSchema( - type=data.get('type'), - schema=data.get('schema') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthConfigAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersGetSetupOutputAuthConfigAuthMethodOutputSchema: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthConfigAuthMethodOutputSchema: - return ConsumerProvidersGetSetupOutputAuthConfigAuthMethodOutputSchema( - type=data.get('type'), - schema=data.get('schema') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthConfigAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersGetSetupOutputAuthConfigAuthMethodScopes: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthConfigAuthMethodScopes: - return ConsumerProvidersGetSetupOutputAuthConfigAuthMethodScopes( - object=data.get('object'), - id=data.get('id'), - scope=data.get('scope'), - name=data.get('name'), - description=data.get('description') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthConfigAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersGetSetupOutputAuthConfigAuthMethod: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthConfigAuthMethod: - return ConsumerProvidersGetSetupOutputAuthConfigAuthMethod( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), - key=data.get('key'), - name=data.get('name'), - description=data.get('description'), - capabilities=data.get('capabilities'), - input_schema=mapConsumerProvidersGetSetupOutputAuthConfigAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, - output_schema=mapConsumerProvidersGetSetupOutputAuthConfigAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, - scopes=[mapConsumerProvidersGetSetupOutputAuthConfigAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], - provider_id=data.get('provider_id'), - provider_specification_id=data.get('provider_specification_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthConfigAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersGetSetupOutputAuthConfig: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputAuthConfig: - return ConsumerProvidersGetSetupOutputAuthConfig( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), - source=data.get('source'), - status=data.get('status'), - is_default=data.get('is_default'), - provider_id=data.get('provider_id'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), tool_filter=data.get('tool_filter'), - deployment=mapConsumerProvidersGetSetupOutputAuthConfigDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, - credentials=mapConsumerProvidersGetSetupOutputAuthConfigCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, - auth_method=mapConsumerProvidersGetSetupOutputAuthConfigAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersGetSetupOutputConfigDeployment: +class mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersConfig: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputConfigDeployment: - return ConsumerProvidersGetSetupOutputConfigDeployment( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersConfig: + return ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersConfig( object=data.get('object'), id=data.get('id'), is_default=data.get('is_default'), @@ -515,17 +248,17 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputConfigDepl ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputConfigDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersGetSetupOutputConfigFromVaultDeployment: +class mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersAuthConfig: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputConfigFromVaultDeployment: - return ConsumerProvidersGetSetupOutputConfigFromVaultDeployment( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersAuthConfig: + return ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersAuthConfig( object=data.get('object'), id=data.get('id'), is_default=data.get('is_default'), @@ -538,59 +271,66 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputConfigFrom ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputConfigFromVaultDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersGetSetupOutputConfigFromVault: +class mapConsumerProvidersGetSetupOutputIntegrationInstanceProviders: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputConfigFromVault: - return ConsumerProvidersGetSetupOutputConfigFromVault( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstanceProviders: + return ConsumerProvidersGetSetupOutputIntegrationInstanceProviders( object=data.get('object'), id=data.get('id'), status=data.get('status'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_id=data.get('provider_id'), - deployment=mapConsumerProvidersGetSetupOutputConfigFromVaultDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapConsumerProvidersGetSetupOutputIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputConfigFromVault, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersGetSetupOutputConfig: +class mapConsumerProvidersGetSetupOutputIntegrationInstance: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputConfig: - return ConsumerProvidersGetSetupOutputConfig( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutputIntegrationInstance: + return ConsumerProvidersGetSetupOutputIntegrationInstance( object=data.get('object'), id=data.get('id'), status=data.get('status'), - is_default=data.get('is_default'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), - specification_id=data.get('specification_id'), - deployment=mapConsumerProvidersGetSetupOutputConfigDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, - from_vault=mapConsumerProvidersGetSetupOutputConfigFromVault.from_dict(data.get('from_vault')) if data.get('from_vault') else None, + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapConsumerProvidersGetSetupOutputIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapConsumerProvidersGetSetupOutputIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersGetSetupOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersGetSetupOutputIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -603,23 +343,15 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutput: return ConsumerProvidersGetSetupOutput( object=data.get('object'), id=data.get('id'), - type=data.get('type'), status=data.get('status'), url=data.get('url'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), configuration=data.get('configuration'), - provider_id=data.get('provider_id'), - identity_id=data.get('identity_id'), - identity_credential_id=data.get('identity_credential_id'), - auth_method=mapConsumerProvidersGetSetupOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, - deployment=mapConsumerProvidersGetSetupOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, - credentials=mapConsumerProvidersGetSetupOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, - auth_config=mapConsumerProvidersGetSetupOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, - config=mapConsumerProvidersGetSetupOutputConfig.from_dict(data.get('config')) if data.get('config') else None, - ui_mode=data.get('ui_mode'), redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapConsumerProvidersGetSetupOutputIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/setup.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/setup.py index 84b0ffec..4de0c711 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/setup.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/setup.py @@ -4,64 +4,25 @@ import dataclasses @dataclass -class ConsumerProvidersSetupOutputAuthMethodInputSchema: +class ConsumerProvidersSetupOutputIntegrationInstanceImplementation: type: str - schema: Dict[str, Any] + magic_mcp_server_id: str @dataclass -class ConsumerProvidersSetupOutputAuthMethodOutputSchema: - type: str - schema: Dict[str, Any] -@dataclass -class ConsumerProvidersSetupOutputAuthMethodScopes: - object: str - id: str - scope: str - name: str - description: Optional[str] = None -@dataclass -class ConsumerProvidersSetupOutputAuthMethod: +class ConsumerProvidersSetupOutputIntegrationInstanceProvidersProvider: object: str id: str - type: str - key: str name: str - capabilities: Dict[str, Any] - provider_id: str - provider_specification_id: str + slug: str created_at: datetime updated_at: datetime description: Optional[str] = None - input_schema: Optional[ConsumerProvidersSetupOutputAuthMethodInputSchema] = None - output_schema: Optional[ConsumerProvidersSetupOutputAuthMethodOutputSchema] = None - scopes: Optional[List[ConsumerProvidersSetupOutputAuthMethodScopes]] = None @dataclass -class ConsumerProvidersSetupOutputDeployment: +class ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: object: str id: str - is_default: bool - provider_id: str - created_at: datetime - updated_at: datetime - name: Optional[str] = None - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None -@dataclass -class ConsumerProvidersSetupOutputCredentials: - object: str - id: str - type: str - status: str - is_default: bool - is_managed: bool - provider_id: str - created_at: datetime - updated_at: datetime - name: Optional[str] = None - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None - scopes: Optional[List[str]] = None + index: float @dataclass -class ConsumerProvidersSetupOutputAuthConfigDeployment: +class ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig: object: str id: str is_default: bool @@ -72,71 +33,25 @@ class ConsumerProvidersSetupOutputAuthConfigDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass -class ConsumerProvidersSetupOutputAuthConfigCredentials: +class ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProvider: object: str id: str - type: str + provider_version: ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion status: str - is_default: bool - is_managed: bool - provider_id: str - created_at: datetime - updated_at: datetime - name: Optional[str] = None - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None - scopes: Optional[List[str]] = None -@dataclass -class ConsumerProvidersSetupOutputAuthConfigAuthMethodInputSchema: - type: str - schema: Dict[str, Any] -@dataclass -class ConsumerProvidersSetupOutputAuthConfigAuthMethodOutputSchema: - type: str - schema: Dict[str, Any] -@dataclass -class ConsumerProvidersSetupOutputAuthConfigAuthMethodScopes: - object: str - id: str - scope: str name: str - description: Optional[str] = None -@dataclass -class ConsumerProvidersSetupOutputAuthConfigAuthMethod: - object: str - id: str - type: str - key: str - name: str - capabilities: Dict[str, Any] - provider_id: str - provider_specification_id: str - created_at: datetime - updated_at: datetime - description: Optional[str] = None - input_schema: Optional[ConsumerProvidersSetupOutputAuthConfigAuthMethodInputSchema] = None - output_schema: Optional[ConsumerProvidersSetupOutputAuthConfigAuthMethodOutputSchema] = None - scopes: Optional[List[ConsumerProvidersSetupOutputAuthConfigAuthMethodScopes]] = None -@dataclass -class ConsumerProvidersSetupOutputAuthConfig: - object: str - id: str - type: str - source: str - status: str - is_default: bool provider_id: str - tool_filter: Dict[str, Any] - auth_method: ConsumerProvidersSetupOutputAuthConfigAuthMethod + deployment_id: str created_at: datetime updated_at: datetime - name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - deployment: Optional[ConsumerProvidersSetupOutputAuthConfigDeployment] = None - credentials: Optional[ConsumerProvidersSetupOutputAuthConfigCredentials] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None @dataclass -class ConsumerProvidersSetupOutputConfigDeployment: +class ConsumerProvidersSetupOutputIntegrationInstanceProvidersConfig: object: str id: str is_default: bool @@ -147,7 +62,7 @@ class ConsumerProvidersSetupOutputConfigDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass -class ConsumerProvidersSetupOutputConfigFromVaultDeployment: +class ConsumerProvidersSetupOutputIntegrationInstanceProvidersAuthConfig: object: str id: str is_default: bool @@ -158,41 +73,48 @@ class ConsumerProvidersSetupOutputConfigFromVaultDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass -class ConsumerProvidersSetupOutputConfigFromVault: +class ConsumerProvidersSetupOutputIntegrationInstanceProviders: object: str id: str status: str name: str - provider_id: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ConsumerProvidersSetupOutputIntegrationInstanceProvidersProvider + integration_provider: ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProvider created_at: datetime updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - deployment: Optional[ConsumerProvidersSetupOutputConfigFromVaultDeployment] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ConsumerProvidersSetupOutputIntegrationInstanceProvidersConfig] = None + auth_config: Optional[ConsumerProvidersSetupOutputIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None @dataclass -class ConsumerProvidersSetupOutputConfig: +class ConsumerProvidersSetupOutputIntegrationInstance: object: str id: str status: str - is_default: bool - tool_filter: Dict[str, Any] - provider_id: str - specification_id: str + name: str + integration_id: str + providers: List[ConsumerProvidersSetupOutputIntegrationInstanceProviders] created_at: datetime updated_at: datetime - name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - deployment: Optional[ConsumerProvidersSetupOutputConfigDeployment] = None - from_vault: Optional[ConsumerProvidersSetupOutputConfigFromVault] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ConsumerProvidersSetupOutputIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None @dataclass class ConsumerProvidersSetupOutput: object: str id: str - type: str status: str url: str - ui_mode: str + integration_id: str + integration_instance: ConsumerProvidersSetupOutputIntegrationInstance created_at: datetime updated_at: datetime expires_at: datetime @@ -200,309 +122,120 @@ class ConsumerProvidersSetupOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None - provider_id: Optional[str] = None - identity_id: Optional[str] = None - identity_credential_id: Optional[str] = None - auth_method: Optional[ConsumerProvidersSetupOutputAuthMethod] = None - deployment: Optional[ConsumerProvidersSetupOutputDeployment] = None - credentials: Optional[ConsumerProvidersSetupOutputCredentials] = None - auth_config: Optional[ConsumerProvidersSetupOutputAuthConfig] = None - config: Optional[ConsumerProvidersSetupOutputConfig] = None redirect_url: Optional[str] = None -class mapConsumerProvidersSetupOutputAuthMethodInputSchema: +class mapConsumerProvidersSetupOutputIntegrationInstanceImplementation: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthMethodInputSchema: - return ConsumerProvidersSetupOutputAuthMethodInputSchema( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstanceImplementation: + return ConsumerProvidersSetupOutputIntegrationInstanceImplementation( type=data.get('type'), - schema=data.get('schema') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersSetupOutputAuthMethodOutputSchema: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthMethodOutputSchema: - return ConsumerProvidersSetupOutputAuthMethodOutputSchema( - type=data.get('type'), - schema=data.get('schema') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersSetupOutputAuthMethodScopes: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthMethodScopes: - return ConsumerProvidersSetupOutputAuthMethodScopes( - object=data.get('object'), - id=data.get('id'), - scope=data.get('scope'), - name=data.get('name'), - description=data.get('description') + magic_mcp_server_id=data.get('magic_mcp_server_id') ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersSetupOutputAuthMethod: +class mapConsumerProvidersSetupOutputIntegrationInstanceProvidersProvider: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthMethod: - return ConsumerProvidersSetupOutputAuthMethod( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstanceProvidersProvider: + return ConsumerProvidersSetupOutputIntegrationInstanceProvidersProvider( object=data.get('object'), id=data.get('id'), - type=data.get('type'), - key=data.get('key'), name=data.get('name'), description=data.get('description'), - capabilities=data.get('capabilities'), - input_schema=mapConsumerProvidersSetupOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, - output_schema=mapConsumerProvidersSetupOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, - scopes=[mapConsumerProvidersSetupOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], - provider_id=data.get('provider_id'), - provider_specification_id=data.get('provider_specification_id'), + slug=data.get('slug'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersSetupOutputDeployment: +class mapConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputDeployment: - return ConsumerProvidersSetupOutputDeployment( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion( object=data.get('object'), id=data.get('id'), - is_default=data.get('is_default'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - provider_id=data.get('provider_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + index=data.get('index') ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersSetupOutputCredentials: +class mapConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputCredentials: - return ConsumerProvidersSetupOutputCredentials( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig: + return ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig( object=data.get('object'), id=data.get('id'), - type=data.get('type'), - status=data.get('status'), is_default=data.get('is_default'), - is_managed=data.get('is_managed'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - scopes=data.get('scopes', []), provider_id=data.get('provider_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersSetupOutputAuthConfigDeployment: +class mapConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProvider: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthConfigDeployment: - return ConsumerProvidersSetupOutputAuthConfigDeployment( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProvider: + return ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProvider( object=data.get('object'), id=data.get('id'), - is_default=data.get('is_default'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - provider_id=data.get('provider_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthConfigDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersSetupOutputAuthConfigCredentials: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthConfigCredentials: - return ConsumerProvidersSetupOutputAuthConfigCredentials( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), + provider_version=mapConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, status=data.get('status'), - is_default=data.get('is_default'), - is_managed=data.get('is_managed'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - scopes=data.get('scopes', []), - provider_id=data.get('provider_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthConfigCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersSetupOutputAuthConfigAuthMethodInputSchema: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthConfigAuthMethodInputSchema: - return ConsumerProvidersSetupOutputAuthConfigAuthMethodInputSchema( - type=data.get('type'), - schema=data.get('schema') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthConfigAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersSetupOutputAuthConfigAuthMethodOutputSchema: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthConfigAuthMethodOutputSchema: - return ConsumerProvidersSetupOutputAuthConfigAuthMethodOutputSchema( - type=data.get('type'), - schema=data.get('schema') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthConfigAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersSetupOutputAuthConfigAuthMethodScopes: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthConfigAuthMethodScopes: - return ConsumerProvidersSetupOutputAuthConfigAuthMethodScopes( - object=data.get('object'), - id=data.get('id'), - scope=data.get('scope'), - name=data.get('name'), - description=data.get('description') - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthConfigAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersSetupOutputAuthConfigAuthMethod: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthConfigAuthMethod: - return ConsumerProvidersSetupOutputAuthConfigAuthMethod( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), - key=data.get('key'), - name=data.get('name'), - description=data.get('description'), - capabilities=data.get('capabilities'), - input_schema=mapConsumerProvidersSetupOutputAuthConfigAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, - output_schema=mapConsumerProvidersSetupOutputAuthConfigAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, - scopes=[mapConsumerProvidersSetupOutputAuthConfigAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], - provider_id=data.get('provider_id'), - provider_specification_id=data.get('provider_specification_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthConfigAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumerProvidersSetupOutputAuthConfig: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputAuthConfig: - return ConsumerProvidersSetupOutputAuthConfig( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), - source=data.get('source'), - status=data.get('status'), - is_default=data.get('is_default'), - provider_id=data.get('provider_id'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), tool_filter=data.get('tool_filter'), - deployment=mapConsumerProvidersSetupOutputAuthConfigDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, - credentials=mapConsumerProvidersSetupOutputAuthConfigCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, - auth_method=mapConsumerProvidersSetupOutputAuthConfigAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersSetupOutputConfigDeployment: +class mapConsumerProvidersSetupOutputIntegrationInstanceProvidersConfig: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputConfigDeployment: - return ConsumerProvidersSetupOutputConfigDeployment( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstanceProvidersConfig: + return ConsumerProvidersSetupOutputIntegrationInstanceProvidersConfig( object=data.get('object'), id=data.get('id'), is_default=data.get('is_default'), @@ -515,17 +248,17 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputConfigDeploym ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputConfigDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersSetupOutputConfigFromVaultDeployment: +class mapConsumerProvidersSetupOutputIntegrationInstanceProvidersAuthConfig: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputConfigFromVaultDeployment: - return ConsumerProvidersSetupOutputConfigFromVaultDeployment( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstanceProvidersAuthConfig: + return ConsumerProvidersSetupOutputIntegrationInstanceProvidersAuthConfig( object=data.get('object'), id=data.get('id'), is_default=data.get('is_default'), @@ -538,59 +271,66 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputConfigFromVau ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputConfigFromVaultDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersSetupOutputConfigFromVault: +class mapConsumerProvidersSetupOutputIntegrationInstanceProviders: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputConfigFromVault: - return ConsumerProvidersSetupOutputConfigFromVault( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstanceProviders: + return ConsumerProvidersSetupOutputIntegrationInstanceProviders( object=data.get('object'), id=data.get('id'), status=data.get('status'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_id=data.get('provider_id'), - deployment=mapConsumerProvidersSetupOutputConfigFromVaultDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapConsumerProvidersSetupOutputIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapConsumerProvidersSetupOutputIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapConsumerProvidersSetupOutputIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapConsumerProvidersSetupOutputIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputConfigFromVault, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapConsumerProvidersSetupOutputConfig: +class mapConsumerProvidersSetupOutputIntegrationInstance: @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputConfig: - return ConsumerProvidersSetupOutputConfig( + def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutputIntegrationInstance: + return ConsumerProvidersSetupOutputIntegrationInstance( object=data.get('object'), id=data.get('id'), status=data.get('status'), - is_default=data.get('is_default'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), - specification_id=data.get('specification_id'), - deployment=mapConsumerProvidersSetupOutputConfigDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, - from_vault=mapConsumerProvidersSetupOutputConfigFromVault.from_dict(data.get('from_vault')) if data.get('from_vault') else None, + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapConsumerProvidersSetupOutputIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapConsumerProvidersSetupOutputIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod - def to_dict(value: Union[ConsumerProvidersSetupOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ConsumerProvidersSetupOutputIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -603,23 +343,15 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutput: return ConsumerProvidersSetupOutput( object=data.get('object'), id=data.get('id'), - type=data.get('type'), status=data.get('status'), url=data.get('url'), name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), configuration=data.get('configuration'), - provider_id=data.get('provider_id'), - identity_id=data.get('identity_id'), - identity_credential_id=data.get('identity_credential_id'), - auth_method=mapConsumerProvidersSetupOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, - deployment=mapConsumerProvidersSetupOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, - credentials=mapConsumerProvidersSetupOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, - auth_config=mapConsumerProvidersSetupOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, - config=mapConsumerProvidersSetupOutputConfig.from_dict(data.get('config')) if data.get('config') else None, - ui_mode=data.get('ui_mode'), redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapConsumerProvidersSetupOutputIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/get.py index 70106c3f..68b32ef6 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/get.py @@ -3,6 +3,13 @@ from datetime import datetime import dataclasses +@dataclass +class ConsumerSurfacesGetOutputSkillConfiguration: + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ConsumerSurfacesGetOutputAuth: object: str @@ -14,12 +21,34 @@ class ConsumerSurfacesGetOutput: id: str status: str name: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ConsumerSurfacesGetOutputSkillConfiguration auth: ConsumerSurfacesGetOutputAuth created_at: datetime updated_at: datetime description: Optional[str] = None +class mapConsumerSurfacesGetOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesGetOutputSkillConfiguration: + return ConsumerSurfacesGetOutputSkillConfiguration( + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesGetOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapConsumerSurfacesGetOutputAuth: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesGetOutputAuth: @@ -46,6 +75,9 @@ def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesGetOutput: status=data.get('status'), name=data.get('name'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapConsumerSurfacesGetOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/list.py index 1da1deba..e5ef47a0 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/list.py @@ -3,6 +3,13 @@ from datetime import datetime import dataclasses +@dataclass +class ConsumerSurfacesListOutputItemsSkillConfiguration: + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ConsumerSurfacesListOutputItemsAuth: object: str @@ -14,6 +21,9 @@ class ConsumerSurfacesListOutputItems: id: str status: str name: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ConsumerSurfacesListOutputItemsSkillConfiguration auth: ConsumerSurfacesListOutputItemsAuth created_at: datetime updated_at: datetime @@ -28,6 +38,25 @@ class ConsumerSurfacesListOutput: pagination: ConsumerSurfacesListOutputPagination +class mapConsumerSurfacesListOutputItemsSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputItemsSkillConfiguration: + return ConsumerSurfacesListOutputItemsSkillConfiguration( + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutputItemsSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapConsumerSurfacesListOutputItemsAuth: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputItemsAuth: @@ -54,6 +83,9 @@ def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputItems: status=data.get('status'), name=data.get('name'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapConsumerSurfacesListOutputItemsSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/create.py index 9a204cda..5c1a5ff7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/create.py @@ -9,6 +9,7 @@ class ConsumersCreateOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumersCreateOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get.py index 6cadcc93..c6ff6dd1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get.py @@ -9,6 +9,7 @@ class ConsumersGetOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumersGetOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get_member_consumer.py index 230f1ab1..8685db48 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get_member_consumer.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get_member_consumer.py @@ -3,43 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class ConsumersGetMemberConsumerOutputProfileGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class ConsumersGetMemberConsumerOutputProfileGroups: - object: str - group: ConsumersGetMemberConsumerOutputProfileGroupsGroup - assigned_via: str -@dataclass -class ConsumersGetMemberConsumerOutputProfile: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - status: str - created_at: datetime - updated_at: datetime - groups: Optional[List[ConsumersGetMemberConsumerOutputProfileGroups]] = None @dataclass class ConsumersGetMemberConsumerOutput: object: str id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime - profile: ConsumersGetMemberConsumerOutputProfile + profile: Dict[str, Any] class mapConsumersGetMemberConsumerOutput: @@ -50,9 +23,10 @@ def from_dict(data: Dict[str, Any]) -> ConsumersGetMemberConsumerOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - profile=mapConsumersGetMemberConsumerOutputProfile.from_dict(data.get('profile')) if data.get('profile') else None + profile=data.get('profile') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/list.py index e4b356ed..da853b13 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/list.py @@ -9,6 +9,7 @@ class ConsumersListOutputItems: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @dataclass @@ -29,6 +30,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumersListOutputItems: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/get.py index f7e4d2d4..75331951 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/get.py @@ -33,46 +33,6 @@ class ConsumersProfilesGetOutput: groups: Optional[List[ConsumersProfilesGetOutputGroups]] = None -class mapConsumersProfilesGetOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumersProfilesGetOutputGroupsGroup: - return ConsumersProfilesGetOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumersProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumersProfilesGetOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumersProfilesGetOutputGroups: - return ConsumersProfilesGetOutputGroups( - object=data.get('object'), - group=mapConsumersProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ConsumersProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapConsumersProfilesGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumersProfilesGetOutput: @@ -82,11 +42,11 @@ def from_dict(data: Dict[str, Any]) -> ConsumersProfilesGetOutput: name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - groups=[mapConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), status=data.get('status'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/list.py index c4809a56..e5999003 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/list.py @@ -3,108 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class ConsumersProfilesListOutputItemsGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class ConsumersProfilesListOutputItemsGroups: - object: str - group: ConsumersProfilesListOutputItemsGroupsGroup - assigned_via: str -@dataclass -class ConsumersProfilesListOutputItems: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - status: str - created_at: datetime - updated_at: datetime - groups: Optional[List[ConsumersProfilesListOutputItemsGroups]] = None @dataclass class ConsumersProfilesListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class ConsumersProfilesListOutput: - items: List[ConsumersProfilesListOutputItems] + items: List[Dict[str, Any]] pagination: ConsumersProfilesListOutputPagination -class mapConsumersProfilesListOutputItemsGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputItemsGroupsGroup: - return ConsumersProfilesListOutputItemsGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumersProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumersProfilesListOutputItemsGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputItemsGroups: - return ConsumersProfilesListOutputItemsGroups( - object=data.get('object'), - group=mapConsumersProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ConsumersProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapConsumersProfilesListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputItems: - return ConsumersProfilesListOutputItems( - object=data.get('object'), - id=data.get('id'), - name=data.get('name'), - email=data.get('email'), - image_url=data.get('image_url'), - groups=[mapConsumersProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], - consumer_id=data.get('consumer_id'), - status=data.get('status'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ConsumersProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapConsumersProfilesListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputPagination: @@ -125,7 +33,7 @@ class mapConsumersProfilesListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutput: return ConsumersProfilesListOutput( - items=[mapConsumersProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/update.py index 0eab80a7..751067db 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/update.py @@ -9,6 +9,7 @@ class ConsumersUpdateOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> ConsumersUpdateOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/__init__.py new file mode 100644 index 00000000..e1927704 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .get import * +from .list import * +from .messages import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/create.py new file mode 100644 index 00000000..4e92ea39 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/create.py @@ -0,0 +1,335 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConversationsCreateOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsCreateOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ConversationsCreateOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ConversationsCreateOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsCreateOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ConversationsCreateOutputCreatedByActorOrganizationActor] = None + consumer: Optional[ConversationsCreateOutputCreatedByActorConsumer] = None +@dataclass +class ConversationsCreateOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsCreateOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsCreateOutputAssistantDefaultModelProvider +@dataclass +class ConversationsCreateOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsCreateOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsCreateOutputAssistantAvailableModelsProvider +@dataclass +class ConversationsCreateOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ConversationsCreateOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ConversationsCreateOutputAssistantDefaultModel] = None +@dataclass +class ConversationsCreateOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: ConversationsCreateOutputCreatedByActor + root_message_id: str + assistant: ConversationsCreateOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapConversationsCreateOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputCreatedByActorOrganizationActorTeams: + return ConversationsCreateOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputCreatedByActorOrganizationActor: + return ConversationsCreateOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapConversationsCreateOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputCreatedByActorConsumer: + return ConversationsCreateOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputCreatedByActor: + return ConversationsCreateOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapConversationsCreateOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapConversationsCreateOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputAssistantDefaultModelProvider: + return ConversationsCreateOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputAssistantDefaultModel: + return ConversationsCreateOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsCreateOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputAssistantAvailableModelsProvider: + return ConversationsCreateOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputAssistantAvailableModels: + return ConversationsCreateOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsCreateOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutputAssistant: + return ConversationsCreateOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapConversationsCreateOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapConversationsCreateOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateOutput: + return ConversationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapConversationsCreateOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapConversationsCreateOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConversationsCreateBody: + assistant_id: str + title: Optional[str] = None + + +class mapConversationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsCreateBody: + return ConversationsCreateBody( + assistant_id=data.get('assistant_id'), + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[ConversationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/get.py new file mode 100644 index 00000000..9834e289 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/get.py @@ -0,0 +1,312 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConversationsGetOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsGetOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ConversationsGetOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ConversationsGetOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsGetOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ConversationsGetOutputCreatedByActorOrganizationActor] = None + consumer: Optional[ConversationsGetOutputCreatedByActorConsumer] = None +@dataclass +class ConversationsGetOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsGetOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsGetOutputAssistantDefaultModelProvider +@dataclass +class ConversationsGetOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsGetOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsGetOutputAssistantAvailableModelsProvider +@dataclass +class ConversationsGetOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ConversationsGetOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ConversationsGetOutputAssistantDefaultModel] = None +@dataclass +class ConversationsGetOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: ConversationsGetOutputCreatedByActor + root_message_id: str + assistant: ConversationsGetOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapConversationsGetOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputCreatedByActorOrganizationActorTeams: + return ConversationsGetOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputCreatedByActorOrganizationActor: + return ConversationsGetOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapConversationsGetOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputCreatedByActorConsumer: + return ConversationsGetOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputCreatedByActor: + return ConversationsGetOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapConversationsGetOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapConversationsGetOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputAssistantDefaultModelProvider: + return ConversationsGetOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputAssistantDefaultModel: + return ConversationsGetOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsGetOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputAssistantAvailableModelsProvider: + return ConversationsGetOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputAssistantAvailableModels: + return ConversationsGetOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsGetOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutputAssistant: + return ConversationsGetOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapConversationsGetOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapConversationsGetOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsGetOutput: + return ConversationsGetOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapConversationsGetOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapConversationsGetOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/list.py new file mode 100644 index 00000000..e8d1edf7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/list.py @@ -0,0 +1,383 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsListOutputItemsCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ConversationsListOutputItemsCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ConversationsListOutputItemsCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsListOutputItemsCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ConversationsListOutputItemsCreatedByActorOrganizationActor] = None + consumer: Optional[ConversationsListOutputItemsCreatedByActorConsumer] = None +@dataclass +class ConversationsListOutputItemsAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsListOutputItemsAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsListOutputItemsAssistantDefaultModelProvider +@dataclass +class ConversationsListOutputItemsAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsListOutputItemsAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsListOutputItemsAssistantAvailableModelsProvider +@dataclass +class ConversationsListOutputItemsAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ConversationsListOutputItemsAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ConversationsListOutputItemsAssistantDefaultModel] = None +@dataclass +class ConversationsListOutputItems: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: ConversationsListOutputItemsCreatedByActor + root_message_id: str + assistant: ConversationsListOutputItemsAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None +@dataclass +class ConversationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ConversationsListOutput: + items: List[ConversationsListOutputItems] + pagination: ConversationsListOutputPagination + + +class mapConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + return ConversationsListOutputItemsCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItemsCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsCreatedByActorOrganizationActor: + return ConversationsListOutputItemsCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapConversationsListOutputItemsCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItemsCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsCreatedByActorConsumer: + return ConversationsListOutputItemsCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItemsCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsCreatedByActor: + return ConversationsListOutputItemsCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapConversationsListOutputItemsCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapConversationsListOutputItemsCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItemsAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsAssistantDefaultModelProvider: + return ConversationsListOutputItemsAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItemsAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsAssistantDefaultModel: + return ConversationsListOutputItemsAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsListOutputItemsAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItemsAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsAssistantAvailableModelsProvider: + return ConversationsListOutputItemsAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItemsAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsAssistantAvailableModels: + return ConversationsListOutputItemsAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsListOutputItemsAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItemsAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItemsAssistant: + return ConversationsListOutputItemsAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapConversationsListOutputItemsAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapConversationsListOutputItemsAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItemsAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputItems: + return ConversationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapConversationsListOutputItemsCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapConversationsListOutputItemsAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutputPagination: + return ConversationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListOutput: + return ConversationsListOutput( + items=[mapConversationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapConversationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConversationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + assistant_id: Optional[Union[str, List[str]]] = None + + +class mapConversationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsListQuery: + return ConversationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + assistant_id=data.get('assistant_id') + ) + + @staticmethod + def to_dict(value: Union[ConversationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/create.py new file mode 100644 index 00000000..2ccf0a1c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/create.py @@ -0,0 +1,291 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConversationsMessagesCreateOutputModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsMessagesCreateOutputModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsMessagesCreateOutputModelProvider +@dataclass +class ConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsMessagesCreateOutputRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ConversationsMessagesCreateOutputRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ConversationsMessagesCreateOutputRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsMessagesCreateOutputRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ConversationsMessagesCreateOutputRequestActorOrganizationActor] = None + consumer: Optional[ConversationsMessagesCreateOutputRequestActorConsumer] = None +@dataclass +class ConversationsMessagesCreateOutputRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[ConversationsMessagesCreateOutputRequestActor] = None +@dataclass +class ConversationsMessagesCreateOutput: + object: str + id: str + conversation_item_id: str + type: str + request: ConversationsMessagesCreateOutputRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[ConversationsMessagesCreateOutputModel] = None + + +class mapConversationsMessagesCreateOutputModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateOutputModelProvider: + return ConversationsMessagesCreateOutputModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateOutputModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesCreateOutputModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateOutputModel: + return ConversationsMessagesCreateOutputModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsMessagesCreateOutputModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateOutputModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + return ConversationsMessagesCreateOutputRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateOutputRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesCreateOutputRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateOutputRequestActorOrganizationActor: + return ConversationsMessagesCreateOutputRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapConversationsMessagesCreateOutputRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateOutputRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesCreateOutputRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateOutputRequestActorConsumer: + return ConversationsMessagesCreateOutputRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateOutputRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesCreateOutputRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateOutputRequestActor: + return ConversationsMessagesCreateOutputRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapConversationsMessagesCreateOutputRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapConversationsMessagesCreateOutputRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateOutputRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesCreateOutputRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateOutputRequest: + return ConversationsMessagesCreateOutputRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapConversationsMessagesCreateOutputRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateOutputRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateOutput: + return ConversationsMessagesCreateOutput( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapConversationsMessagesCreateOutputModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapConversationsMessagesCreateOutputRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConversationsMessagesCreateBodyMessage: + parts: List[Dict[str, Any]] +@dataclass +class ConversationsMessagesCreateBody: + message: ConversationsMessagesCreateBodyMessage + parent_message_id: Optional[str] = None + model_id: Optional[str] = None + + +class mapConversationsMessagesCreateBodyMessage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateBodyMessage: + return ConversationsMessagesCreateBodyMessage( + parts=data.get('parts', []) + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateBodyMessage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesCreateBody: + return ConversationsMessagesCreateBody( + message=mapConversationsMessagesCreateBodyMessage.from_dict(data.get('message')) if data.get('message') else None, + parent_message_id=data.get('parent_message_id'), + model_id=data.get('model_id') + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/get.py new file mode 100644 index 00000000..c88a6af9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/get.py @@ -0,0 +1,248 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConversationsMessagesGetOutputModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsMessagesGetOutputModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsMessagesGetOutputModelProvider +@dataclass +class ConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsMessagesGetOutputRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ConversationsMessagesGetOutputRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ConversationsMessagesGetOutputRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsMessagesGetOutputRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ConversationsMessagesGetOutputRequestActorOrganizationActor] = None + consumer: Optional[ConversationsMessagesGetOutputRequestActorConsumer] = None +@dataclass +class ConversationsMessagesGetOutputRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[ConversationsMessagesGetOutputRequestActor] = None +@dataclass +class ConversationsMessagesGetOutput: + object: str + id: str + conversation_item_id: str + type: str + request: ConversationsMessagesGetOutputRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[ConversationsMessagesGetOutputModel] = None + + +class mapConversationsMessagesGetOutputModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesGetOutputModelProvider: + return ConversationsMessagesGetOutputModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesGetOutputModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesGetOutputModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesGetOutputModel: + return ConversationsMessagesGetOutputModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsMessagesGetOutputModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesGetOutputModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + return ConversationsMessagesGetOutputRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesGetOutputRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesGetOutputRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesGetOutputRequestActorOrganizationActor: + return ConversationsMessagesGetOutputRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapConversationsMessagesGetOutputRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesGetOutputRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesGetOutputRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesGetOutputRequestActorConsumer: + return ConversationsMessagesGetOutputRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesGetOutputRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesGetOutputRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesGetOutputRequestActor: + return ConversationsMessagesGetOutputRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapConversationsMessagesGetOutputRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapConversationsMessagesGetOutputRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesGetOutputRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesGetOutputRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesGetOutputRequest: + return ConversationsMessagesGetOutputRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapConversationsMessagesGetOutputRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesGetOutputRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesGetOutput: + return ConversationsMessagesGetOutput( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapConversationsMessagesGetOutputModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapConversationsMessagesGetOutputRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/list.py new file mode 100644 index 00000000..da114d95 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/messages/list.py @@ -0,0 +1,317 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConversationsMessagesListOutputItemsModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsMessagesListOutputItemsModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsMessagesListOutputItemsModelProvider +@dataclass +class ConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsMessagesListOutputItemsRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ConversationsMessagesListOutputItemsRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsMessagesListOutputItemsRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ConversationsMessagesListOutputItemsRequestActorOrganizationActor] = None + consumer: Optional[ConversationsMessagesListOutputItemsRequestActorConsumer] = None +@dataclass +class ConversationsMessagesListOutputItemsRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[ConversationsMessagesListOutputItemsRequestActor] = None +@dataclass +class ConversationsMessagesListOutputItems: + object: str + id: str + conversation_item_id: str + type: str + request: ConversationsMessagesListOutputItemsRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[ConversationsMessagesListOutputItemsModel] = None +@dataclass +class ConversationsMessagesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ConversationsMessagesListOutput: + items: List[ConversationsMessagesListOutputItems] + pagination: ConversationsMessagesListOutputPagination + + +class mapConversationsMessagesListOutputItemsModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputItemsModelProvider: + return ConversationsMessagesListOutputItemsModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputItemsModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutputItemsModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputItemsModel: + return ConversationsMessagesListOutputItemsModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsMessagesListOutputItemsModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputItemsModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + return ConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutputItemsRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputItemsRequestActorOrganizationActor: + return ConversationsMessagesListOutputItemsRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputItemsRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutputItemsRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputItemsRequestActorConsumer: + return ConversationsMessagesListOutputItemsRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputItemsRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutputItemsRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputItemsRequestActor: + return ConversationsMessagesListOutputItemsRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapConversationsMessagesListOutputItemsRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapConversationsMessagesListOutputItemsRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputItemsRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutputItemsRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputItemsRequest: + return ConversationsMessagesListOutputItemsRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapConversationsMessagesListOutputItemsRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputItemsRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputItems: + return ConversationsMessagesListOutputItems( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapConversationsMessagesListOutputItemsModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapConversationsMessagesListOutputItemsRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutputPagination: + return ConversationsMessagesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsMessagesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListOutput: + return ConversationsMessagesListOutput( + items=[mapConversationsMessagesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapConversationsMessagesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConversationsMessagesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapConversationsMessagesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsMessagesListQuery: + return ConversationsMessagesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ConversationsMessagesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/update.py new file mode 100644 index 00000000..7979bb58 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/conversations/update.py @@ -0,0 +1,333 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsUpdateOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ConversationsUpdateOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ConversationsUpdateOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ConversationsUpdateOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ConversationsUpdateOutputCreatedByActorOrganizationActor] = None + consumer: Optional[ConversationsUpdateOutputCreatedByActorConsumer] = None +@dataclass +class ConversationsUpdateOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsUpdateOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsUpdateOutputAssistantDefaultModelProvider +@dataclass +class ConversationsUpdateOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ConversationsUpdateOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ConversationsUpdateOutputAssistantAvailableModelsProvider +@dataclass +class ConversationsUpdateOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ConversationsUpdateOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ConversationsUpdateOutputAssistantDefaultModel] = None +@dataclass +class ConversationsUpdateOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: ConversationsUpdateOutputCreatedByActor + root_message_id: str + assistant: ConversationsUpdateOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + return ConversationsUpdateOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputCreatedByActorOrganizationActor: + return ConversationsUpdateOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapConversationsUpdateOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputCreatedByActorConsumer: + return ConversationsUpdateOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputCreatedByActor: + return ConversationsUpdateOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapConversationsUpdateOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapConversationsUpdateOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputAssistantDefaultModelProvider: + return ConversationsUpdateOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputAssistantDefaultModel: + return ConversationsUpdateOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsUpdateOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputAssistantAvailableModelsProvider: + return ConversationsUpdateOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputAssistantAvailableModels: + return ConversationsUpdateOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapConversationsUpdateOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutputAssistant: + return ConversationsUpdateOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapConversationsUpdateOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapConversationsUpdateOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConversationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateOutput: + return ConversationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapConversationsUpdateOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapConversationsUpdateOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConversationsUpdateBody: + title: Optional[str] = None + + +class mapConversationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConversationsUpdateBody: + return ConversationsUpdateBody( + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[ConversationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/__init__.py index 0d9390f8..0b79d12c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/__init__.py @@ -3,6 +3,7 @@ from .deployments import * from .environments import * from .get import * +from .get_env import * from .list import * from .update import * from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/get_env.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/get_env.py new file mode 100644 index 00000000..27d2c558 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/get_env.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class CustomProvidersGetEnvOutput: + object: str + env: Optional[Dict[str, Any]] = None + + +class mapCustomProvidersGetEnvOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CustomProvidersGetEnvOutput: + return CustomProvidersGetEnvOutput( + object=data.get('object'), + env=data.get('env') + ) + + @staticmethod + def to_dict(value: Union[CustomProvidersGetEnvOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/versions/__init__.py index f8b85669..751514d8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/versions/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/versions/__init__.py @@ -1,3 +1,4 @@ from .create import * from .get import * +from .get_env import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/versions/get_env.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/versions/get_env.py new file mode 100644 index 00000000..7e2bcde8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/custom_providers/versions/get_env.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class CustomProvidersVersionsGetEnvOutput: + object: str + env: Optional[Dict[str, Any]] = None + + +class mapCustomProvidersVersionsGetEnvOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> CustomProvidersVersionsGetEnvOutput: + return CustomProvidersVersionsGetEnvOutput( + object=data.get('object'), + env=data.get('env') + ) + + @staticmethod + def to_dict(value: Union[CustomProvidersVersionsGetEnvOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/__init__.py index b623fbdc..01f9b497 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/__init__.py @@ -1,12 +1,16 @@ +from .agents import * +from .assistants import * from .callbacks import * from .consumer_surfaces import * from .consumers import * +from .conversations import * from .custom_providers import * -from .file_links import * +from .documents import * from .files import * from .identities import * from .identity_actors import * from .instance import * +from .integrations import * from .magic_mcp_endpoints import * from .magic_mcp_groups import * from .magic_mcp_servers import * @@ -24,4 +28,6 @@ from .publishers import * from .session_templates import * from .sessions import * +from .skills import * +from .stores import * from .tool_calls import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/__init__.py new file mode 100644 index 00000000..b677ea98 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .instances import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/get.py new file mode 100644 index 00000000..f376cab4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/get.py @@ -0,0 +1,48 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceAgentsGetOutput: + object: str + id: str + type: str + status: str + name: str + slug: str + actor_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceAgentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsGetOutput: + return DashboardInstanceAgentsGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + metadata=data.get('metadata'), + actor_id=data.get('actor_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/get.py new file mode 100644 index 00000000..63160202 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/get.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceAgentsInstancesGetOutputAgentClient: + object: str + id: str + type: str + name: str + created_at: datetime + updated_at: datetime + last_connected_at: Optional[datetime] = None +@dataclass +class DashboardInstanceAgentsInstancesGetOutput: + object: str + id: str + type: str + name: str + agent_id: str + created_at: datetime + updated_at: datetime + version: Optional[str] = None + description: Optional[str] = None + agent_client: Optional[DashboardInstanceAgentsInstancesGetOutputAgentClient] = None + last_connected_at: Optional[datetime] = None + + +class mapDashboardInstanceAgentsInstancesGetOutputAgentClient: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsInstancesGetOutputAgentClient: + return DashboardInstanceAgentsInstancesGetOutputAgentClient( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsInstancesGetOutputAgentClient, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAgentsInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsInstancesGetOutput: + return DashboardInstanceAgentsInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + version=data.get('version'), + description=data.get('description'), + agent_id=data.get('agent_id'), + agent_client=mapDashboardInstanceAgentsInstancesGetOutputAgentClient.from_dict(data.get('agent_client')) if data.get('agent_client') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/list.py new file mode 100644 index 00000000..8bbf1c5b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/instances/list.py @@ -0,0 +1,163 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceAgentsInstancesListOutputItemsAgentClient: + object: str + id: str + type: str + name: str + created_at: datetime + updated_at: datetime + last_connected_at: Optional[datetime] = None +@dataclass +class DashboardInstanceAgentsInstancesListOutputItems: + object: str + id: str + type: str + name: str + agent_id: str + created_at: datetime + updated_at: datetime + version: Optional[str] = None + description: Optional[str] = None + agent_client: Optional[DashboardInstanceAgentsInstancesListOutputItemsAgentClient] = None + last_connected_at: Optional[datetime] = None +@dataclass +class DashboardInstanceAgentsInstancesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceAgentsInstancesListOutput: + items: List[DashboardInstanceAgentsInstancesListOutputItems] + pagination: DashboardInstanceAgentsInstancesListOutputPagination + + +class mapDashboardInstanceAgentsInstancesListOutputItemsAgentClient: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsInstancesListOutputItemsAgentClient: + return DashboardInstanceAgentsInstancesListOutputItemsAgentClient( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsInstancesListOutputItemsAgentClient, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAgentsInstancesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsInstancesListOutputItems: + return DashboardInstanceAgentsInstancesListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + version=data.get('version'), + description=data.get('description'), + agent_id=data.get('agent_id'), + agent_client=mapDashboardInstanceAgentsInstancesListOutputItemsAgentClient.from_dict(data.get('agent_client')) if data.get('agent_client') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsInstancesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAgentsInstancesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsInstancesListOutputPagination: + return DashboardInstanceAgentsInstancesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsInstancesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAgentsInstancesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsInstancesListOutput: + return DashboardInstanceAgentsInstancesListOutput( + items=[mapDashboardInstanceAgentsInstancesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceAgentsInstancesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsInstancesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceAgentsInstancesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceAgentsInstancesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceAgentsInstancesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + agent_client_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceAgentsInstancesListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceAgentsInstancesListQueryUpdatedAt] = None + + +class mapDashboardInstanceAgentsInstancesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsInstancesListQuery: + return DashboardInstanceAgentsInstancesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + type=data.get('type'), + id=data.get('id'), + agent_client_id=data.get('agent_client_id'), + created_at=mapDashboardInstanceAgentsInstancesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceAgentsInstancesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsInstancesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/list.py new file mode 100644 index 00000000..304daf76 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/agents/list.py @@ -0,0 +1,137 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceAgentsListOutputItems: + object: str + id: str + type: str + status: str + name: str + slug: str + actor_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceAgentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceAgentsListOutput: + items: List[DashboardInstanceAgentsListOutputItems] + pagination: DashboardInstanceAgentsListOutputPagination + + +class mapDashboardInstanceAgentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsListOutputItems: + return DashboardInstanceAgentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + metadata=data.get('metadata'), + actor_id=data.get('actor_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAgentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsListOutputPagination: + return DashboardInstanceAgentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAgentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsListOutput: + return DashboardInstanceAgentsListOutput( + items=[mapDashboardInstanceAgentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceAgentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceAgentsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceAgentsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceAgentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceAgentsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceAgentsListQueryUpdatedAt] = None + + +class mapDashboardInstanceAgentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAgentsListQuery: + return DashboardInstanceAgentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + type=data.get('type'), + id=data.get('id'), + created_at=mapDashboardInstanceAgentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceAgentsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAgentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/get.py new file mode 100644 index 00000000..7428b37e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/get.py @@ -0,0 +1,152 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceAssistantsGetOutputDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceAssistantsGetOutputDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceAssistantsGetOutputDefaultModelProvider +@dataclass +class DashboardInstanceAssistantsGetOutputAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceAssistantsGetOutputAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceAssistantsGetOutputAvailableModelsProvider +@dataclass +class DashboardInstanceAssistantsGetOutput: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[DashboardInstanceAssistantsGetOutputAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[DashboardInstanceAssistantsGetOutputDefaultModel] = None + + +class mapDashboardInstanceAssistantsGetOutputDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsGetOutputDefaultModelProvider: + return DashboardInstanceAssistantsGetOutputDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsGetOutputDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsGetOutputDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsGetOutputDefaultModel: + return DashboardInstanceAssistantsGetOutputDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceAssistantsGetOutputDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsGetOutputDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsGetOutputAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsGetOutputAvailableModelsProvider: + return DashboardInstanceAssistantsGetOutputAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsGetOutputAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsGetOutputAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsGetOutputAvailableModels: + return DashboardInstanceAssistantsGetOutputAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceAssistantsGetOutputAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsGetOutputAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsGetOutput: + return DashboardInstanceAssistantsGetOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapDashboardInstanceAssistantsGetOutputDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapDashboardInstanceAssistantsGetOutputAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/list.py new file mode 100644 index 00000000..b91f4fac --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/assistants/list.py @@ -0,0 +1,221 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceAssistantsListOutputItemsDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceAssistantsListOutputItemsDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceAssistantsListOutputItemsDefaultModelProvider +@dataclass +class DashboardInstanceAssistantsListOutputItemsAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceAssistantsListOutputItemsAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceAssistantsListOutputItemsAvailableModelsProvider +@dataclass +class DashboardInstanceAssistantsListOutputItems: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[DashboardInstanceAssistantsListOutputItemsAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[DashboardInstanceAssistantsListOutputItemsDefaultModel] = None +@dataclass +class DashboardInstanceAssistantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceAssistantsListOutput: + items: List[DashboardInstanceAssistantsListOutputItems] + pagination: DashboardInstanceAssistantsListOutputPagination + + +class mapDashboardInstanceAssistantsListOutputItemsDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsListOutputItemsDefaultModelProvider: + return DashboardInstanceAssistantsListOutputItemsDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsListOutputItemsDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsListOutputItemsDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsListOutputItemsDefaultModel: + return DashboardInstanceAssistantsListOutputItemsDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceAssistantsListOutputItemsDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsListOutputItemsDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsListOutputItemsAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsListOutputItemsAvailableModelsProvider: + return DashboardInstanceAssistantsListOutputItemsAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsListOutputItemsAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsListOutputItemsAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsListOutputItemsAvailableModels: + return DashboardInstanceAssistantsListOutputItemsAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceAssistantsListOutputItemsAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsListOutputItemsAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsListOutputItems: + return DashboardInstanceAssistantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapDashboardInstanceAssistantsListOutputItemsDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapDashboardInstanceAssistantsListOutputItemsAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsListOutputPagination: + return DashboardInstanceAssistantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceAssistantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsListOutput: + return DashboardInstanceAssistantsListOutput( + items=[mapDashboardInstanceAssistantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceAssistantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceAssistantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceAssistantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceAssistantsListQuery: + return DashboardInstanceAssistantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceAssistantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/callbacks/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/callbacks/instances/__init__.py index 6ad40c80..26672d14 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/callbacks/instances/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/callbacks/instances/__init__.py @@ -1,3 +1,4 @@ from .create import * from .delete import * +from .get import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/callbacks/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/callbacks/instances/get.py new file mode 100644 index 00000000..13c041e2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/callbacks/instances/get.py @@ -0,0 +1,258 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceCallbacksInstancesGetOutputDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceCallbacksInstancesGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceCallbacksInstancesGetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTrigger: + object: str + id: str + key: str + name: str + invocation: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema] = None + output_schema: Optional[DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema] = None +@dataclass +class DashboardInstanceCallbacksInstancesGetOutputTriggers: + object: str + id: str + source: str + poll_interval_seconds: Optional[float] = None + next_poll_at: Optional[datetime] = None + last_polled_at: Optional[datetime] = None + webhook_url: Optional[str] = None + is_webhook_registered: Optional[bool] = None + provider_trigger: Optional[DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTrigger] = None +@dataclass +class DashboardInstanceCallbacksInstancesGetOutput: + object: str + id: str + status: str + deployment: DashboardInstanceCallbacksInstancesGetOutputDeployment + config: DashboardInstanceCallbacksInstancesGetOutputConfig + triggers: List[DashboardInstanceCallbacksInstancesGetOutputTriggers] + created_at: datetime + updated_at: datetime + auth_config: Optional[DashboardInstanceCallbacksInstancesGetOutputAuthConfig] = None + + +class mapDashboardInstanceCallbacksInstancesGetOutputDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCallbacksInstancesGetOutputDeployment: + return DashboardInstanceCallbacksInstancesGetOutputDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCallbacksInstancesGetOutputDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceCallbacksInstancesGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCallbacksInstancesGetOutputConfig: + return DashboardInstanceCallbacksInstancesGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCallbacksInstancesGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceCallbacksInstancesGetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCallbacksInstancesGetOutputAuthConfig: + return DashboardInstanceCallbacksInstancesGetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCallbacksInstancesGetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + return DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + return DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceCallbacksInstancesGetOutputTriggersProviderTrigger: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTrigger: + return DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTrigger( + object=data.get('object'), + id=data.get('id'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + input_schema=mapDashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + invocation=data.get('invocation'), + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCallbacksInstancesGetOutputTriggersProviderTrigger, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceCallbacksInstancesGetOutputTriggers: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCallbacksInstancesGetOutputTriggers: + return DashboardInstanceCallbacksInstancesGetOutputTriggers( + object=data.get('object'), + id=data.get('id'), + source=data.get('source'), + poll_interval_seconds=data.get('poll_interval_seconds'), + next_poll_at=datetime.fromisoformat(data.get('next_poll_at').replace('Z', '+00:00')) if data.get('next_poll_at') else None, + last_polled_at=datetime.fromisoformat(data.get('last_polled_at').replace('Z', '+00:00')) if data.get('last_polled_at') else None, + webhook_url=data.get('webhook_url'), + is_webhook_registered=data.get('is_webhook_registered'), + provider_trigger=mapDashboardInstanceCallbacksInstancesGetOutputTriggersProviderTrigger.from_dict(data.get('provider_trigger')) if data.get('provider_trigger') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCallbacksInstancesGetOutputTriggers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceCallbacksInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCallbacksInstancesGetOutput: + return DashboardInstanceCallbacksInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + deployment=mapDashboardInstanceCallbacksInstancesGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapDashboardInstanceCallbacksInstancesGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceCallbacksInstancesGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + triggers=[mapDashboardInstanceCallbacksInstancesGetOutputTriggers.from_dict(item) for item in data.get('triggers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCallbacksInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/get.py index e8f3bc60..099cf821 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/get.py @@ -3,6 +3,13 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceConsumerSurfacesGetOutputSkillConfiguration: + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class DashboardInstanceConsumerSurfacesGetOutputAuth: object: str @@ -14,12 +21,34 @@ class DashboardInstanceConsumerSurfacesGetOutput: id: str status: str name: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: DashboardInstanceConsumerSurfacesGetOutputSkillConfiguration auth: DashboardInstanceConsumerSurfacesGetOutputAuth created_at: datetime updated_at: datetime description: Optional[str] = None +class mapDashboardInstanceConsumerSurfacesGetOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesGetOutputSkillConfiguration: + return DashboardInstanceConsumerSurfacesGetOutputSkillConfiguration( + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesGetOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceConsumerSurfacesGetOutputAuth: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesGetOutputAuth: @@ -46,6 +75,9 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesGetOutpu status=data.get('status'), name=data.get('name'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapDashboardInstanceConsumerSurfacesGetOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapDashboardInstanceConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/list.py index a11532dc..85eabf2c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/list.py @@ -3,6 +3,13 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceConsumerSurfacesListOutputItemsSkillConfiguration: + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class DashboardInstanceConsumerSurfacesListOutputItemsAuth: object: str @@ -14,6 +21,9 @@ class DashboardInstanceConsumerSurfacesListOutputItems: id: str status: str name: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: DashboardInstanceConsumerSurfacesListOutputItemsSkillConfiguration auth: DashboardInstanceConsumerSurfacesListOutputItemsAuth created_at: datetime updated_at: datetime @@ -28,6 +38,25 @@ class DashboardInstanceConsumerSurfacesListOutput: pagination: DashboardInstanceConsumerSurfacesListOutputPagination +class mapDashboardInstanceConsumerSurfacesListOutputItemsSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutputItemsSkillConfiguration: + return DashboardInstanceConsumerSurfacesListOutputItemsSkillConfiguration( + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutputItemsSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceConsumerSurfacesListOutputItemsAuth: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutputItemsAuth: @@ -54,6 +83,9 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutp status=data.get('status'), name=data.get('name'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapDashboardInstanceConsumerSurfacesListOutputItemsSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapDashboardInstanceConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/create.py index 8a22c429..ba32824c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/create.py @@ -9,6 +9,7 @@ class DashboardInstanceConsumersCreateOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersCreateOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get.py index 99cc3f02..a27574e5 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get.py @@ -9,6 +9,7 @@ class DashboardInstanceConsumersGetOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersGetOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get_member_consumer.py index 69b0b72b..760744be 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get_member_consumer.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get_member_consumer.py @@ -3,43 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class DashboardInstanceConsumersGetMemberConsumerOutputProfileGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class DashboardInstanceConsumersGetMemberConsumerOutputProfileGroups: - object: str - group: DashboardInstanceConsumersGetMemberConsumerOutputProfileGroupsGroup - assigned_via: str -@dataclass -class DashboardInstanceConsumersGetMemberConsumerOutputProfile: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - status: str - created_at: datetime - updated_at: datetime - groups: Optional[List[DashboardInstanceConsumersGetMemberConsumerOutputProfileGroups]] = None @dataclass class DashboardInstanceConsumersGetMemberConsumerOutput: object: str id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime - profile: DashboardInstanceConsumersGetMemberConsumerOutputProfile + profile: Dict[str, Any] class mapDashboardInstanceConsumersGetMemberConsumerOutput: @@ -50,9 +23,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersGetMemberConsum id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - profile=mapDashboardInstanceConsumersGetMemberConsumerOutputProfile.from_dict(data.get('profile')) if data.get('profile') else None + profile=data.get('profile') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/list.py index c7e14691..01e9fda7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/list.py @@ -9,6 +9,7 @@ class DashboardInstanceConsumersListOutputItems: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @dataclass @@ -29,6 +30,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersListOutputItems id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/get.py index 44927f87..590b7546 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/get.py @@ -33,46 +33,6 @@ class DashboardInstanceConsumersProfilesGetOutput: groups: Optional[List[DashboardInstanceConsumersProfilesGetOutputGroups]] = None -class mapDashboardInstanceConsumersProfilesGetOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesGetOutputGroupsGroup: - return DashboardInstanceConsumersProfilesGetOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstanceConsumersProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapDashboardInstanceConsumersProfilesGetOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesGetOutputGroups: - return DashboardInstanceConsumersProfilesGetOutputGroups( - object=data.get('object'), - group=mapDashboardInstanceConsumersProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[DashboardInstanceConsumersProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapDashboardInstanceConsumersProfilesGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesGetOutput: @@ -82,11 +42,11 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesGetOutp name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - groups=[mapDashboardInstanceConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), status=data.get('status'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapDashboardInstanceConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/list.py index 111459fc..f13cba96 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/list.py @@ -3,108 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class DashboardInstanceConsumersProfilesListOutputItemsGroups: - object: str - group: DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup - assigned_via: str -@dataclass -class DashboardInstanceConsumersProfilesListOutputItems: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - status: str - created_at: datetime - updated_at: datetime - groups: Optional[List[DashboardInstanceConsumersProfilesListOutputItemsGroups]] = None @dataclass class DashboardInstanceConsumersProfilesListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class DashboardInstanceConsumersProfilesListOutput: - items: List[DashboardInstanceConsumersProfilesListOutputItems] + items: List[Dict[str, Any]] pagination: DashboardInstanceConsumersProfilesListOutputPagination -class mapDashboardInstanceConsumersProfilesListOutputItemsGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup: - return DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapDashboardInstanceConsumersProfilesListOutputItemsGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputItemsGroups: - return DashboardInstanceConsumersProfilesListOutputItemsGroups( - object=data.get('object'), - group=mapDashboardInstanceConsumersProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapDashboardInstanceConsumersProfilesListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputItems: - return DashboardInstanceConsumersProfilesListOutputItems( - object=data.get('object'), - id=data.get('id'), - name=data.get('name'), - email=data.get('email'), - image_url=data.get('image_url'), - groups=[mapDashboardInstanceConsumersProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], - consumer_id=data.get('consumer_id'), - status=data.get('status'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapDashboardInstanceConsumersProfilesListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputPagination: @@ -125,7 +33,7 @@ class mapDashboardInstanceConsumersProfilesListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutput: return DashboardInstanceConsumersProfilesListOutput( - items=[mapDashboardInstanceConsumersProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapDashboardInstanceConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/update.py index 8d734bb7..9ce2f2e8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/update.py @@ -9,6 +9,7 @@ class DashboardInstanceConsumersUpdateOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersUpdateOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/__init__.py new file mode 100644 index 00000000..e1927704 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .get import * +from .list import * +from .messages import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/create.py new file mode 100644 index 00000000..aa233fb2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/create.py @@ -0,0 +1,335 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceConversationsCreateOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsCreateOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActor] = None + consumer: Optional[DashboardInstanceConversationsCreateOutputCreatedByActorConsumer] = None +@dataclass +class DashboardInstanceConversationsCreateOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsCreateOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsCreateOutputAssistantDefaultModelProvider +@dataclass +class DashboardInstanceConversationsCreateOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsCreateOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsCreateOutputAssistantAvailableModelsProvider +@dataclass +class DashboardInstanceConversationsCreateOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[DashboardInstanceConversationsCreateOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[DashboardInstanceConversationsCreateOutputAssistantDefaultModel] = None +@dataclass +class DashboardInstanceConversationsCreateOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: DashboardInstanceConversationsCreateOutputCreatedByActor + root_message_id: str + assistant: DashboardInstanceConversationsCreateOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapDashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams: + return DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActor: + return DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputCreatedByActorConsumer: + return DashboardInstanceConversationsCreateOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputCreatedByActor: + return DashboardInstanceConversationsCreateOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceConversationsCreateOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceConversationsCreateOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputAssistantDefaultModelProvider: + return DashboardInstanceConversationsCreateOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputAssistantDefaultModel: + return DashboardInstanceConversationsCreateOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsCreateOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputAssistantAvailableModelsProvider: + return DashboardInstanceConversationsCreateOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputAssistantAvailableModels: + return DashboardInstanceConversationsCreateOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsCreateOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutputAssistant: + return DashboardInstanceConversationsCreateOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapDashboardInstanceConversationsCreateOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapDashboardInstanceConversationsCreateOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateOutput: + return DashboardInstanceConversationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapDashboardInstanceConversationsCreateOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapDashboardInstanceConversationsCreateOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConversationsCreateBody: + assistant_id: str + title: Optional[str] = None + + +class mapDashboardInstanceConversationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsCreateBody: + return DashboardInstanceConversationsCreateBody( + assistant_id=data.get('assistant_id'), + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/get.py new file mode 100644 index 00000000..217efb5b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/get.py @@ -0,0 +1,312 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceConversationsGetOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsGetOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActor] = None + consumer: Optional[DashboardInstanceConversationsGetOutputCreatedByActorConsumer] = None +@dataclass +class DashboardInstanceConversationsGetOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsGetOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsGetOutputAssistantDefaultModelProvider +@dataclass +class DashboardInstanceConversationsGetOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsGetOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsGetOutputAssistantAvailableModelsProvider +@dataclass +class DashboardInstanceConversationsGetOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[DashboardInstanceConversationsGetOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[DashboardInstanceConversationsGetOutputAssistantDefaultModel] = None +@dataclass +class DashboardInstanceConversationsGetOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: DashboardInstanceConversationsGetOutputCreatedByActor + root_message_id: str + assistant: DashboardInstanceConversationsGetOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapDashboardInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams: + return DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActor: + return DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputCreatedByActorConsumer: + return DashboardInstanceConversationsGetOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputCreatedByActor: + return DashboardInstanceConversationsGetOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceConversationsGetOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceConversationsGetOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputAssistantDefaultModelProvider: + return DashboardInstanceConversationsGetOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputAssistantDefaultModel: + return DashboardInstanceConversationsGetOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsGetOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputAssistantAvailableModelsProvider: + return DashboardInstanceConversationsGetOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputAssistantAvailableModels: + return DashboardInstanceConversationsGetOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsGetOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutputAssistant: + return DashboardInstanceConversationsGetOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapDashboardInstanceConversationsGetOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapDashboardInstanceConversationsGetOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsGetOutput: + return DashboardInstanceConversationsGetOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapDashboardInstanceConversationsGetOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapDashboardInstanceConversationsGetOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/list.py new file mode 100644 index 00000000..bc4a9d7c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/list.py @@ -0,0 +1,383 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceConversationsListOutputItemsCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsListOutputItemsCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActor] = None + consumer: Optional[DashboardInstanceConversationsListOutputItemsCreatedByActorConsumer] = None +@dataclass +class DashboardInstanceConversationsListOutputItemsAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsListOutputItemsAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsListOutputItemsAssistantDefaultModelProvider +@dataclass +class DashboardInstanceConversationsListOutputItemsAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsListOutputItemsAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsListOutputItemsAssistantAvailableModelsProvider +@dataclass +class DashboardInstanceConversationsListOutputItemsAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[DashboardInstanceConversationsListOutputItemsAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[DashboardInstanceConversationsListOutputItemsAssistantDefaultModel] = None +@dataclass +class DashboardInstanceConversationsListOutputItems: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: DashboardInstanceConversationsListOutputItemsCreatedByActor + root_message_id: str + assistant: DashboardInstanceConversationsListOutputItemsAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None +@dataclass +class DashboardInstanceConversationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceConversationsListOutput: + items: List[DashboardInstanceConversationsListOutputItems] + pagination: DashboardInstanceConversationsListOutputPagination + + +class mapDashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + return DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActor: + return DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItemsCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsCreatedByActorConsumer: + return DashboardInstanceConversationsListOutputItemsCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItemsCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsCreatedByActor: + return DashboardInstanceConversationsListOutputItemsCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceConversationsListOutputItemsCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceConversationsListOutputItemsCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItemsAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsAssistantDefaultModelProvider: + return DashboardInstanceConversationsListOutputItemsAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItemsAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsAssistantDefaultModel: + return DashboardInstanceConversationsListOutputItemsAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsListOutputItemsAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItemsAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsAssistantAvailableModelsProvider: + return DashboardInstanceConversationsListOutputItemsAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItemsAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsAssistantAvailableModels: + return DashboardInstanceConversationsListOutputItemsAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsListOutputItemsAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItemsAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItemsAssistant: + return DashboardInstanceConversationsListOutputItemsAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapDashboardInstanceConversationsListOutputItemsAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapDashboardInstanceConversationsListOutputItemsAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItemsAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputItems: + return DashboardInstanceConversationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapDashboardInstanceConversationsListOutputItemsCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapDashboardInstanceConversationsListOutputItemsAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutputPagination: + return DashboardInstanceConversationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListOutput: + return DashboardInstanceConversationsListOutput( + items=[mapDashboardInstanceConversationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceConversationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConversationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + assistant_id: Optional[Union[str, List[str]]] = None + + +class mapDashboardInstanceConversationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsListQuery: + return DashboardInstanceConversationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + assistant_id=data.get('assistant_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/create.py new file mode 100644 index 00000000..2878e83d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/create.py @@ -0,0 +1,291 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConversationsMessagesCreateOutputModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsMessagesCreateOutputModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsMessagesCreateOutputModelProvider +@dataclass +class DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceConversationsMessagesCreateOutputRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsMessagesCreateOutputRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor] = None + consumer: Optional[DashboardInstanceConversationsMessagesCreateOutputRequestActorConsumer] = None +@dataclass +class DashboardInstanceConversationsMessagesCreateOutputRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[DashboardInstanceConversationsMessagesCreateOutputRequestActor] = None +@dataclass +class DashboardInstanceConversationsMessagesCreateOutput: + object: str + id: str + conversation_item_id: str + type: str + request: DashboardInstanceConversationsMessagesCreateOutputRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[DashboardInstanceConversationsMessagesCreateOutputModel] = None + + +class mapDashboardInstanceConversationsMessagesCreateOutputModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateOutputModelProvider: + return DashboardInstanceConversationsMessagesCreateOutputModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateOutputModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesCreateOutputModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateOutputModel: + return DashboardInstanceConversationsMessagesCreateOutputModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsMessagesCreateOutputModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateOutputModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + return DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor: + return DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesCreateOutputRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateOutputRequestActorConsumer: + return DashboardInstanceConversationsMessagesCreateOutputRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateOutputRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesCreateOutputRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateOutputRequestActor: + return DashboardInstanceConversationsMessagesCreateOutputRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceConversationsMessagesCreateOutputRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateOutputRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesCreateOutputRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateOutputRequest: + return DashboardInstanceConversationsMessagesCreateOutputRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapDashboardInstanceConversationsMessagesCreateOutputRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateOutputRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateOutput: + return DashboardInstanceConversationsMessagesCreateOutput( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapDashboardInstanceConversationsMessagesCreateOutputModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapDashboardInstanceConversationsMessagesCreateOutputRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConversationsMessagesCreateBodyMessage: + parts: List[Dict[str, Any]] +@dataclass +class DashboardInstanceConversationsMessagesCreateBody: + message: DashboardInstanceConversationsMessagesCreateBodyMessage + parent_message_id: Optional[str] = None + model_id: Optional[str] = None + + +class mapDashboardInstanceConversationsMessagesCreateBodyMessage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateBodyMessage: + return DashboardInstanceConversationsMessagesCreateBodyMessage( + parts=data.get('parts', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateBodyMessage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesCreateBody: + return DashboardInstanceConversationsMessagesCreateBody( + message=mapDashboardInstanceConversationsMessagesCreateBodyMessage.from_dict(data.get('message')) if data.get('message') else None, + parent_message_id=data.get('parent_message_id'), + model_id=data.get('model_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/get.py new file mode 100644 index 00000000..e808e29d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/get.py @@ -0,0 +1,248 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConversationsMessagesGetOutputModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsMessagesGetOutputModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsMessagesGetOutputModelProvider +@dataclass +class DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceConversationsMessagesGetOutputRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsMessagesGetOutputRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActor] = None + consumer: Optional[DashboardInstanceConversationsMessagesGetOutputRequestActorConsumer] = None +@dataclass +class DashboardInstanceConversationsMessagesGetOutputRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[DashboardInstanceConversationsMessagesGetOutputRequestActor] = None +@dataclass +class DashboardInstanceConversationsMessagesGetOutput: + object: str + id: str + conversation_item_id: str + type: str + request: DashboardInstanceConversationsMessagesGetOutputRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[DashboardInstanceConversationsMessagesGetOutputModel] = None + + +class mapDashboardInstanceConversationsMessagesGetOutputModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesGetOutputModelProvider: + return DashboardInstanceConversationsMessagesGetOutputModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesGetOutputModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesGetOutputModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesGetOutputModel: + return DashboardInstanceConversationsMessagesGetOutputModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsMessagesGetOutputModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesGetOutputModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + return DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActor: + return DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesGetOutputRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesGetOutputRequestActorConsumer: + return DashboardInstanceConversationsMessagesGetOutputRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesGetOutputRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesGetOutputRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesGetOutputRequestActor: + return DashboardInstanceConversationsMessagesGetOutputRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceConversationsMessagesGetOutputRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceConversationsMessagesGetOutputRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesGetOutputRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesGetOutputRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesGetOutputRequest: + return DashboardInstanceConversationsMessagesGetOutputRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapDashboardInstanceConversationsMessagesGetOutputRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesGetOutputRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesGetOutput: + return DashboardInstanceConversationsMessagesGetOutput( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapDashboardInstanceConversationsMessagesGetOutputModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapDashboardInstanceConversationsMessagesGetOutputRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/list.py new file mode 100644 index 00000000..13106d96 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/messages/list.py @@ -0,0 +1,317 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConversationsMessagesListOutputItemsModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsMessagesListOutputItemsModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsMessagesListOutputItemsModelProvider +@dataclass +class DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceConversationsMessagesListOutputItemsRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsMessagesListOutputItemsRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor] = None + consumer: Optional[DashboardInstanceConversationsMessagesListOutputItemsRequestActorConsumer] = None +@dataclass +class DashboardInstanceConversationsMessagesListOutputItemsRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[DashboardInstanceConversationsMessagesListOutputItemsRequestActor] = None +@dataclass +class DashboardInstanceConversationsMessagesListOutputItems: + object: str + id: str + conversation_item_id: str + type: str + request: DashboardInstanceConversationsMessagesListOutputItemsRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[DashboardInstanceConversationsMessagesListOutputItemsModel] = None +@dataclass +class DashboardInstanceConversationsMessagesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceConversationsMessagesListOutput: + items: List[DashboardInstanceConversationsMessagesListOutputItems] + pagination: DashboardInstanceConversationsMessagesListOutputPagination + + +class mapDashboardInstanceConversationsMessagesListOutputItemsModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputItemsModelProvider: + return DashboardInstanceConversationsMessagesListOutputItemsModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputItemsModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutputItemsModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputItemsModel: + return DashboardInstanceConversationsMessagesListOutputItemsModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsMessagesListOutputItemsModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputItemsModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + return DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor: + return DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutputItemsRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputItemsRequestActorConsumer: + return DashboardInstanceConversationsMessagesListOutputItemsRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputItemsRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutputItemsRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputItemsRequestActor: + return DashboardInstanceConversationsMessagesListOutputItemsRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceConversationsMessagesListOutputItemsRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputItemsRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutputItemsRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputItemsRequest: + return DashboardInstanceConversationsMessagesListOutputItemsRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapDashboardInstanceConversationsMessagesListOutputItemsRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputItemsRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputItems: + return DashboardInstanceConversationsMessagesListOutputItems( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapDashboardInstanceConversationsMessagesListOutputItemsModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapDashboardInstanceConversationsMessagesListOutputItemsRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutputPagination: + return DashboardInstanceConversationsMessagesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsMessagesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListOutput: + return DashboardInstanceConversationsMessagesListOutput( + items=[mapDashboardInstanceConversationsMessagesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceConversationsMessagesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConversationsMessagesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceConversationsMessagesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsMessagesListQuery: + return DashboardInstanceConversationsMessagesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsMessagesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/update.py new file mode 100644 index 00000000..70d681b7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/conversations/update.py @@ -0,0 +1,333 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceConversationsUpdateOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConversationsUpdateOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActor] = None + consumer: Optional[DashboardInstanceConversationsUpdateOutputCreatedByActorConsumer] = None +@dataclass +class DashboardInstanceConversationsUpdateOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsUpdateOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsUpdateOutputAssistantDefaultModelProvider +@dataclass +class DashboardInstanceConversationsUpdateOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class DashboardInstanceConversationsUpdateOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: DashboardInstanceConversationsUpdateOutputAssistantAvailableModelsProvider +@dataclass +class DashboardInstanceConversationsUpdateOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[DashboardInstanceConversationsUpdateOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[DashboardInstanceConversationsUpdateOutputAssistantDefaultModel] = None +@dataclass +class DashboardInstanceConversationsUpdateOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: DashboardInstanceConversationsUpdateOutputCreatedByActor + root_message_id: str + assistant: DashboardInstanceConversationsUpdateOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapDashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + return DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActor: + return DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputCreatedByActorConsumer: + return DashboardInstanceConversationsUpdateOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputCreatedByActor: + return DashboardInstanceConversationsUpdateOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceConversationsUpdateOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceConversationsUpdateOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputAssistantDefaultModelProvider: + return DashboardInstanceConversationsUpdateOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputAssistantDefaultModel: + return DashboardInstanceConversationsUpdateOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsUpdateOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputAssistantAvailableModelsProvider: + return DashboardInstanceConversationsUpdateOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputAssistantAvailableModels: + return DashboardInstanceConversationsUpdateOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapDashboardInstanceConversationsUpdateOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutputAssistant: + return DashboardInstanceConversationsUpdateOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapDashboardInstanceConversationsUpdateOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapDashboardInstanceConversationsUpdateOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConversationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateOutput: + return DashboardInstanceConversationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapDashboardInstanceConversationsUpdateOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapDashboardInstanceConversationsUpdateOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConversationsUpdateBody: + title: Optional[str] = None + + +class mapDashboardInstanceConversationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConversationsUpdateBody: + return DashboardInstanceConversationsUpdateBody( + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConversationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/__init__.py index 0d9390f8..0b79d12c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/__init__.py @@ -3,6 +3,7 @@ from .deployments import * from .environments import * from .get import * +from .get_env import * from .list import * from .update import * from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/get_env.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/get_env.py new file mode 100644 index 00000000..558bc37c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/get_env.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceCustomProvidersGetEnvOutput: + object: str + env: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceCustomProvidersGetEnvOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCustomProvidersGetEnvOutput: + return DashboardInstanceCustomProvidersGetEnvOutput( + object=data.get('object'), + env=data.get('env') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCustomProvidersGetEnvOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/versions/__init__.py index f8b85669..751514d8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/versions/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/versions/__init__.py @@ -1,3 +1,4 @@ from .create import * from .get import * +from .get_env import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/versions/get_env.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/versions/get_env.py new file mode 100644 index 00000000..fc0405c3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/custom_providers/versions/get_env.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceCustomProvidersVersionsGetEnvOutput: + object: str + env: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceCustomProvidersVersionsGetEnvOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceCustomProvidersVersionsGetEnvOutput: + return DashboardInstanceCustomProvidersVersionsGetEnvOutput( + object=data.get('object'), + env=data.get('env') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceCustomProvidersVersionsGetEnvOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/__init__.py new file mode 100644 index 00000000..0b172ea4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/__init__.py @@ -0,0 +1,9 @@ +from .clone import * +from .create import * +from .delete import * +from .get import * +from .list import * +from .participants import * +from .permissions import * +from .update import * +from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/clone.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/clone.py new file mode 100644 index 00000000..490e35a6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/clone.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsCloneOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsCloneOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsCloneOutputCreatedByConsumer] = None +@dataclass +class DashboardInstanceDocumentsCloneOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceDocumentsCloneOutputCreatedBy] = None + + +class mapDashboardInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams: + return DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsCloneOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActor: + return DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCloneOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsCloneOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCloneOutputCreatedByConsumer: + return DashboardInstanceDocumentsCloneOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCloneOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsCloneOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCloneOutputCreatedBy: + return DashboardInstanceDocumentsCloneOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsCloneOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsCloneOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCloneOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsCloneOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCloneOutput: + return DashboardInstanceDocumentsCloneOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceDocumentsCloneOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCloneOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceDocumentsCloneBody: + target_document_id: Optional[str] = None + title: Optional[str] = None + + +class mapDashboardInstanceDocumentsCloneBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCloneBody: + return DashboardInstanceDocumentsCloneBody( + target_document_id=data.get('target_document_id'), + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCloneBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/create.py new file mode 100644 index 00000000..4719d66c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/create.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsCreateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsCreateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsCreateOutputCreatedByConsumer] = None +@dataclass +class DashboardInstanceDocumentsCreateOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceDocumentsCreateOutputCreatedBy] = None + + +class mapDashboardInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams: + return DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsCreateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActor: + return DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCreateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsCreateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCreateOutputCreatedByConsumer: + return DashboardInstanceDocumentsCreateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCreateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsCreateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCreateOutputCreatedBy: + return DashboardInstanceDocumentsCreateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsCreateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsCreateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCreateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCreateOutput: + return DashboardInstanceDocumentsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceDocumentsCreateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceDocumentsCreateBody: + title: str + content: str + + +class mapDashboardInstanceDocumentsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsCreateBody: + return DashboardInstanceDocumentsCreateBody( + title=data.get('title'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/delete.py new file mode 100644 index 00000000..b6ee0428 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/delete.py @@ -0,0 +1,168 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsDeleteOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsDeleteOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsDeleteOutputCreatedByConsumer] = None +@dataclass +class DashboardInstanceDocumentsDeleteOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceDocumentsDeleteOutputCreatedBy] = None + + +class mapDashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams: + return DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActor: + return DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsDeleteOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsDeleteOutputCreatedByConsumer: + return DashboardInstanceDocumentsDeleteOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsDeleteOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsDeleteOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsDeleteOutputCreatedBy: + return DashboardInstanceDocumentsDeleteOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsDeleteOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsDeleteOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsDeleteOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsDeleteOutput: + return DashboardInstanceDocumentsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceDocumentsDeleteOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/get.py new file mode 100644 index 00000000..c85c5db7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/get.py @@ -0,0 +1,168 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsGetOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsGetOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsGetOutputCreatedByConsumer] = None +@dataclass +class DashboardInstanceDocumentsGetOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceDocumentsGetOutputCreatedBy] = None + + +class mapDashboardInstanceDocumentsGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsGetOutputCreatedByOrganizationActorTeams: + return DashboardInstanceDocumentsGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsGetOutputCreatedByOrganizationActor: + return DashboardInstanceDocumentsGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsGetOutputCreatedByConsumer: + return DashboardInstanceDocumentsGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsGetOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsGetOutputCreatedBy: + return DashboardInstanceDocumentsGetOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsGetOutput: + return DashboardInstanceDocumentsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceDocumentsGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/list.py new file mode 100644 index 00000000..b7b27c6f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/list.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsListOutputItemsCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsListOutputItemsCreatedByConsumer] = None +@dataclass +class DashboardInstanceDocumentsListOutputItems: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceDocumentsListOutputItemsCreatedBy] = None +@dataclass +class DashboardInstanceDocumentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceDocumentsListOutput: + items: List[DashboardInstanceDocumentsListOutputItems] + pagination: DashboardInstanceDocumentsListOutputPagination + + +class mapDashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams: + return DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActor: + return DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsListOutputItemsCreatedByConsumer: + return DashboardInstanceDocumentsListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsListOutputItemsCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsListOutputItemsCreatedBy: + return DashboardInstanceDocumentsListOutputItemsCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsListOutputItems: + return DashboardInstanceDocumentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceDocumentsListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsListOutputPagination: + return DashboardInstanceDocumentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsListOutput: + return DashboardInstanceDocumentsListOutput( + items=[mapDashboardInstanceDocumentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceDocumentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceDocumentsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceDocumentsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceDocumentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + file_id: Optional[Union[str, List[str]]] = None + store_id: Optional[Union[str, List[str]]] = None + parent_document_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceDocumentsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceDocumentsListQueryUpdatedAt] = None + + +class mapDashboardInstanceDocumentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsListQuery: + return DashboardInstanceDocumentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + file_id=data.get('file_id'), + store_id=data.get('store_id'), + parent_document_id=data.get('parent_document_id'), + created_at=mapDashboardInstanceDocumentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceDocumentsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/get.py new file mode 100644 index 00000000..6d9e9f4e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/get.py @@ -0,0 +1,162 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsParticipantsGetOutputActorConsumer] = None +@dataclass +class DashboardInstanceDocumentsParticipantsGetOutput: + object: str + id: str + role: str + edit_count: float + actor: DashboardInstanceDocumentsParticipantsGetOutputActor + created_at: datetime + last_edited_at: Optional[datetime] = None + last_viewed_at: Optional[datetime] = None + + +class mapDashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams: + return DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActor: + return DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsGetOutputActorConsumer: + return DashboardInstanceDocumentsParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsGetOutputActor: + return DashboardInstanceDocumentsParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsGetOutput: + return DashboardInstanceDocumentsParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + role=data.get('role'), + edit_count=data.get('edit_count'), + last_edited_at=datetime.fromisoformat(data.get('last_edited_at').replace('Z', '+00:00')) if data.get('last_edited_at') else None, + last_viewed_at=datetime.fromisoformat(data.get('last_viewed_at').replace('Z', '+00:00')) if data.get('last_viewed_at') else None, + actor=mapDashboardInstanceDocumentsParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/list.py new file mode 100644 index 00000000..d5f5a836 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/participants/list.py @@ -0,0 +1,245 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsParticipantsListOutputItemsActorConsumer] = None +@dataclass +class DashboardInstanceDocumentsParticipantsListOutputItems: + object: str + id: str + role: str + edit_count: float + actor: DashboardInstanceDocumentsParticipantsListOutputItemsActor + created_at: datetime + last_edited_at: Optional[datetime] = None + last_viewed_at: Optional[datetime] = None +@dataclass +class DashboardInstanceDocumentsParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceDocumentsParticipantsListOutput: + items: List[DashboardInstanceDocumentsParticipantsListOutputItems] + pagination: DashboardInstanceDocumentsParticipantsListOutputPagination + + +class mapDashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + return DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor: + return DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsListOutputItemsActorConsumer: + return DashboardInstanceDocumentsParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsListOutputItemsActor: + return DashboardInstanceDocumentsParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsListOutputItems: + return DashboardInstanceDocumentsParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + role=data.get('role'), + edit_count=data.get('edit_count'), + last_edited_at=datetime.fromisoformat(data.get('last_edited_at').replace('Z', '+00:00')) if data.get('last_edited_at') else None, + last_viewed_at=datetime.fromisoformat(data.get('last_viewed_at').replace('Z', '+00:00')) if data.get('last_viewed_at') else None, + actor=mapDashboardInstanceDocumentsParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsListOutputPagination: + return DashboardInstanceDocumentsParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsListOutput: + return DashboardInstanceDocumentsParticipantsListOutput( + items=[mapDashboardInstanceDocumentsParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceDocumentsParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceDocumentsParticipantsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceDocumentsParticipantsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceDocumentsParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceDocumentsParticipantsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceDocumentsParticipantsListQueryUpdatedAt] = None + + +class mapDashboardInstanceDocumentsParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsParticipantsListQuery: + return DashboardInstanceDocumentsParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapDashboardInstanceDocumentsParticipantsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceDocumentsParticipantsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/permissions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/permissions/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/permissions/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/permissions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/permissions/get.py new file mode 100644 index 00000000..1a7aa6c4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/permissions/get.py @@ -0,0 +1,40 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsPermissionsGetOutput: + object: str + document_id: str + is_owner: bool + has_full_access: bool + permissions: List[str] + relevant_store_ids: List[str] + readable_store_ids: List[str] + writable_store_ids: List[str] + + +class mapDashboardInstanceDocumentsPermissionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsPermissionsGetOutput: + return DashboardInstanceDocumentsPermissionsGetOutput( + object=data.get('object'), + document_id=data.get('document_id'), + is_owner=data.get('is_owner'), + has_full_access=data.get('has_full_access'), + permissions=data.get('permissions', []), + relevant_store_ids=data.get('relevant_store_ids', []), + readable_store_ids=data.get('readable_store_ids', []), + writable_store_ids=data.get('writable_store_ids', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsPermissionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/update.py new file mode 100644 index 00000000..088a308d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/update.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsUpdateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsUpdateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsUpdateOutputCreatedByConsumer] = None +@dataclass +class DashboardInstanceDocumentsUpdateOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceDocumentsUpdateOutputCreatedBy] = None + + +class mapDashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams: + return DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActor: + return DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsUpdateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsUpdateOutputCreatedByConsumer: + return DashboardInstanceDocumentsUpdateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsUpdateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsUpdateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsUpdateOutputCreatedBy: + return DashboardInstanceDocumentsUpdateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsUpdateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsUpdateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsUpdateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsUpdateOutput: + return DashboardInstanceDocumentsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceDocumentsUpdateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceDocumentsUpdateBody: + title: Optional[str] = None + content: Optional[str] = None + + +class mapDashboardInstanceDocumentsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsUpdateBody: + return DashboardInstanceDocumentsUpdateBody( + title=data.get('title'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/get.py new file mode 100644 index 00000000..38a93924 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/get.py @@ -0,0 +1,164 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsVersionsGetOutputEditorsConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsVersionsGetOutputEditors: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsVersionsGetOutputEditorsConsumer] = None +@dataclass +class DashboardInstanceDocumentsVersionsGetOutput: + object: str + id: str + document_id: str + version_number: float + content: str + editors: List[DashboardInstanceDocumentsVersionsGetOutputEditors] + created_at: datetime + previous_version_id: Optional[str] = None + list_edited_at: Optional[datetime] = None + + +class mapDashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams: + return DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActor: + return DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsGetOutputEditorsConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsGetOutputEditorsConsumer: + return DashboardInstanceDocumentsVersionsGetOutputEditorsConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsGetOutputEditorsConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsGetOutputEditors: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsGetOutputEditors: + return DashboardInstanceDocumentsVersionsGetOutputEditors( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsVersionsGetOutputEditorsOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsVersionsGetOutputEditorsConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsGetOutputEditors, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsGetOutput: + return DashboardInstanceDocumentsVersionsGetOutput( + object=data.get('object'), + id=data.get('id'), + document_id=data.get('document_id'), + version_number=data.get('version_number'), + previous_version_id=data.get('previous_version_id'), + list_edited_at=datetime.fromisoformat(data.get('list_edited_at').replace('Z', '+00:00')) if data.get('list_edited_at') else None, + content=data.get('content'), + editors=[mapDashboardInstanceDocumentsVersionsGetOutputEditors.from_dict(item) for item in data.get('editors', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/list.py new file mode 100644 index 00000000..b7a76271 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/documents/versions/list.py @@ -0,0 +1,247 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceDocumentsVersionsListOutputItemsEditorsConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceDocumentsVersionsListOutputItemsEditors: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor] = None + consumer: Optional[DashboardInstanceDocumentsVersionsListOutputItemsEditorsConsumer] = None +@dataclass +class DashboardInstanceDocumentsVersionsListOutputItems: + object: str + id: str + document_id: str + version_number: float + content: str + editors: List[DashboardInstanceDocumentsVersionsListOutputItemsEditors] + created_at: datetime + previous_version_id: Optional[str] = None + list_edited_at: Optional[datetime] = None +@dataclass +class DashboardInstanceDocumentsVersionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceDocumentsVersionsListOutput: + items: List[DashboardInstanceDocumentsVersionsListOutputItems] + pagination: DashboardInstanceDocumentsVersionsListOutputPagination + + +class mapDashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + return DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor: + return DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsListOutputItemsEditorsConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsListOutputItemsEditorsConsumer: + return DashboardInstanceDocumentsVersionsListOutputItemsEditorsConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsListOutputItemsEditorsConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsListOutputItemsEditors: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsListOutputItemsEditors: + return DashboardInstanceDocumentsVersionsListOutputItemsEditors( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceDocumentsVersionsListOutputItemsEditorsConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsListOutputItemsEditors, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsListOutputItems: + return DashboardInstanceDocumentsVersionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + document_id=data.get('document_id'), + version_number=data.get('version_number'), + previous_version_id=data.get('previous_version_id'), + list_edited_at=datetime.fromisoformat(data.get('list_edited_at').replace('Z', '+00:00')) if data.get('list_edited_at') else None, + content=data.get('content'), + editors=[mapDashboardInstanceDocumentsVersionsListOutputItemsEditors.from_dict(item) for item in data.get('editors', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsListOutputPagination: + return DashboardInstanceDocumentsVersionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceDocumentsVersionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsListOutput: + return DashboardInstanceDocumentsVersionsListOutput( + items=[mapDashboardInstanceDocumentsVersionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceDocumentsVersionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceDocumentsVersionsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceDocumentsVersionsListQueryLastEditedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceDocumentsVersionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceDocumentsVersionsListQueryCreatedAt] = None + last_edited_at: Optional[DashboardInstanceDocumentsVersionsListQueryLastEditedAt] = None + + +class mapDashboardInstanceDocumentsVersionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceDocumentsVersionsListQuery: + return DashboardInstanceDocumentsVersionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapDashboardInstanceDocumentsVersionsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + last_edited_at=mapDashboardInstanceDocumentsVersionsListQueryLastEditedAt.from_dict(data.get('last_edited_at')) if data.get('last_edited_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceDocumentsVersionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/__init__.py index 68407627..79c91449 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/__init__.py @@ -1,3 +1,4 @@ from .delete import * from .get import * +from .links import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/delete.py index 6b2af15b..f0a821fc 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/delete.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class DashboardInstanceFilesDeleteOutputPurpose: +class DashboardInstanceFilesDeleteOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceFilesDeleteOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceFilesDeleteOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceFilesDeleteOutputCreatedByConsumer: + object: str + id: str name: str - identifier: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceFilesDeleteOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceFilesDeleteOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceFilesDeleteOutputCreatedByConsumer] = None @dataclass class DashboardInstanceFilesDeleteOutput: object: str @@ -15,22 +48,92 @@ class DashboardInstanceFilesDeleteOutput: file_name: str file_size: float file_type: str - purpose: DashboardInstanceFilesDeleteOutputPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[DashboardInstanceFilesDeleteOutputCreatedBy] = None + +class mapDashboardInstanceFilesDeleteOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesDeleteOutputCreatedByOrganizationActorTeams: + return DashboardInstanceFilesDeleteOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesDeleteOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceFilesDeleteOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesDeleteOutputCreatedByOrganizationActor: + return DashboardInstanceFilesDeleteOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceFilesDeleteOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesDeleteOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceFilesDeleteOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesDeleteOutputCreatedByConsumer: + return DashboardInstanceFilesDeleteOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesDeleteOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) -class mapDashboardInstanceFilesDeleteOutputPurpose: +class mapDashboardInstanceFilesDeleteOutputCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesDeleteOutputPurpose: - return DashboardInstanceFilesDeleteOutputPurpose( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesDeleteOutputCreatedBy: + return DashboardInstanceFilesDeleteOutputCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceFilesDeleteOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceFilesDeleteOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[DashboardInstanceFilesDeleteOutputPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesDeleteOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -48,7 +151,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesDeleteOutput: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapDashboardInstanceFilesDeleteOutputPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapDashboardInstanceFilesDeleteOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/get.py index e40eb4ec..2f34ac30 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/get.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class DashboardInstanceFilesGetOutputPurpose: +class DashboardInstanceFilesGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceFilesGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceFilesGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceFilesGetOutputCreatedByConsumer: + object: str + id: str name: str - identifier: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceFilesGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceFilesGetOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceFilesGetOutputCreatedByConsumer] = None @dataclass class DashboardInstanceFilesGetOutput: object: str @@ -15,22 +48,92 @@ class DashboardInstanceFilesGetOutput: file_name: str file_size: float file_type: str - purpose: DashboardInstanceFilesGetOutputPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[DashboardInstanceFilesGetOutputCreatedBy] = None + +class mapDashboardInstanceFilesGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesGetOutputCreatedByOrganizationActorTeams: + return DashboardInstanceFilesGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceFilesGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesGetOutputCreatedByOrganizationActor: + return DashboardInstanceFilesGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceFilesGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceFilesGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesGetOutputCreatedByConsumer: + return DashboardInstanceFilesGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) -class mapDashboardInstanceFilesGetOutputPurpose: +class mapDashboardInstanceFilesGetOutputCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesGetOutputPurpose: - return DashboardInstanceFilesGetOutputPurpose( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesGetOutputCreatedBy: + return DashboardInstanceFilesGetOutputCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceFilesGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceFilesGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[DashboardInstanceFilesGetOutputPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -48,7 +151,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesGetOutput: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapDashboardInstanceFilesGetOutputPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapDashboardInstanceFilesGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/__init__.py similarity index 100% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/__init__.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/__init__.py diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/create.py similarity index 72% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/create.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/create.py index 7b910d12..1aad9580 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/create.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class DashboardInstanceFileLinksCreateOutput: +class DashboardInstanceFilesLinksCreateOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class DashboardInstanceFileLinksCreateOutput: expires_at: Optional[datetime] = None -class mapDashboardInstanceFileLinksCreateOutput: +class mapDashboardInstanceFilesLinksCreateOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksCreateOutput: - return DashboardInstanceFileLinksCreateOutput( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesLinksCreateOutput: + return DashboardInstanceFilesLinksCreateOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksCreateOutput: ) @staticmethod - def to_dict(value: Union[DashboardInstanceFileLinksCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesLinksCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -35,21 +35,21 @@ def to_dict(value: Union[DashboardInstanceFileLinksCreateOutput, Dict[str, Any], return dataclasses.asdict(value) @dataclass -class DashboardInstanceFileLinksCreateBody: +class DashboardInstanceFilesLinksCreateBody: file_id: str expires_at: Optional[datetime] = None -class mapDashboardInstanceFileLinksCreateBody: +class mapDashboardInstanceFilesLinksCreateBody: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksCreateBody: - return DashboardInstanceFileLinksCreateBody( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesLinksCreateBody: + return DashboardInstanceFilesLinksCreateBody( file_id=data.get('file_id'), expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None ) @staticmethod - def to_dict(value: Union[DashboardInstanceFileLinksCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesLinksCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/delete.py similarity index 76% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/delete.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/delete.py index de7834ca..30c54b65 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/delete.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class DashboardInstanceFileLinksDeleteOutput: +class DashboardInstanceFilesLinksDeleteOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class DashboardInstanceFileLinksDeleteOutput: expires_at: Optional[datetime] = None -class mapDashboardInstanceFileLinksDeleteOutput: +class mapDashboardInstanceFilesLinksDeleteOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksDeleteOutput: - return DashboardInstanceFileLinksDeleteOutput( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesLinksDeleteOutput: + return DashboardInstanceFilesLinksDeleteOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksDeleteOutput: ) @staticmethod - def to_dict(value: Union[DashboardInstanceFileLinksDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesLinksDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/get.py similarity index 77% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/get.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/get.py index 8420cc7f..d6ea8fdc 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/get.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class DashboardInstanceFileLinksGetOutput: +class DashboardInstanceFilesLinksGetOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class DashboardInstanceFileLinksGetOutput: expires_at: Optional[datetime] = None -class mapDashboardInstanceFileLinksGetOutput: +class mapDashboardInstanceFilesLinksGetOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksGetOutput: - return DashboardInstanceFileLinksGetOutput( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesLinksGetOutput: + return DashboardInstanceFilesLinksGetOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksGetOutput: ) @staticmethod - def to_dict(value: Union[DashboardInstanceFileLinksGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesLinksGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/list.py similarity index 62% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/list.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/list.py index 92e1839b..3b956261 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/links/list.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ManagementInstanceFileLinksListOutputItems: +class DashboardInstanceFilesLinksListOutputItems: object: str id: str file_id: str @@ -12,19 +12,19 @@ class ManagementInstanceFileLinksListOutputItems: created_at: datetime expires_at: Optional[datetime] = None @dataclass -class ManagementInstanceFileLinksListOutputPagination: +class DashboardInstanceFilesLinksListOutputPagination: has_more_before: bool has_more_after: bool @dataclass -class ManagementInstanceFileLinksListOutput: - items: List[ManagementInstanceFileLinksListOutputItems] - pagination: ManagementInstanceFileLinksListOutputPagination +class DashboardInstanceFilesLinksListOutput: + items: List[DashboardInstanceFilesLinksListOutputItems] + pagination: DashboardInstanceFilesLinksListOutputPagination -class mapManagementInstanceFileLinksListOutputItems: +class mapDashboardInstanceFilesLinksListOutputItems: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksListOutputItems: - return ManagementInstanceFileLinksListOutputItems( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesLinksListOutputItems: + return DashboardInstanceFilesLinksListOutputItems( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -34,39 +34,39 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksListOutputItem ) @staticmethod - def to_dict(value: Union[ManagementInstanceFileLinksListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesLinksListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapManagementInstanceFileLinksListOutputPagination: +class mapDashboardInstanceFilesLinksListOutputPagination: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksListOutputPagination: - return ManagementInstanceFileLinksListOutputPagination( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesLinksListOutputPagination: + return DashboardInstanceFilesLinksListOutputPagination( has_more_before=data.get('has_more_before'), has_more_after=data.get('has_more_after') ) @staticmethod - def to_dict(value: Union[ManagementInstanceFileLinksListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesLinksListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapManagementInstanceFileLinksListOutput: +class mapDashboardInstanceFilesLinksListOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksListOutput: - return ManagementInstanceFileLinksListOutput( - items=[mapManagementInstanceFileLinksListOutputItems.from_dict(item) for item in data.get('items', []) if item], - pagination=mapManagementInstanceFileLinksListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesLinksListOutput: + return DashboardInstanceFilesLinksListOutput( + items=[mapDashboardInstanceFilesLinksListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceFilesLinksListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) @staticmethod - def to_dict(value: Union[ManagementInstanceFileLinksListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesLinksListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -75,7 +75,7 @@ def to_dict(value: Union[ManagementInstanceFileLinksListOutput, Dict[str, Any], return dataclasses.asdict(value) @dataclass -class ManagementInstanceFileLinksListQuery: +class DashboardInstanceFilesLinksListQuery: limit: Optional[float] = None after: Optional[str] = None before: Optional[str] = None @@ -84,10 +84,10 @@ class ManagementInstanceFileLinksListQuery: file_id: Optional[str] = None -class mapManagementInstanceFileLinksListQuery: +class mapDashboardInstanceFilesLinksListQuery: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksListQuery: - return ManagementInstanceFileLinksListQuery( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesLinksListQuery: + return DashboardInstanceFilesLinksListQuery( limit=data.get('limit'), after=data.get('after'), before=data.get('before'), @@ -97,7 +97,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksListQuery: ) @staticmethod - def to_dict(value: Union[ManagementInstanceFileLinksListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesLinksListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/list.py index 99b11254..f70634b5 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/files/list.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class DashboardInstanceFilesListOutputItemsPurpose: +class DashboardInstanceFilesListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceFilesListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceFilesListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceFilesListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceFilesListOutputItemsCreatedBy: + type: str name: str - identifier: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceFilesListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceFilesListOutputItemsCreatedByConsumer] = None @dataclass class DashboardInstanceFilesListOutputItems: object: str @@ -15,10 +48,11 @@ class DashboardInstanceFilesListOutputItems: file_name: str file_size: float file_type: str - purpose: DashboardInstanceFilesListOutputItemsPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[DashboardInstanceFilesListOutputItemsCreatedBy] = None @dataclass class DashboardInstanceFilesListOutputPagination: has_more_before: bool @@ -29,16 +63,85 @@ class DashboardInstanceFilesListOutput: pagination: DashboardInstanceFilesListOutputPagination -class mapDashboardInstanceFilesListOutputItemsPurpose: +class mapDashboardInstanceFilesListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesListOutputItemsCreatedByOrganizationActorTeams: + return DashboardInstanceFilesListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceFilesListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesListOutputItemsCreatedByOrganizationActor: + return DashboardInstanceFilesListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceFilesListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceFilesListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesListOutputItemsCreatedByConsumer: + return DashboardInstanceFilesListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceFilesListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceFilesListOutputItemsCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesListOutputItemsPurpose: - return DashboardInstanceFilesListOutputItemsPurpose( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesListOutputItemsCreatedBy: + return DashboardInstanceFilesListOutputItemsCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceFilesListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceFilesListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[DashboardInstanceFilesListOutputItemsPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceFilesListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -56,7 +159,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesListOutputItems: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapDashboardInstanceFilesListOutputItemsPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapDashboardInstanceFilesListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -103,13 +207,27 @@ def to_dict(value: Union[DashboardInstanceFilesListOutput, Dict[str, Any], None] return dataclasses.asdict(value) @dataclass +class DashboardInstanceFilesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceFilesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass class DashboardInstanceFilesListQuery: limit: Optional[float] = None after: Optional[str] = None before: Optional[str] = None cursor: Optional[str] = None order: Optional[str] = None - purpose: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + purpose: Optional[Union[str, List[str]]] = None + store_id: Optional[Union[str, List[str]]] = None + document_id: Optional[Union[str, List[str]]] = None + file_link_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceFilesListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceFilesListQueryUpdatedAt] = None class mapDashboardInstanceFilesListQuery: @@ -121,7 +239,13 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFilesListQuery: before=data.get('before'), cursor=data.get('cursor'), order=data.get('order'), - purpose=data.get('purpose') + id=data.get('id'), + purpose=data.get('purpose'), + store_id=data.get('store_id'), + document_id=data.get('document_id'), + file_link_id=data.get('file_link_id'), + created_at=mapDashboardInstanceFilesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceFilesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/__init__.py new file mode 100644 index 00000000..5eaf3896 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/__init__.py @@ -0,0 +1,9 @@ +from .create import * +from .delete import * +from .get import * +from .instance_groups import * +from .instances import * +from .list import * +from .providers import * +from .setup_sessions import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/create.py new file mode 100644 index 00000000..970431f1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/create.py @@ -0,0 +1,185 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsCreateOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceIntegrationsCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsCreateOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsCreateOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsCreateOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: DashboardInstanceIntegrationsCreateOutputConfiguration + providers: List[DashboardInstanceIntegrationsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsCreateOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsCreateOutputConfiguration: + return DashboardInstanceIntegrationsCreateOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsCreateOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsCreateOutputProvidersConfig: + return DashboardInstanceIntegrationsCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsCreateOutputProviders: + return DashboardInstanceIntegrationsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsCreateOutput: + return DashboardInstanceIntegrationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceIntegrationsCreateOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapDashboardInstanceIntegrationsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + can_attach_custom_tool_filters: Optional[bool] = None + can_attach_custom_provider_config: Optional[bool] = None + can_override_tool_filters: Optional[bool] = None + + +class mapDashboardInstanceIntegrationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsCreateBody: + return DashboardInstanceIntegrationsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/delete.py new file mode 100644 index 00000000..20dc0840 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/delete.py @@ -0,0 +1,154 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsDeleteOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceIntegrationsDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsDeleteOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsDeleteOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsDeleteOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: DashboardInstanceIntegrationsDeleteOutputConfiguration + providers: List[DashboardInstanceIntegrationsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsDeleteOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsDeleteOutputConfiguration: + return DashboardInstanceIntegrationsDeleteOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsDeleteOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsDeleteOutputProvidersConfig: + return DashboardInstanceIntegrationsDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsDeleteOutputProviders: + return DashboardInstanceIntegrationsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsDeleteOutput: + return DashboardInstanceIntegrationsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceIntegrationsDeleteOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapDashboardInstanceIntegrationsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/get.py new file mode 100644 index 00000000..720653c0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/get.py @@ -0,0 +1,154 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsGetOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceIntegrationsGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsGetOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsGetOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsGetOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: DashboardInstanceIntegrationsGetOutputConfiguration + providers: List[DashboardInstanceIntegrationsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsGetOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsGetOutputConfiguration: + return DashboardInstanceIntegrationsGetOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsGetOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsGetOutputProvidersConfig: + return DashboardInstanceIntegrationsGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsGetOutputProviders: + return DashboardInstanceIntegrationsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsGetOutput: + return DashboardInstanceIntegrationsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceIntegrationsGetOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapDashboardInstanceIntegrationsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/__init__.py new file mode 100644 index 00000000..2c33b5a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .create_session import * +from .create_session_template import * +from .delete import * +from .get import * +from .list import * +from .providers import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create.py new file mode 100644 index 00000000..d27eef86 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateOutput: + object: str + id: str + status: str + name: str + providers: List[DashboardInstanceIntegrationsInstanceGroupsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[DashboardInstanceIntegrationsInstanceGroupsCreateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateOutputImplementation: + return DashboardInstanceIntegrationsInstanceGroupsCreateOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateOutputProviders: + return DashboardInstanceIntegrationsInstanceGroupsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateOutput: + return DashboardInstanceIntegrationsInstanceGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapDashboardInstanceIntegrationsInstanceGroupsCreateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstanceGroupsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateBodyProviders: + integration_instance_provider_id: str + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + providers: Optional[List[DashboardInstanceIntegrationsInstanceGroupsCreateBodyProviders]] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateBodyProviders: + return DashboardInstanceIntegrationsInstanceGroupsCreateBodyProviders( + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateBody: + return DashboardInstanceIntegrationsInstanceGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + providers=[mapDashboardInstanceIntegrationsInstanceGroupsCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create_session.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create_session.py new file mode 100644 index 00000000..f391d7a3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create_session.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders: + object: str + id: str + status: str + usage: DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage + tool_filter: Dict[str, Any] + provider_id: str + session_id: str + deployment: DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment + config: DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig + created_at: datetime + updated_at: datetime + from_template_id: Optional[str] = None + from_template_provider_id: Optional[str] = None + auth_config: Optional[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput: + object: str + id: str + status: str + connection_state: str + connection_url: str + usage: DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage + providers: List[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders] + from_templates_ids: List[str] + has_errors: bool + has_warnings: bool + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + usage=mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage.from_dict(data.get('usage')) if data.get('usage') else None, + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_id=data.get('session_id'), + from_template_id=data.get('from_template_id'), + from_template_provider_id=data.get('from_template_provider_id'), + deployment=mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + connection_state=data.get('connection_state'), + connection_url=data.get('connection_url'), + client_secret=data.get('client_secret'), + usage=mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage.from_dict(data.get('usage')) if data.get('usage') else None, + providers=[mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + from_templates_ids=data.get('from_templates_ids', []), + has_errors=data.get('has_errors'), + has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionBody: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create_session_template.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create_session_template.py new file mode 100644 index 00000000..13838923 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/create_session_template.py @@ -0,0 +1,201 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + object: str + id: str + status: str + tool_filter: Dict[str, Any] + provider_id: str + session_template_id: str + deployment: DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment + config: DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig + created_at: datetime + updated_at: datetime + auth_config: Optional[DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + object: str + id: str + status: str + name: str + providers: List[DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_template_id=data.get('session_template_id'), + deployment=mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody: + return DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/delete.py new file mode 100644 index 00000000..99c2060b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/delete.py @@ -0,0 +1,114 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsDeleteOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsDeleteOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsDeleteOutput: + object: str + id: str + status: str + name: str + providers: List[DashboardInstanceIntegrationsInstanceGroupsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[DashboardInstanceIntegrationsInstanceGroupsDeleteOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsDeleteOutputImplementation: + return DashboardInstanceIntegrationsInstanceGroupsDeleteOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsDeleteOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsDeleteOutputProviders: + return DashboardInstanceIntegrationsInstanceGroupsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsDeleteOutput: + return DashboardInstanceIntegrationsInstanceGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstanceGroupsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/get.py new file mode 100644 index 00000000..a91e9784 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/get.py @@ -0,0 +1,114 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsGetOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsGetOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsGetOutput: + object: str + id: str + status: str + name: str + providers: List[DashboardInstanceIntegrationsInstanceGroupsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[DashboardInstanceIntegrationsInstanceGroupsGetOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsGetOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsGetOutputImplementation: + return DashboardInstanceIntegrationsInstanceGroupsGetOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsGetOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsGetOutputProviders: + return DashboardInstanceIntegrationsInstanceGroupsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsGetOutput: + return DashboardInstanceIntegrationsInstanceGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapDashboardInstanceIntegrationsInstanceGroupsGetOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstanceGroupsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/list.py new file mode 100644 index 00000000..a58053c6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/list.py @@ -0,0 +1,217 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsListOutputItemsImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsListOutputItemsProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsListOutputItems: + object: str + id: str + status: str + name: str + providers: List[DashboardInstanceIntegrationsInstanceGroupsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[DashboardInstanceIntegrationsInstanceGroupsListOutputItemsImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsListOutput: + items: List[DashboardInstanceIntegrationsInstanceGroupsListOutputItems] + pagination: DashboardInstanceIntegrationsInstanceGroupsListOutputPagination + + +class mapDashboardInstanceIntegrationsInstanceGroupsListOutputItemsImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsListOutputItemsImplementation: + return DashboardInstanceIntegrationsInstanceGroupsListOutputItemsImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsListOutputItemsImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsListOutputItemsProviders: + return DashboardInstanceIntegrationsInstanceGroupsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsListOutputItems: + return DashboardInstanceIntegrationsInstanceGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapDashboardInstanceIntegrationsInstanceGroupsListOutputItemsImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstanceGroupsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsListOutputPagination: + return DashboardInstanceIntegrationsInstanceGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsListOutput: + return DashboardInstanceIntegrationsInstanceGroupsListOutput( + items=[mapDashboardInstanceIntegrationsInstanceGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceIntegrationsInstanceGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceIntegrationsInstanceGroupsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceIntegrationsInstanceGroupsListQueryUpdatedAt] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsListQuery: + return DashboardInstanceIntegrationsInstanceGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapDashboardInstanceIntegrationsInstanceGroupsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceIntegrationsInstanceGroupsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/__init__.py new file mode 100644 index 00000000..43f8f638 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/__init__.py @@ -0,0 +1,4 @@ +from .delete import * +from .get import * +from .list import * +from .set import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/delete.py new file mode 100644 index 00000000..708c0cee --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/delete.py @@ -0,0 +1,56 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + return DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsProvidersDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/get.py new file mode 100644 index 00000000..f92cda5e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/get.py @@ -0,0 +1,56 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput: + return DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/list.py new file mode 100644 index 00000000..a76acf20 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/list.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput: + items: List[DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputItems] + pagination: DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputPagination + + +class mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputItems: + return DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputPagination: + return DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput: + return DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput( + items=[mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceIntegrationsInstanceGroupsProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_instance_group_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceIntegrationsInstanceGroupsProvidersListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceIntegrationsInstanceGroupsProvidersListQueryUpdatedAt] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsProvidersListQuery: + return DashboardInstanceIntegrationsInstanceGroupsProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapDashboardInstanceIntegrationsInstanceGroupsProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceIntegrationsInstanceGroupsProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/set.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/set.py new file mode 100644 index 00000000..c29bab2e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/providers/set.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput: + return DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsProvidersSetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsProvidersSetBody: + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsProvidersSetBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsProvidersSetBody: + return DashboardInstanceIntegrationsInstanceGroupsProvidersSetBody( + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsProvidersSetBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/update.py new file mode 100644 index 00000000..1beac7f1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instance_groups/update.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsUpdateOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsUpdateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsUpdateOutput: + object: str + id: str + status: str + name: str + providers: List[DashboardInstanceIntegrationsInstanceGroupsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[DashboardInstanceIntegrationsInstanceGroupsUpdateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsUpdateOutputImplementation: + return DashboardInstanceIntegrationsInstanceGroupsUpdateOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsUpdateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsUpdateOutputProviders: + return DashboardInstanceIntegrationsInstanceGroupsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsUpdateOutput: + return DashboardInstanceIntegrationsInstanceGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstanceGroupsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsUpdateBodyProviders: + integration_instance_provider_id: str + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None +@dataclass +class DashboardInstanceIntegrationsInstanceGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + providers: Optional[List[DashboardInstanceIntegrationsInstanceGroupsUpdateBodyProviders]] = None + + +class mapDashboardInstanceIntegrationsInstanceGroupsUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsUpdateBodyProviders: + return DashboardInstanceIntegrationsInstanceGroupsUpdateBodyProviders( + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstanceGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstanceGroupsUpdateBody: + return DashboardInstanceIntegrationsInstanceGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + providers=[mapDashboardInstanceIntegrationsInstanceGroupsUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstanceGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/__init__.py new file mode 100644 index 00000000..2c33b5a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .create_session import * +from .create_session_template import * +from .delete import * +from .get import * +from .list import * +from .providers import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create.py new file mode 100644 index 00000000..73adb7f0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create.py @@ -0,0 +1,383 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsInstancesCreateOutputProvidersProvider + integration_provider: DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsInstancesCreateOutputProvidersConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[DashboardInstanceIntegrationsInstancesCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[DashboardInstanceIntegrationsInstancesCreateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstancesCreateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutputImplementation: + return DashboardInstanceIntegrationsInstancesCreateOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutputProvidersProvider: + return DashboardInstanceIntegrationsInstancesCreateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + return DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider: + return DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutputProvidersConfig: + return DashboardInstanceIntegrationsInstancesCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig: + return DashboardInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutputProviders: + return DashboardInstanceIntegrationsInstancesCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateOutput: + return DashboardInstanceIntegrationsInstancesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapDashboardInstanceIntegrationsInstancesCreateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstancesCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstancesCreateBodyProviders: + provider_id: str + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateBody: + integration_id: str + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + providers: Optional[List[DashboardInstanceIntegrationsInstancesCreateBodyProviders]] = None + + +class mapDashboardInstanceIntegrationsInstancesCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateBodyProviders: + return DashboardInstanceIntegrationsInstancesCreateBodyProviders( + provider_id=data.get('provider_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateBody: + return DashboardInstanceIntegrationsInstancesCreateBody( + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapDashboardInstanceIntegrationsInstancesCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create_session.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create_session.py new file mode 100644 index 00000000..6d0e68e9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create_session.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionOutputUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionOutputProviders: + object: str + id: str + status: str + usage: DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage + tool_filter: Dict[str, Any] + provider_id: str + session_id: str + deployment: DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment + config: DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig + created_at: datetime + updated_at: datetime + from_template_id: Optional[str] = None + from_template_provider_id: Optional[str] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionOutput: + object: str + id: str + status: str + connection_state: str + connection_url: str + usage: DashboardInstanceIntegrationsInstancesCreateSessionOutputUsage + providers: List[DashboardInstanceIntegrationsInstancesCreateSessionOutputProviders] + from_templates_ids: List[str] + has_errors: bool + has_warnings: bool + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapDashboardInstanceIntegrationsInstancesCreateSessionOutputUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionOutputUsage: + return DashboardInstanceIntegrationsInstancesCreateSessionOutputUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionOutputUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage: + return DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment: + return DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig: + return DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + return DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionOutputProviders: + return DashboardInstanceIntegrationsInstancesCreateSessionOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + usage=mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage.from_dict(data.get('usage')) if data.get('usage') else None, + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_id=data.get('session_id'), + from_template_id=data.get('from_template_id'), + from_template_provider_id=data.get('from_template_provider_id'), + deployment=mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionOutput: + return DashboardInstanceIntegrationsInstancesCreateSessionOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + connection_state=data.get('connection_state'), + connection_url=data.get('connection_url'), + client_secret=data.get('client_secret'), + usage=mapDashboardInstanceIntegrationsInstancesCreateSessionOutputUsage.from_dict(data.get('usage')) if data.get('usage') else None, + providers=[mapDashboardInstanceIntegrationsInstancesCreateSessionOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + from_templates_ids=data.get('from_templates_ids', []), + has_errors=data.get('has_errors'), + has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceIntegrationsInstancesCreateSessionBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionBody: + return DashboardInstanceIntegrationsInstancesCreateSessionBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create_session_template.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create_session_template.py new file mode 100644 index 00000000..46ef028a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/create_session_template.py @@ -0,0 +1,201 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders: + object: str + id: str + status: str + tool_filter: Dict[str, Any] + provider_id: str + session_template_id: str + deployment: DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment + config: DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig + created_at: datetime + updated_at: datetime + auth_config: Optional[DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig] = None +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput: + object: str + id: str + status: str + name: str + providers: List[DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + return DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + return DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + return DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders: + return DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_template_id=data.get('session_template_id'), + deployment=mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput: + return DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionTemplateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstancesCreateSessionTemplateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceIntegrationsInstancesCreateSessionTemplateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesCreateSessionTemplateBody: + return DashboardInstanceIntegrationsInstancesCreateSessionTemplateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesCreateSessionTemplateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/delete.py new file mode 100644 index 00000000..1b99b73b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/delete.py @@ -0,0 +1,324 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsInstancesDeleteOutputProvidersProvider + integration_provider: DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesDeleteOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[DashboardInstanceIntegrationsInstancesDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[DashboardInstanceIntegrationsInstancesDeleteOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstancesDeleteOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutputImplementation: + return DashboardInstanceIntegrationsInstancesDeleteOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutputProvidersProvider: + return DashboardInstanceIntegrationsInstancesDeleteOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + return DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + return DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutputProvidersConfig: + return DashboardInstanceIntegrationsInstancesDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig: + return DashboardInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutputProviders: + return DashboardInstanceIntegrationsInstancesDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesDeleteOutput: + return DashboardInstanceIntegrationsInstancesDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapDashboardInstanceIntegrationsInstancesDeleteOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstancesDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/get.py new file mode 100644 index 00000000..867a62c0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/get.py @@ -0,0 +1,324 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsInstancesGetOutputProvidersProvider + integration_provider: DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsInstancesGetOutputProvidersConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesGetOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[DashboardInstanceIntegrationsInstancesGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[DashboardInstanceIntegrationsInstancesGetOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstancesGetOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutputImplementation: + return DashboardInstanceIntegrationsInstancesGetOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesGetOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutputProvidersProvider: + return DashboardInstanceIntegrationsInstancesGetOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + return DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider: + return DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutputProvidersConfig: + return DashboardInstanceIntegrationsInstancesGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesGetOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutputProvidersAuthConfig: + return DashboardInstanceIntegrationsInstancesGetOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutputProviders: + return DashboardInstanceIntegrationsInstancesGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsInstancesGetOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsInstancesGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesGetOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesGetOutput: + return DashboardInstanceIntegrationsInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapDashboardInstanceIntegrationsInstancesGetOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstancesGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/list.py new file mode 100644 index 00000000..610630c1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/list.py @@ -0,0 +1,431 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItemsImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItemsProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItemsProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsInstancesListOutputItemsProvidersProvider + integration_provider: DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[DashboardInstanceIntegrationsInstancesListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[DashboardInstanceIntegrationsInstancesListOutputItemsImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceIntegrationsInstancesListOutput: + items: List[DashboardInstanceIntegrationsInstancesListOutputItems] + pagination: DashboardInstanceIntegrationsInstancesListOutputPagination + + +class mapDashboardInstanceIntegrationsInstancesListOutputItemsImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItemsImplementation: + return DashboardInstanceIntegrationsInstancesListOutputItemsImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItemsImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItemsProvidersProvider: + return DashboardInstanceIntegrationsInstancesListOutputItemsProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + return DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + return DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItemsProvidersConfig: + return DashboardInstanceIntegrationsInstancesListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig: + return DashboardInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItemsProviders: + return DashboardInstanceIntegrationsInstancesListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputItems: + return DashboardInstanceIntegrationsInstancesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapDashboardInstanceIntegrationsInstancesListOutputItemsImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstancesListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutputPagination: + return DashboardInstanceIntegrationsInstancesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListOutput: + return DashboardInstanceIntegrationsInstancesListOutput( + items=[mapDashboardInstanceIntegrationsInstancesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceIntegrationsInstancesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstancesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None + identity_actor_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceIntegrationsInstancesListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceIntegrationsInstancesListQueryUpdatedAt] = None + + +class mapDashboardInstanceIntegrationsInstancesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesListQuery: + return DashboardInstanceIntegrationsInstancesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), + identity_actor_id=data.get('identity_actor_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapDashboardInstanceIntegrationsInstancesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceIntegrationsInstancesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/__init__.py new file mode 100644 index 00000000..8669f60a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .set import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/get.py new file mode 100644 index 00000000..0ea1fffa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/get.py @@ -0,0 +1,260 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersGetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsInstancesProvidersGetOutputProvider + integration_provider: DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsInstancesProvidersGetOutputConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesProvidersGetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstancesProvidersGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersGetOutputProvider: + return DashboardInstanceIntegrationsInstancesProvidersGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + return DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider: + return DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersGetOutputConfig: + return DashboardInstanceIntegrationsInstancesProvidersGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersGetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersGetOutputAuthConfig: + return DashboardInstanceIntegrationsInstancesProvidersGetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersGetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersGetOutput: + return DashboardInstanceIntegrationsInstancesProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsInstancesProvidersGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsInstancesProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesProvidersGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/list.py new file mode 100644 index 00000000..f0ef2e9d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/list.py @@ -0,0 +1,363 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutputItemsConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsInstancesProvidersListOutputItemsProvider + integration_provider: DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListOutput: + items: List[DashboardInstanceIntegrationsInstancesProvidersListOutputItems] + pagination: DashboardInstanceIntegrationsInstancesProvidersListOutputPagination + + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutputItemsProvider: + return DashboardInstanceIntegrationsInstancesProvidersListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + return DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + return DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutputItemsConfig: + return DashboardInstanceIntegrationsInstancesProvidersListOutputItemsConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig: + return DashboardInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutputItems: + return DashboardInstanceIntegrationsInstancesProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutputPagination: + return DashboardInstanceIntegrationsInstancesProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListOutput: + return DashboardInstanceIntegrationsInstancesProvidersListOutput( + items=[mapDashboardInstanceIntegrationsInstancesProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceIntegrationsInstancesProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceIntegrationsInstancesProvidersListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceIntegrationsInstancesProvidersListQueryUpdatedAt] = None + + +class mapDashboardInstanceIntegrationsInstancesProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersListQuery: + return DashboardInstanceIntegrationsInstancesProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapDashboardInstanceIntegrationsInstancesProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceIntegrationsInstancesProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/set.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/set.py new file mode 100644 index 00000000..9e2e2943 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/providers/set.py @@ -0,0 +1,289 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersSetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersSetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersSetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersSetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsInstancesProvidersSetOutputProvider + integration_provider: DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsInstancesProvidersSetOutputConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesProvidersSetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstancesProvidersSetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersSetOutputProvider: + return DashboardInstanceIntegrationsInstancesProvidersSetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersSetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + return DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider: + return DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersSetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersSetOutputConfig: + return DashboardInstanceIntegrationsInstancesProvidersSetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersSetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersSetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersSetOutputAuthConfig: + return DashboardInstanceIntegrationsInstancesProvidersSetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersSetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesProvidersSetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersSetOutput: + return DashboardInstanceIntegrationsInstancesProvidersSetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsInstancesProvidersSetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsInstancesProvidersSetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesProvidersSetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersSetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstancesProvidersSetBody: + provider_deployment_id: Optional[str] = None + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None + + +class mapDashboardInstanceIntegrationsInstancesProvidersSetBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesProvidersSetBody: + return DashboardInstanceIntegrationsInstancesProvidersSetBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesProvidersSetBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/update.py new file mode 100644 index 00000000..831573c9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/instances/update.py @@ -0,0 +1,381 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsInstancesUpdateOutputProvidersProvider + integration_provider: DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[DashboardInstanceIntegrationsInstancesUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[DashboardInstanceIntegrationsInstancesUpdateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsInstancesUpdateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutputImplementation: + return DashboardInstanceIntegrationsInstancesUpdateOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutputProvidersProvider: + return DashboardInstanceIntegrationsInstancesUpdateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + return DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + return DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutputProvidersConfig: + return DashboardInstanceIntegrationsInstancesUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig: + return DashboardInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutputProviders: + return DashboardInstanceIntegrationsInstancesUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateOutput: + return DashboardInstanceIntegrationsInstancesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapDashboardInstanceIntegrationsInstancesUpdateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsInstancesUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateBodyProviders: + provider_id: str + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None +@dataclass +class DashboardInstanceIntegrationsInstancesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + providers: Optional[List[DashboardInstanceIntegrationsInstancesUpdateBodyProviders]] = None + + +class mapDashboardInstanceIntegrationsInstancesUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateBodyProviders: + return DashboardInstanceIntegrationsInstancesUpdateBodyProviders( + provider_id=data.get('provider_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsInstancesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsInstancesUpdateBody: + return DashboardInstanceIntegrationsInstancesUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapDashboardInstanceIntegrationsInstancesUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsInstancesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/list.py new file mode 100644 index 00000000..e7f66597 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/list.py @@ -0,0 +1,245 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsListOutputItemsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceIntegrationsListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsListOutputItemsProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsListOutputItemsProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsListOutputItems: + object: str + id: str + status: str + slug: str + name: str + configuration: DashboardInstanceIntegrationsListOutputItemsConfiguration + providers: List[DashboardInstanceIntegrationsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceIntegrationsListOutput: + items: List[DashboardInstanceIntegrationsListOutputItems] + pagination: DashboardInstanceIntegrationsListOutputPagination + + +class mapDashboardInstanceIntegrationsListOutputItemsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsListOutputItemsConfiguration: + return DashboardInstanceIntegrationsListOutputItemsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsListOutputItemsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsListOutputItemsProvidersConfig: + return DashboardInstanceIntegrationsListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsListOutputItemsProviders: + return DashboardInstanceIntegrationsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsListOutputItems: + return DashboardInstanceIntegrationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceIntegrationsListOutputItemsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapDashboardInstanceIntegrationsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsListOutputPagination: + return DashboardInstanceIntegrationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsListOutput: + return DashboardInstanceIntegrationsListOutput( + items=[mapDashboardInstanceIntegrationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceIntegrationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceIntegrationsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceIntegrationsListQueryUpdatedAt] = None + + +class mapDashboardInstanceIntegrationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsListQuery: + return DashboardInstanceIntegrationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + created_at=mapDashboardInstanceIntegrationsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceIntegrationsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/create.py new file mode 100644 index 00000000..e0977f5f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/create.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsProvidersCreateOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsProvidersCreateOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsProvidersCreateOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsProvidersCreateOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersCreateOutputConfig: + return DashboardInstanceIntegrationsProvidersCreateOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersCreateOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsProvidersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersCreateOutput: + return DashboardInstanceIntegrationsProvidersCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsProvidersCreateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsProvidersCreateBody: + integration_id: str + provider_id: str + provider_deployment_id: str + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapDashboardInstanceIntegrationsProvidersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersCreateBody: + return DashboardInstanceIntegrationsProvidersCreateBody( + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/delete.py new file mode 100644 index 00000000..c4061904 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/delete.py @@ -0,0 +1,90 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsProvidersDeleteOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsProvidersDeleteOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsProvidersDeleteOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsProvidersDeleteOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersDeleteOutputConfig: + return DashboardInstanceIntegrationsProvidersDeleteOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersDeleteOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsProvidersDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersDeleteOutput: + return DashboardInstanceIntegrationsProvidersDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsProvidersDeleteOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/get.py new file mode 100644 index 00000000..1515449a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/get.py @@ -0,0 +1,90 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsProvidersGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsProvidersGetOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsProvidersGetOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsProvidersGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersGetOutputConfig: + return DashboardInstanceIntegrationsProvidersGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersGetOutput: + return DashboardInstanceIntegrationsProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/list.py new file mode 100644 index 00000000..385f28bc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/list.py @@ -0,0 +1,189 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsProvidersListOutputItemsConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsProvidersListOutputItems: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsProvidersListOutputItemsConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceIntegrationsProvidersListOutput: + items: List[DashboardInstanceIntegrationsProvidersListOutputItems] + pagination: DashboardInstanceIntegrationsProvidersListOutputPagination + + +class mapDashboardInstanceIntegrationsProvidersListOutputItemsConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersListOutputItemsConfig: + return DashboardInstanceIntegrationsProvidersListOutputItemsConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersListOutputItemsConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersListOutputItems: + return DashboardInstanceIntegrationsProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersListOutputPagination: + return DashboardInstanceIntegrationsProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersListOutput: + return DashboardInstanceIntegrationsProvidersListOutput( + items=[mapDashboardInstanceIntegrationsProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceIntegrationsProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_auth_method_id: Optional[Union[str, List[str]]] = None + provider_auth_credentials_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceIntegrationsProvidersListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceIntegrationsProvidersListQueryUpdatedAt] = None + + +class mapDashboardInstanceIntegrationsProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersListQuery: + return DashboardInstanceIntegrationsProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + created_at=mapDashboardInstanceIntegrationsProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceIntegrationsProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/update.py new file mode 100644 index 00000000..45df4953 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/providers/update.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsProvidersUpdateOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsProvidersUpdateOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsProvidersUpdateOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsProvidersUpdateOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersUpdateOutputConfig: + return DashboardInstanceIntegrationsProvidersUpdateOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersUpdateOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsProvidersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersUpdateOutput: + return DashboardInstanceIntegrationsProvidersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsProvidersUpdateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsProvidersUpdateBody: + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapDashboardInstanceIntegrationsProvidersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsProvidersUpdateBody: + return DashboardInstanceIntegrationsProvidersUpdateBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsProvidersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/create.py new file mode 100644 index 00000000..2a15833c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/create.py @@ -0,0 +1,539 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider + integration_provider: DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateOutput: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None + + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance: + return DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateOutput: + return DashboardInstanceIntegrationsSetupSessionsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapDashboardInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + group_id: str +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + collection_id: str +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + category_id: str +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + groups: Optional[List[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups]] = None + collections: Optional[List[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections]] = None + categories: Optional[List[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + enabled: Optional[bool] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi: + layout: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateBodyConfiguration: + provider_search: Optional[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch] = None + tool_filters: Optional[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters] = None + ui: Optional[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsCreateBody: + integration_id: str + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + expires_at: Optional[datetime] = None + redirect_url: Optional[str] = None + configuration: Optional[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfiguration] = None + + +class mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + return DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups( + group_id=data.get('group_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + return DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections( + collection_id=data.get('collection_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + return DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories( + category_id=data.get('category_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + return DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch( + groups=[mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups.from_dict(item) for item in data.get('groups', []) if item], + collections=[mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections.from_dict(item) for item in data.get('collections', []) if item], + categories=[mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories.from_dict(item) for item in data.get('categories', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + return DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters( + enabled=data.get('enabled') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi: + return DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi( + layout=data.get('layout') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateBodyConfiguration: + return DashboardInstanceIntegrationsSetupSessionsCreateBodyConfiguration( + provider_search=mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch.from_dict(data.get('provider_search')) if data.get('provider_search') else None, + tool_filters=mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters.from_dict(data.get('tool_filters')) if data.get('tool_filters') else None, + ui=mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi.from_dict(data.get('ui')) if data.get('ui') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateBodyConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsCreateBody: + return DashboardInstanceIntegrationsSetupSessionsCreateBody( + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + redirect_url=data.get('redirect_url'), + configuration=mapDashboardInstanceIntegrationsSetupSessionsCreateBodyConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/get.py new file mode 100644 index 00000000..53b27d11 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/get.py @@ -0,0 +1,368 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider + integration_provider: DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsGetOutput: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None + + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance: + return DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsGetOutput: + return DashboardInstanceIntegrationsSetupSessionsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapDashboardInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/list.py new file mode 100644 index 00000000..478da2aa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/setup_sessions/list.py @@ -0,0 +1,457 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider + integration_provider: DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig] = None + auth_config: Optional[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputItems: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListOutput: + items: List[DashboardInstanceIntegrationsSetupSessionsListOutputItems] + pagination: DashboardInstanceIntegrationsSetupSessionsListOutputPagination + + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance: + return DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputItems: + return DashboardInstanceIntegrationsSetupSessionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapDashboardInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutputPagination: + return DashboardInstanceIntegrationsSetupSessionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsSetupSessionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListOutput: + return DashboardInstanceIntegrationsSetupSessionsListOutput( + items=[mapDashboardInstanceIntegrationsSetupSessionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceIntegrationsSetupSessionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsSetupSessionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceIntegrationsSetupSessionsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceIntegrationsSetupSessionsListQueryUpdatedAt] = None + + +class mapDashboardInstanceIntegrationsSetupSessionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsSetupSessionsListQuery: + return DashboardInstanceIntegrationsSetupSessionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + created_at=mapDashboardInstanceIntegrationsSetupSessionsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceIntegrationsSetupSessionsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsSetupSessionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/update.py new file mode 100644 index 00000000..de00cff3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/integrations/update.py @@ -0,0 +1,185 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceIntegrationsUpdateOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceIntegrationsUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceIntegrationsUpdateOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[DashboardInstanceIntegrationsUpdateOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceIntegrationsUpdateOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: DashboardInstanceIntegrationsUpdateOutputConfiguration + providers: List[DashboardInstanceIntegrationsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceIntegrationsUpdateOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsUpdateOutputConfiguration: + return DashboardInstanceIntegrationsUpdateOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsUpdateOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsUpdateOutputProvidersConfig: + return DashboardInstanceIntegrationsUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsUpdateOutputProviders: + return DashboardInstanceIntegrationsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapDashboardInstanceIntegrationsUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceIntegrationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsUpdateOutput: + return DashboardInstanceIntegrationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceIntegrationsUpdateOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapDashboardInstanceIntegrationsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceIntegrationsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + can_attach_custom_tool_filters: Optional[bool] = None + can_attach_custom_provider_config: Optional[bool] = None + can_override_tool_filters: Optional[bool] = None + + +class mapDashboardInstanceIntegrationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceIntegrationsUpdateBody: + return DashboardInstanceIntegrationsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceIntegrationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/add_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/add_servers.py index 88dcd014..dc7bfc4c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/add_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/add_servers.py @@ -14,9 +14,6 @@ class DashboardInstanceMagicMcpEndpointsAddServersOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsAddServ status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), @@ -51,25 +45,24 @@ def to_dict(value: Union[DashboardInstanceMagicMcpEndpointsAddServersOutput, Dic return dataclasses.asdict(value) @dataclass -class DashboardInstanceMagicMcpEndpointsAddServersBodyServers: +class DashboardInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers: magic_mcp_server_id: str tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @dataclass class DashboardInstanceMagicMcpEndpointsAddServersBody: - magic_mcp_server_ids: Optional[List[str]] = None - servers: Optional[List[DashboardInstanceMagicMcpEndpointsAddServersBodyServers]] = None + magic_mcp_servers: Optional[List[DashboardInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers]] = None -class mapDashboardInstanceMagicMcpEndpointsAddServersBodyServers: +class mapDashboardInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsAddServersBodyServers: - return DashboardInstanceMagicMcpEndpointsAddServersBodyServers( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers: + return DashboardInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers( magic_mcp_server_id=data.get('magic_mcp_server_id'), tool_filters=data.get('tool_filters') ) @staticmethod - def to_dict(value: Union[DashboardInstanceMagicMcpEndpointsAddServersBodyServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -80,8 +73,7 @@ class mapDashboardInstanceMagicMcpEndpointsAddServersBody: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsAddServersBody: return DashboardInstanceMagicMcpEndpointsAddServersBody( - magic_mcp_server_ids=data.get('magic_mcp_server_ids', []), - servers=[mapDashboardInstanceMagicMcpEndpointsAddServersBodyServers.from_dict(item) for item in data.get('servers', []) if item] + magic_mcp_servers=[mapDashboardInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers.from_dict(item) for item in data.get('magic_mcp_servers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/create.py index d1865440..37fb49c8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/create.py @@ -14,9 +14,6 @@ class DashboardInstanceMagicMcpEndpointsCreateOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsCreateO status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), @@ -51,7 +45,7 @@ def to_dict(value: Union[DashboardInstanceMagicMcpEndpointsCreateOutput, Dict[st return dataclasses.asdict(value) @dataclass -class DashboardInstanceMagicMcpEndpointsCreateBodyServers: +class DashboardInstanceMagicMcpEndpointsCreateBodyMagicMcpServers: magic_mcp_server_id: str tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @dataclass @@ -60,20 +54,20 @@ class DashboardInstanceMagicMcpEndpointsCreateBody: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None consumer_profile_id: Optional[str] = None - magic_mcp_server_ids: Optional[List[str]] = None - servers: Optional[List[DashboardInstanceMagicMcpEndpointsCreateBodyServers]] = None + skill_plugin_id: Optional[str] = None + magic_mcp_servers: Optional[List[DashboardInstanceMagicMcpEndpointsCreateBodyMagicMcpServers]] = None -class mapDashboardInstanceMagicMcpEndpointsCreateBodyServers: +class mapDashboardInstanceMagicMcpEndpointsCreateBodyMagicMcpServers: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsCreateBodyServers: - return DashboardInstanceMagicMcpEndpointsCreateBodyServers( + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsCreateBodyMagicMcpServers: + return DashboardInstanceMagicMcpEndpointsCreateBodyMagicMcpServers( magic_mcp_server_id=data.get('magic_mcp_server_id'), tool_filters=data.get('tool_filters') ) @staticmethod - def to_dict(value: Union[DashboardInstanceMagicMcpEndpointsCreateBodyServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardInstanceMagicMcpEndpointsCreateBodyMagicMcpServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -88,8 +82,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsCreateB description=data.get('description'), metadata=data.get('metadata'), consumer_profile_id=data.get('consumer_profile_id'), - magic_mcp_server_ids=data.get('magic_mcp_server_ids', []), - servers=[mapDashboardInstanceMagicMcpEndpointsCreateBodyServers.from_dict(item) for item in data.get('servers', []) if item] + skill_plugin_id=data.get('skill_plugin_id'), + magic_mcp_servers=[mapDashboardInstanceMagicMcpEndpointsCreateBodyMagicMcpServers.from_dict(item) for item in data.get('magic_mcp_servers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/delete.py index 2a5eb259..dcd32813 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/delete.py @@ -14,9 +14,6 @@ class DashboardInstanceMagicMcpEndpointsDeleteOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsDeleteO status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/get.py index 1e3a41b7..933594e3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/get.py @@ -14,9 +14,6 @@ class DashboardInstanceMagicMcpEndpointsGetOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsGetOutp status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/list.py index 9e1b4db5..369bb131 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/list.py @@ -14,9 +14,6 @@ class DashboardInstanceMagicMcpEndpointsListOutputItems: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -38,9 +35,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsListOut status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/remove_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/remove_servers.py index 2af7a23e..c766c60b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/remove_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/remove_servers.py @@ -14,9 +14,6 @@ class DashboardInstanceMagicMcpEndpointsRemoveServersOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsRemoveS status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/update.py index 51a7f94d..abd5777e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_endpoints/update.py @@ -14,9 +14,6 @@ class DashboardInstanceMagicMcpEndpointsUpdateOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpEndpointsUpdateO status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/create.py index 6bef03c1..b857f3fd 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/create.py @@ -9,12 +9,122 @@ class DashboardInstanceMagicMcpServersCreateOutputEndpoints: alias: str url: str @dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersCreateOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersCreateOutputProvidersProvider + deployment: DashboardInstanceMagicMcpServersCreateOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersCreateOutputProvidersConfig] = None + auth_config: Optional[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class DashboardInstanceMagicMcpServersCreateOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[DashboardInstanceMagicMcpServersCreateOutputEndpoints] + providers: List[DashboardInstanceMagicMcpServersCreateOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputEndpoints, return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersProvider: + return DashboardInstanceMagicMcpServersCreateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersDeployment: + return DashboardInstanceMagicMcpServersCreateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes: + return DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethod: + return DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersAuthCredentials: + return DashboardInstanceMagicMcpServersCreateOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersConfig: + return DashboardInstanceMagicMcpServersCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProvidersAuthConfig: + return DashboardInstanceMagicMcpServersCreateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutputProviders: + return DashboardInstanceMagicMcpServersCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersCreateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapDashboardInstanceMagicMcpServersCreateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapDashboardInstanceMagicMcpServersCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceMagicMcpServersCreateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersCreateOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateOut id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapDashboardInstanceMagicMcpServersCreateOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapDashboardInstanceMagicMcpServersCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -71,6 +411,7 @@ class DashboardInstanceMagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + provider_template_id: Optional[str] = None consumer_profile_id: Optional[str] = None @@ -81,6 +422,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateBod name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + provider_template_id=data.get('provider_template_id'), consumer_profile_id=data.get('consumer_profile_id') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/delete.py index a018c70f..79ebdaaa 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/delete.py @@ -9,12 +9,122 @@ class DashboardInstanceMagicMcpServersDeleteOutputEndpoints: alias: str url: str @dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersDeleteOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersDeleteOutputProvidersProvider + deployment: DashboardInstanceMagicMcpServersDeleteOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersDeleteOutputProvidersConfig] = None + auth_config: Optional[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class DashboardInstanceMagicMcpServersDeleteOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[DashboardInstanceMagicMcpServersDeleteOutputEndpoints] + providers: List[DashboardInstanceMagicMcpServersDeleteOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputEndpoints, return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersProvider: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersDeployment: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethod: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersConfig: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthConfig: + return DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutputProviders: + return DashboardInstanceMagicMcpServersDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersDeleteOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapDashboardInstanceMagicMcpServersDeleteOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapDashboardInstanceMagicMcpServersDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceMagicMcpServersDeleteOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersDeleteOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersDeleteOut id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapDashboardInstanceMagicMcpServersDeleteOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapDashboardInstanceMagicMcpServersDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/get.py index 76d1be6c..fb7cdff6 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/get.py @@ -9,12 +9,122 @@ class DashboardInstanceMagicMcpServersGetOutputEndpoints: alias: str url: str @dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersGetOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersGetOutputProvidersProvider + deployment: DashboardInstanceMagicMcpServersGetOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersGetOutputProvidersAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersGetOutputProvidersConfig] = None + auth_config: Optional[DashboardInstanceMagicMcpServersGetOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class DashboardInstanceMagicMcpServersGetOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[DashboardInstanceMagicMcpServersGetOutputEndpoints] + providers: List[DashboardInstanceMagicMcpServersGetOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputEndpoints, Dic return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersGetOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersProvider: + return DashboardInstanceMagicMcpServersGetOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersDeployment: + return DashboardInstanceMagicMcpServersGetOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes: + return DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethod: + return DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersAuthCredentials: + return DashboardInstanceMagicMcpServersGetOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersConfig: + return DashboardInstanceMagicMcpServersGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProvidersAuthConfig: + return DashboardInstanceMagicMcpServersGetOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutputProviders: + return DashboardInstanceMagicMcpServersGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersGetOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapDashboardInstanceMagicMcpServersGetOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapDashboardInstanceMagicMcpServersGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceMagicMcpServersGetOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersGetOutput id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapDashboardInstanceMagicMcpServersGetOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapDashboardInstanceMagicMcpServersGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/list.py index ef9d5996..c235e6f7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/list.py @@ -9,12 +9,122 @@ class DashboardInstanceMagicMcpServersListOutputItemsEndpoints: alias: str url: str @dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersListOutputItemsProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersListOutputItemsProvidersProvider + deployment: DashboardInstanceMagicMcpServersListOutputItemsProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersListOutputItemsProvidersConfig] = None + auth_config: Optional[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class DashboardInstanceMagicMcpServersListOutputItems: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[DashboardInstanceMagicMcpServersListOutputItemsEndpoints] + providers: List[DashboardInstanceMagicMcpServersListOutputItemsProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -48,6 +158,234 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsEndpoint return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersProvider: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersDeployment: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethod: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersConfig: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthConfig: + return DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItemsProviders: + return DashboardInstanceMagicMcpServersListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersListOutputItemsProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapDashboardInstanceMagicMcpServersListOutputItemsProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapDashboardInstanceMagicMcpServersListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceMagicMcpServersListOutputItemsProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersListOutputItems: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutputItems: @@ -56,8 +394,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListOutpu id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapDashboardInstanceMagicMcpServersListOutputItemsEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapDashboardInstanceMagicMcpServersListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/create.py index 86349d99..837a738f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/create.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceMagicMcpServersProvidersCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class DashboardInstanceMagicMcpServersProvidersCreateOutputDeployment: object: str @@ -15,6 +24,52 @@ class DashboardInstanceMagicMcpServersProvidersCreateOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersCreateOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class DashboardInstanceMagicMcpServersProvidersCreateOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class DashboardInstanceMagicMcpServersProvidersCreateOutputConfig: class DashboardInstanceMagicMcpServersProvidersCreateOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class DashboardInstanceMagicMcpServersProvidersCreateOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersProvidersCreateOutputProvider deployment: DashboardInstanceMagicMcpServersProvidersCreateOutputDeployment - config: DashboardInstanceMagicMcpServersProvidersCreateOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersProvidersCreateOutputConfig] = None auth_config: Optional[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceMagicMcpServersProvidersCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateOutputProvider: + return DashboardInstanceMagicMcpServersProvidersCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapDashboardInstanceMagicMcpServersProvidersCreateOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersCreateOutputDe return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes: + return DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethod: + return DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateOutputAuthCredentials: + return DashboardInstanceMagicMcpServersProvidersCreateOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersCreateOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersProvidersCreateOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateOutputConfig: @@ -95,7 +291,14 @@ class mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateOutputAuthConfig: return DashboardInstanceMagicMcpServersProvidersCreateOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProviders object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersProvidersCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapDashboardInstanceMagicMcpServersProvidersCreateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapDashboardInstanceMagicMcpServersProvidersCreateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapDashboardInstanceMagicMcpServersProvidersCreateOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -134,9 +344,9 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersCreateOutput, @dataclass class DashboardInstanceMagicMcpServersProvidersCreateBody: + provider_id: str provider_deployment_id: Optional[str] = None provider_config_id: Optional[str] = None - provider_config_vault_id: Optional[str] = None provider_auth_config_id: Optional[str] = None tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @@ -145,9 +355,9 @@ class mapDashboardInstanceMagicMcpServersProvidersCreateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersCreateBody: return DashboardInstanceMagicMcpServersProvidersCreateBody( + provider_id=data.get('provider_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), - provider_config_vault_id=data.get('provider_config_vault_id'), provider_auth_config_id=data.get('provider_auth_config_id'), tool_filters=data.get('tool_filters') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/delete.py index 76dac944..e17b27e4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/delete.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceMagicMcpServersProvidersDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class DashboardInstanceMagicMcpServersProvidersDeleteOutputDeployment: object: str @@ -15,6 +24,52 @@ class DashboardInstanceMagicMcpServersProvidersDeleteOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class DashboardInstanceMagicMcpServersProvidersDeleteOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class DashboardInstanceMagicMcpServersProvidersDeleteOutputConfig: class DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class DashboardInstanceMagicMcpServersProvidersDeleteOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersProvidersDeleteOutputProvider deployment: DashboardInstanceMagicMcpServersProvidersDeleteOutputDeployment - config: DashboardInstanceMagicMcpServersProvidersDeleteOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersProvidersDeleteOutputConfig] = None auth_config: Optional[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersDeleteOutputProvider: + return DashboardInstanceMagicMcpServersProvidersDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersDeleteOutputDe return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes: + return DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethod: + return DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials: + return DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersDeleteOutputConfig: @@ -95,7 +291,14 @@ class mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthConfig: return DashboardInstanceMagicMcpServersProvidersDeleteOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProviders object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersProvidersDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapDashboardInstanceMagicMcpServersProvidersDeleteOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapDashboardInstanceMagicMcpServersProvidersDeleteOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapDashboardInstanceMagicMcpServersProvidersDeleteOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/get.py index 5cd2c4a7..6ac147ac 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/get.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceMagicMcpServersProvidersGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class DashboardInstanceMagicMcpServersProvidersGetOutputDeployment: object: str @@ -15,6 +24,52 @@ class DashboardInstanceMagicMcpServersProvidersGetOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersGetOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class DashboardInstanceMagicMcpServersProvidersGetOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class DashboardInstanceMagicMcpServersProvidersGetOutputConfig: class DashboardInstanceMagicMcpServersProvidersGetOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class DashboardInstanceMagicMcpServersProvidersGetOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersProvidersGetOutputProvider deployment: DashboardInstanceMagicMcpServersProvidersGetOutputDeployment - config: DashboardInstanceMagicMcpServersProvidersGetOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersProvidersGetOutputAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersProvidersGetOutputConfig] = None auth_config: Optional[DashboardInstanceMagicMcpServersProvidersGetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapDashboardInstanceMagicMcpServersProvidersGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersGetOutputProvider: + return DashboardInstanceMagicMcpServersProvidersGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapDashboardInstanceMagicMcpServersProvidersGetOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersGetOutputDeplo return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes: + return DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethod: + return DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersGetOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersGetOutputAuthCredentials: + return DashboardInstanceMagicMcpServersProvidersGetOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersGetOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersProvidersGetOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersGetOutputConfig: @@ -95,7 +291,14 @@ class mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersGetOutputAuthConfig: return DashboardInstanceMagicMcpServersProvidersGetOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProviders object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersProvidersGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapDashboardInstanceMagicMcpServersProvidersGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapDashboardInstanceMagicMcpServersProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapDashboardInstanceMagicMcpServersProvidersGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/list.py index 84f0036d..3845e076 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/list.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceMagicMcpServersProvidersListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class DashboardInstanceMagicMcpServersProvidersListOutputItemsDeployment: object: str @@ -15,6 +24,52 @@ class DashboardInstanceMagicMcpServersProvidersListOutputItemsDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class DashboardInstanceMagicMcpServersProvidersListOutputItemsConfig: object: str id: str @@ -29,19 +84,33 @@ class DashboardInstanceMagicMcpServersProvidersListOutputItemsConfig: class DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class DashboardInstanceMagicMcpServersProvidersListOutputItems: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersProvidersListOutputItemsProvider deployment: DashboardInstanceMagicMcpServersProvidersListOutputItemsDeployment - config: DashboardInstanceMagicMcpServersProvidersListOutputItemsConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersProvidersListOutputItemsConfig] = None auth_config: Optional[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthConfig] = None + archived_at: Optional[datetime] = None @dataclass class DashboardInstanceMagicMcpServersProvidersListOutputPagination: has_more_before: bool @@ -52,6 +121,27 @@ class DashboardInstanceMagicMcpServersProvidersListOutput: pagination: DashboardInstanceMagicMcpServersProvidersListOutputPagination +class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsProvider: + return DashboardInstanceMagicMcpServersProvidersListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsDeployment: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsDeployment: @@ -75,6 +165,112 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersListOutputItem return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes: + return DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethod: + return DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials: + return DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsConfig: @@ -103,7 +299,14 @@ class mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthConfig: def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthConfig: return DashboardInstanceMagicMcpServersProvidersListOutputItemsAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -121,14 +324,21 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProviders object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersProvidersListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapDashboardInstanceMagicMcpServersProvidersListOutputItemsDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapDashboardInstanceMagicMcpServersProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapDashboardInstanceMagicMcpServersProvidersListOutputItemsAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -190,6 +400,8 @@ class DashboardInstanceMagicMcpServersProvidersListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_id: Optional[Union[str, List[str]]] = None provider_auth_config_id: Optional[Union[str, List[str]]] = None @@ -209,6 +421,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProviders status=data.get('status'), id=data.get('id'), provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), provider_auth_config_id=data.get('provider_auth_config_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/update.py index 17cab0b2..c595555e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/providers/update.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceMagicMcpServersProvidersUpdateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class DashboardInstanceMagicMcpServersProvidersUpdateOutputDeployment: object: str @@ -15,6 +24,52 @@ class DashboardInstanceMagicMcpServersProvidersUpdateOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class DashboardInstanceMagicMcpServersProvidersUpdateOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class DashboardInstanceMagicMcpServersProvidersUpdateOutputConfig: class DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class DashboardInstanceMagicMcpServersProvidersUpdateOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersProvidersUpdateOutputProvider deployment: DashboardInstanceMagicMcpServersProvidersUpdateOutputDeployment - config: DashboardInstanceMagicMcpServersProvidersUpdateOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersProvidersUpdateOutputConfig] = None auth_config: Optional[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateOutputProvider: + return DashboardInstanceMagicMcpServersProvidersUpdateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersUpdateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersUpdateOutputDe return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes: + return DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethod: + return DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials: + return DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateOutputConfig: @@ -95,7 +291,14 @@ class mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthConfig: return DashboardInstanceMagicMcpServersProvidersUpdateOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProviders object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersProvidersUpdateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapDashboardInstanceMagicMcpServersProvidersUpdateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapDashboardInstanceMagicMcpServersProvidersUpdateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapDashboardInstanceMagicMcpServersProvidersUpdateOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -134,6 +344,9 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersProvidersUpdateOutput, @dataclass class DashboardInstanceMagicMcpServersProvidersUpdateBody: + provider_deployment_id: Optional[str] = None + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @@ -141,6 +354,9 @@ class mapDashboardInstanceMagicMcpServersProvidersUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersProvidersUpdateBody: return DashboardInstanceMagicMcpServersProvidersUpdateBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), tool_filters=data.get('tool_filters') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/update.py index 773df9c3..0b0c85e4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/update.py @@ -9,12 +9,122 @@ class DashboardInstanceMagicMcpServersUpdateOutputEndpoints: alias: str url: str @dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpServersUpdateOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpServersUpdateOutputProvidersProvider + deployment: DashboardInstanceMagicMcpServersUpdateOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpServersUpdateOutputProvidersConfig] = None + auth_config: Optional[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class DashboardInstanceMagicMcpServersUpdateOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[DashboardInstanceMagicMcpServersUpdateOutputEndpoints] + providers: List[DashboardInstanceMagicMcpServersUpdateOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputEndpoints, return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersProvider: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersDeployment: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethod: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersConfig: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthConfig: + return DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpServersUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutputProviders: + return DashboardInstanceMagicMcpServersUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpServersUpdateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapDashboardInstanceMagicMcpServersUpdateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapDashboardInstanceMagicMcpServersUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceMagicMcpServersUpdateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpServersUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpServersUpdateOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateOut id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapDashboardInstanceMagicMcpServersUpdateOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapDashboardInstanceMagicMcpServersUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -72,7 +412,6 @@ class DashboardInstanceMagicMcpServersUpdateBody: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None aliases: Optional[List[str]] = None - session_template_id: Optional[str] = None class mapDashboardInstanceMagicMcpServersUpdateBody: @@ -82,8 +421,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersUpdateBod name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - aliases=data.get('aliases', []), - session_template_id=data.get('session_template_id') + aliases=data.get('aliases', []) ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_sessions/get.py index 8b20637b..921c5957 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_sessions/get.py @@ -9,12 +9,122 @@ class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerEndpoints: alias: str url: str @dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider + deployment: DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig] = None + auth_config: Optional[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServer: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerEndpoints] + providers: List[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -32,9 +142,6 @@ class DashboardInstanceMagicMcpSessionsGetOutputMagicMcpEndpoint: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -68,6 +175,234 @@ def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServe return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders: + return DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServer: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutputMagicMcpServer: @@ -76,8 +411,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutpu id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapDashboardInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -102,9 +439,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsGetOutpu status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_sessions/list.py index 1788fbd3..eb583bde 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_sessions/list.py @@ -9,12 +9,122 @@ class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerEndpoints: alias: str url: str @dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema] = None + output_schema: Optional[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider + deployment: DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod] = None + auth_credentials: Optional[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials] = None + config: Optional[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig] = None + auth_config: Optional[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServer: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerEndpoints] + providers: List[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -32,9 +142,6 @@ class DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpEndpoint: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -76,6 +183,234 @@ def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMc return value return dataclasses.asdict(value) +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders: + return DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServer: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServer: @@ -84,8 +419,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutp id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapDashboardInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -110,9 +447,6 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpSessionsListOutp status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/__init__.py index ca972d2b..3606c329 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/__init__.py @@ -1,5 +1,12 @@ +from .access import * +from .access_requests import * +from .auth import * +from .consumer_groups import * +from .consumer_invites import * +from .consumer_profiles import * from .create import * from .delete import * from .get import * from .list import * +from .listings import * from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/create.py new file mode 100644 index 00000000..c0c5c315 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/create.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAccessCreateOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsAccessCreateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: DashboardInstancePortalsAccessCreateOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsAccessCreateOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessCreateOutputConsumerGroup: + return DashboardInstancePortalsAccessCreateOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessCreateOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessCreateOutput: + return DashboardInstancePortalsAccessCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapDashboardInstancePortalsAccessCreateOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAccessCreateBody: + consumer_group_id: str + access: Dict[str, Any] + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsAccessCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessCreateBody: + return DashboardInstancePortalsAccessCreateBody( + consumer_group_id=data.get('consumer_group_id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/delete.py new file mode 100644 index 00000000..66f37521 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/delete.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAccessDeleteOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsAccessDeleteOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: DashboardInstancePortalsAccessDeleteOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsAccessDeleteOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessDeleteOutputConsumerGroup: + return DashboardInstancePortalsAccessDeleteOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessDeleteOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessDeleteOutput: + return DashboardInstancePortalsAccessDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapDashboardInstancePortalsAccessDeleteOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/get.py new file mode 100644 index 00000000..e9fb9656 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/get.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAccessGetOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsAccessGetOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: DashboardInstancePortalsAccessGetOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsAccessGetOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessGetOutputConsumerGroup: + return DashboardInstancePortalsAccessGetOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessGetOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessGetOutput: + return DashboardInstancePortalsAccessGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapDashboardInstancePortalsAccessGetOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/list.py new file mode 100644 index 00000000..5f7c0c7d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/list.py @@ -0,0 +1,165 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAccessListOutputItemsConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsAccessListOutputItems: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: DashboardInstancePortalsAccessListOutputItemsConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None +@dataclass +class DashboardInstancePortalsAccessListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstancePortalsAccessListOutput: + items: List[DashboardInstancePortalsAccessListOutputItems] + pagination: DashboardInstancePortalsAccessListOutputPagination + + +class mapDashboardInstancePortalsAccessListOutputItemsConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessListOutputItemsConsumerGroup: + return DashboardInstancePortalsAccessListOutputItemsConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessListOutputItemsConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessListOutputItems: + return DashboardInstancePortalsAccessListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapDashboardInstancePortalsAccessListOutputItemsConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessListOutputPagination: + return DashboardInstancePortalsAccessListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessListOutput: + return DashboardInstancePortalsAccessListOutput( + items=[mapDashboardInstancePortalsAccessListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstancePortalsAccessListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAccessListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_group_id: Optional[Union[str, List[str]]] = None + provider_template_id: Optional[Union[str, List[str]]] = None + magic_mcp_server_id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + skill_template_id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + consumer_access_listing_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + + +class mapDashboardInstancePortalsAccessListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessListQuery: + return DashboardInstancePortalsAccessListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_group_id=data.get('consumer_group_id'), + provider_template_id=data.get('provider_template_id'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + skill_id=data.get('skill_id'), + skill_template_id=data.get('skill_template_id'), + skill_group_id=data.get('skill_group_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + consumer_access_listing_id=data.get('consumer_access_listing_id'), + type=data.get('type') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/update.py new file mode 100644 index 00000000..5819f32f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access/update.py @@ -0,0 +1,101 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAccessUpdateOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsAccessUpdateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: DashboardInstancePortalsAccessUpdateOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsAccessUpdateOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessUpdateOutputConsumerGroup: + return DashboardInstancePortalsAccessUpdateOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessUpdateOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessUpdateOutput: + return DashboardInstancePortalsAccessUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapDashboardInstancePortalsAccessUpdateOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAccessUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsAccessUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessUpdateBody: + return DashboardInstancePortalsAccessUpdateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/__init__.py new file mode 100644 index 00000000..1a83b619 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/get.py new file mode 100644 index 00000000..f7a779ca --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/get.py @@ -0,0 +1,68 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAccessRequestsGetOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class DashboardInstancePortalsAccessRequestsGetOutput: + object: str + id: str + status: str + consumer_profile: DashboardInstancePortalsAccessRequestsGetOutputConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None + + +class mapDashboardInstancePortalsAccessRequestsGetOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsGetOutputConsumerProfile: + return DashboardInstancePortalsAccessRequestsGetOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsGetOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessRequestsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsGetOutput: + return DashboardInstancePortalsAccessRequestsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapDashboardInstancePortalsAccessRequestsGetOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/list.py new file mode 100644 index 00000000..b961c15a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/list.py @@ -0,0 +1,143 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAccessRequestsListOutputItemsConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class DashboardInstancePortalsAccessRequestsListOutputItems: + object: str + id: str + status: str + consumer_profile: DashboardInstancePortalsAccessRequestsListOutputItemsConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None +@dataclass +class DashboardInstancePortalsAccessRequestsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstancePortalsAccessRequestsListOutput: + items: List[DashboardInstancePortalsAccessRequestsListOutputItems] + pagination: DashboardInstancePortalsAccessRequestsListOutputPagination + + +class mapDashboardInstancePortalsAccessRequestsListOutputItemsConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsListOutputItemsConsumerProfile: + return DashboardInstancePortalsAccessRequestsListOutputItemsConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsListOutputItemsConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessRequestsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsListOutputItems: + return DashboardInstancePortalsAccessRequestsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapDashboardInstancePortalsAccessRequestsListOutputItemsConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessRequestsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsListOutputPagination: + return DashboardInstancePortalsAccessRequestsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessRequestsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsListOutput: + return DashboardInstancePortalsAccessRequestsListOutput( + items=[mapDashboardInstancePortalsAccessRequestsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstancePortalsAccessRequestsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAccessRequestsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + + +class mapDashboardInstancePortalsAccessRequestsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsListQuery: + return DashboardInstancePortalsAccessRequestsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + consumer_profile_id=data.get('consumer_profile_id'), + search=data.get('search') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/update.py new file mode 100644 index 00000000..1694edec --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/access_requests/update.py @@ -0,0 +1,93 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAccessRequestsUpdateOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class DashboardInstancePortalsAccessRequestsUpdateOutput: + object: str + id: str + status: str + consumer_profile: DashboardInstancePortalsAccessRequestsUpdateOutputConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None + + +class mapDashboardInstancePortalsAccessRequestsUpdateOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsUpdateOutputConsumerProfile: + return DashboardInstancePortalsAccessRequestsUpdateOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsUpdateOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAccessRequestsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsUpdateOutput: + return DashboardInstancePortalsAccessRequestsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapDashboardInstancePortalsAccessRequestsUpdateOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAccessRequestsUpdateBody: + status: str + resolution_message: Optional[str] = None + consumer_group_id: Optional[str] = None + + +class mapDashboardInstancePortalsAccessRequestsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAccessRequestsUpdateBody: + return DashboardInstancePortalsAccessRequestsUpdateBody( + status=data.get('status'), + resolution_message=data.get('resolution_message'), + consumer_group_id=data.get('consumer_group_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAccessRequestsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/__init__.py new file mode 100644 index 00000000..44f589f0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/__init__.py @@ -0,0 +1,2 @@ +from .app import * +from .sso_tenants import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/__init__.py new file mode 100644 index 00000000..7ce85e04 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/get.py new file mode 100644 index 00000000..328bbbcf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/get.py @@ -0,0 +1,36 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAuthAppGetOutput: + object: str + id: str + email_whitelist: List[str] + created_at: datetime + updated_at: datetime + slug: Optional[str] = None + + +class mapDashboardInstancePortalsAuthAppGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthAppGetOutput: + return DashboardInstancePortalsAuthAppGetOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + email_whitelist=data.get('email_whitelist', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthAppGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/update.py new file mode 100644 index 00000000..0bbe5de8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/app/update.py @@ -0,0 +1,57 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAuthAppUpdateOutput: + object: str + id: str + email_whitelist: List[str] + created_at: datetime + updated_at: datetime + slug: Optional[str] = None + + +class mapDashboardInstancePortalsAuthAppUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthAppUpdateOutput: + return DashboardInstancePortalsAuthAppUpdateOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + email_whitelist=data.get('email_whitelist', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthAppUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAuthAppUpdateBody: + email_whitelist: Optional[List[str]] = None + + +class mapDashboardInstancePortalsAuthAppUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthAppUpdateBody: + return DashboardInstancePortalsAuthAppUpdateBody( + email_whitelist=data.get('email_whitelist', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthAppUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/__init__.py new file mode 100644 index 00000000..271b84a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/__init__.py @@ -0,0 +1,4 @@ +from .connections import * +from .create import * +from .list import * +from .setup import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/connections/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/connections/__init__.py new file mode 100644 index 00000000..7f803db3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/connections/__init__.py @@ -0,0 +1 @@ +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/connections/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/connections/list.py new file mode 100644 index 00000000..f7b1b211 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/connections/list.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputItems: + object: str + id: str + name: str + provider_type: str + created_at: datetime + provider_name: Optional[str] = None +@dataclass +class DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput: + items: List[DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputItems] + pagination: DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputPagination + + +class mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputItems: + return DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + provider_type=data.get('provider_type'), + provider_name=data.get('provider_name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputPagination: + return DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsConnectionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput: + return DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput( + items=[mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstancePortalsAuthSsoTenantsConnectionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsConnectionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAuthSsoTenantsConnectionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstancePortalsAuthSsoTenantsConnectionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsConnectionsListQuery: + return DashboardInstancePortalsAuthSsoTenantsConnectionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsConnectionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/create.py new file mode 100644 index 00000000..23190a27 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/create.py @@ -0,0 +1,79 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAuthSsoTenantsCreateOutputCounts: + connections: float +@dataclass +class DashboardInstancePortalsAuthSsoTenantsCreateOutput: + object: str + id: str + name: str + status: str + client_id: str + counts: DashboardInstancePortalsAuthSsoTenantsCreateOutputCounts + created_at: datetime + updated_at: datetime + + +class mapDashboardInstancePortalsAuthSsoTenantsCreateOutputCounts: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsCreateOutputCounts: + return DashboardInstancePortalsAuthSsoTenantsCreateOutputCounts( + connections=data.get('connections') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsCreateOutputCounts, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAuthSsoTenantsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsCreateOutput: + return DashboardInstancePortalsAuthSsoTenantsCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + status=data.get('status'), + client_id=data.get('client_id'), + counts=mapDashboardInstancePortalsAuthSsoTenantsCreateOutputCounts.from_dict(data.get('counts')) if data.get('counts') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAuthSsoTenantsCreateBody: + name: str + + +class mapDashboardInstancePortalsAuthSsoTenantsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsCreateBody: + return DashboardInstancePortalsAuthSsoTenantsCreateBody( + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/list.py new file mode 100644 index 00000000..baa1af37 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/list.py @@ -0,0 +1,127 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAuthSsoTenantsListOutputItemsCounts: + connections: float +@dataclass +class DashboardInstancePortalsAuthSsoTenantsListOutputItems: + object: str + id: str + name: str + status: str + client_id: str + counts: DashboardInstancePortalsAuthSsoTenantsListOutputItemsCounts + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstancePortalsAuthSsoTenantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstancePortalsAuthSsoTenantsListOutput: + items: List[DashboardInstancePortalsAuthSsoTenantsListOutputItems] + pagination: DashboardInstancePortalsAuthSsoTenantsListOutputPagination + + +class mapDashboardInstancePortalsAuthSsoTenantsListOutputItemsCounts: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsListOutputItemsCounts: + return DashboardInstancePortalsAuthSsoTenantsListOutputItemsCounts( + connections=data.get('connections') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsListOutputItemsCounts, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAuthSsoTenantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsListOutputItems: + return DashboardInstancePortalsAuthSsoTenantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + status=data.get('status'), + client_id=data.get('client_id'), + counts=mapDashboardInstancePortalsAuthSsoTenantsListOutputItemsCounts.from_dict(data.get('counts')) if data.get('counts') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAuthSsoTenantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsListOutputPagination: + return DashboardInstancePortalsAuthSsoTenantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsAuthSsoTenantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsListOutput: + return DashboardInstancePortalsAuthSsoTenantsListOutput( + items=[mapDashboardInstancePortalsAuthSsoTenantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstancePortalsAuthSsoTenantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsAuthSsoTenantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstancePortalsAuthSsoTenantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsListQuery: + return DashboardInstancePortalsAuthSsoTenantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/setup.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/setup.py new file mode 100644 index 00000000..253bb408 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/auth/sso_tenants/setup.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsAuthSsoTenantsSetupOutput: + object: str + url: str + + +class mapDashboardInstancePortalsAuthSsoTenantsSetupOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsAuthSsoTenantsSetupOutput: + return DashboardInstancePortalsAuthSsoTenantsSetupOutput( + object=data.get('object'), + url=data.get('url') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsAuthSsoTenantsSetupOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/create.py new file mode 100644 index 00000000..cfca82fa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/create.py @@ -0,0 +1,69 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerGroupsCreateOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstancePortalsConsumerGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsCreateOutput: + return DashboardInstancePortalsConsumerGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerGroupsCreateBody: + name: str + description: Optional[str] = None + sso_group_ids: Optional[List[str]] = None + is_default: Optional[bool] = None + + +class mapDashboardInstancePortalsConsumerGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsCreateBody: + return DashboardInstancePortalsConsumerGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + sso_group_ids=data.get('sso_group_ids', []), + is_default=data.get('is_default') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/delete.py new file mode 100644 index 00000000..810fe82a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/delete.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerGroupsDeleteOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstancePortalsConsumerGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsDeleteOutput: + return DashboardInstancePortalsConsumerGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/get.py new file mode 100644 index 00000000..43651c91 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/get.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerGroupsGetOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstancePortalsConsumerGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsGetOutput: + return DashboardInstancePortalsConsumerGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/list.py new file mode 100644 index 00000000..bfe999e3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/list.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerGroupsListOutputItems: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsConsumerGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstancePortalsConsumerGroupsListOutput: + items: List[DashboardInstancePortalsConsumerGroupsListOutputItems] + pagination: DashboardInstancePortalsConsumerGroupsListOutputPagination + + +class mapDashboardInstancePortalsConsumerGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsListOutputItems: + return DashboardInstancePortalsConsumerGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsListOutputPagination: + return DashboardInstancePortalsConsumerGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsListOutput: + return DashboardInstancePortalsConsumerGroupsListOutput( + items=[mapDashboardInstancePortalsConsumerGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstancePortalsConsumerGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + + +class mapDashboardInstancePortalsConsumerGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsListQuery: + return DashboardInstancePortalsConsumerGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + search=data.get('search') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/update.py new file mode 100644 index 00000000..39449d8b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_groups/update.py @@ -0,0 +1,69 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerGroupsUpdateOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstancePortalsConsumerGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsUpdateOutput: + return DashboardInstancePortalsConsumerGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + sso_group_ids: Optional[List[str]] = None + is_default: Optional[bool] = None + + +class mapDashboardInstancePortalsConsumerGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerGroupsUpdateBody: + return DashboardInstancePortalsConsumerGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + sso_group_ids=data.get('sso_group_ids', []), + is_default=data.get('is_default') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/create.py new file mode 100644 index 00000000..6eb555fe --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/create.py @@ -0,0 +1,117 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerInvitesCreateOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class DashboardInstancePortalsConsumerInvitesCreateOutputInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class DashboardInstancePortalsConsumerInvitesCreateOutput: + object: str + id: str + status: str + consumer_profile: DashboardInstancePortalsConsumerInvitesCreateOutputConsumerProfile + invited_by: DashboardInstancePortalsConsumerInvitesCreateOutputInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None + + +class mapDashboardInstancePortalsConsumerInvitesCreateOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesCreateOutputConsumerProfile: + return DashboardInstancePortalsConsumerInvitesCreateOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesCreateOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerInvitesCreateOutputInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesCreateOutputInvitedBy: + return DashboardInstancePortalsConsumerInvitesCreateOutputInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesCreateOutputInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerInvitesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesCreateOutput: + return DashboardInstancePortalsConsumerInvitesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapDashboardInstancePortalsConsumerInvitesCreateOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapDashboardInstancePortalsConsumerInvitesCreateOutputInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerInvitesCreateBody: + name: str + email: str + message: Optional[str] = None + + +class mapDashboardInstancePortalsConsumerInvitesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesCreateBody: + return DashboardInstancePortalsConsumerInvitesCreateBody( + name=data.get('name'), + email=data.get('email'), + message=data.get('message') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/get.py new file mode 100644 index 00000000..2e4bf04c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/get.py @@ -0,0 +1,92 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerInvitesGetOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class DashboardInstancePortalsConsumerInvitesGetOutputInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class DashboardInstancePortalsConsumerInvitesGetOutput: + object: str + id: str + status: str + consumer_profile: DashboardInstancePortalsConsumerInvitesGetOutputConsumerProfile + invited_by: DashboardInstancePortalsConsumerInvitesGetOutputInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None + + +class mapDashboardInstancePortalsConsumerInvitesGetOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesGetOutputConsumerProfile: + return DashboardInstancePortalsConsumerInvitesGetOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesGetOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerInvitesGetOutputInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesGetOutputInvitedBy: + return DashboardInstancePortalsConsumerInvitesGetOutputInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesGetOutputInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerInvitesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesGetOutput: + return DashboardInstancePortalsConsumerInvitesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapDashboardInstancePortalsConsumerInvitesGetOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapDashboardInstancePortalsConsumerInvitesGetOutputInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/list.py new file mode 100644 index 00000000..9fe00193 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_invites/list.py @@ -0,0 +1,165 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerInvitesListOutputItemsConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class DashboardInstancePortalsConsumerInvitesListOutputItemsInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class DashboardInstancePortalsConsumerInvitesListOutputItems: + object: str + id: str + status: str + consumer_profile: DashboardInstancePortalsConsumerInvitesListOutputItemsConsumerProfile + invited_by: DashboardInstancePortalsConsumerInvitesListOutputItemsInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None +@dataclass +class DashboardInstancePortalsConsumerInvitesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstancePortalsConsumerInvitesListOutput: + items: List[DashboardInstancePortalsConsumerInvitesListOutputItems] + pagination: DashboardInstancePortalsConsumerInvitesListOutputPagination + + +class mapDashboardInstancePortalsConsumerInvitesListOutputItemsConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesListOutputItemsConsumerProfile: + return DashboardInstancePortalsConsumerInvitesListOutputItemsConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesListOutputItemsConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerInvitesListOutputItemsInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesListOutputItemsInvitedBy: + return DashboardInstancePortalsConsumerInvitesListOutputItemsInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesListOutputItemsInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerInvitesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesListOutputItems: + return DashboardInstancePortalsConsumerInvitesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapDashboardInstancePortalsConsumerInvitesListOutputItemsConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapDashboardInstancePortalsConsumerInvitesListOutputItemsInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerInvitesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesListOutputPagination: + return DashboardInstancePortalsConsumerInvitesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerInvitesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesListOutput: + return DashboardInstancePortalsConsumerInvitesListOutput( + items=[mapDashboardInstancePortalsConsumerInvitesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstancePortalsConsumerInvitesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerInvitesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + + +class mapDashboardInstancePortalsConsumerInvitesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerInvitesListQuery: + return DashboardInstancePortalsConsumerInvitesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerInvitesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/__init__.py new file mode 100644 index 00000000..390c65e3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/__init__.py @@ -0,0 +1,5 @@ +from .assign_groups import * +from .create import * +from .get import * +from .list import * +from .unassign_groups import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/assign_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/assign_groups.py new file mode 100644 index 00000000..753ebb47 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/assign_groups.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups: + object: str + group: DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup + assigned_via: str +@dataclass +class DashboardInstancePortalsConsumerProfilesAssignGroupsOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups]] = None + + +class mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesAssignGroupsOutput: + return DashboardInstancePortalsConsumerProfilesAssignGroupsOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesAssignGroupsOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerProfilesAssignGroupsBody: + group_ids: List[str] + + +class mapDashboardInstancePortalsConsumerProfilesAssignGroupsBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesAssignGroupsBody: + return DashboardInstancePortalsConsumerProfilesAssignGroupsBody( + group_ids=data.get('group_ids', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesAssignGroupsBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/create.py new file mode 100644 index 00000000..c030c58c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/create.py @@ -0,0 +1,83 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerProfilesCreateOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsConsumerProfilesCreateOutputGroups: + object: str + group: DashboardInstancePortalsConsumerProfilesCreateOutputGroupsGroup + assigned_via: str +@dataclass +class DashboardInstancePortalsConsumerProfilesCreateOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[DashboardInstancePortalsConsumerProfilesCreateOutputGroups]] = None + + +class mapDashboardInstancePortalsConsumerProfilesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesCreateOutput: + return DashboardInstancePortalsConsumerProfilesCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapDashboardInstancePortalsConsumerProfilesCreateOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerProfilesCreateBody: + email: str + name: str + + +class mapDashboardInstancePortalsConsumerProfilesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesCreateBody: + return DashboardInstancePortalsConsumerProfilesCreateBody( + email=data.get('email'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/get.py new file mode 100644 index 00000000..8a0b76a3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsConsumerProfilesGetOutputGroups: + object: str + group: DashboardInstancePortalsConsumerProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class DashboardInstancePortalsConsumerProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[DashboardInstancePortalsConsumerProfilesGetOutputGroups]] = None + + +class mapDashboardInstancePortalsConsumerProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesGetOutput: + return DashboardInstancePortalsConsumerProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapDashboardInstancePortalsConsumerProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/list.py new file mode 100644 index 00000000..2df669bb --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/list.py @@ -0,0 +1,83 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstancePortalsConsumerProfilesListOutput: + items: List[Dict[str, Any]] + pagination: DashboardInstancePortalsConsumerProfilesListOutputPagination + + +class mapDashboardInstancePortalsConsumerProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesListOutputPagination: + return DashboardInstancePortalsConsumerProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsConsumerProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesListOutput: + return DashboardInstancePortalsConsumerProfilesListOutput( + items=data.get('items', []), + pagination=mapDashboardInstancePortalsConsumerProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_group_id: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + + +class mapDashboardInstancePortalsConsumerProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesListQuery: + return DashboardInstancePortalsConsumerProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_group_id=data.get('consumer_group_id'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/unassign_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/unassign_groups.py new file mode 100644 index 00000000..22cdac9c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/consumer_profiles/unassign_groups.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups: + object: str + group: DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup + assigned_via: str +@dataclass +class DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups]] = None + + +class mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: + return DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsConsumerProfilesUnassignGroupsBody: + group_ids: List[str] + + +class mapDashboardInstancePortalsConsumerProfilesUnassignGroupsBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesUnassignGroupsBody: + return DashboardInstancePortalsConsumerProfilesUnassignGroupsBody( + group_ids=data.get('group_ids', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesUnassignGroupsBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/create.py index 80916514..208601b4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/create.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstancePortalsCreateOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class DashboardInstancePortalsCreateOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class DashboardInstancePortalsCreateOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: DashboardInstancePortalsCreateOutputSkillConfiguration auth: DashboardInstancePortalsCreateOutputAuth urls: List[DashboardInstancePortalsCreateOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class DashboardInstancePortalsCreateOutput: description: Optional[str] = None +class mapDashboardInstancePortalsCreateOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsCreateOutputSkillConfiguration: + return DashboardInstancePortalsCreateOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsCreateOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstancePortalsCreateOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsCreateOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsCreateOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapDashboardInstancePortalsCreateOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapDashboardInstancePortalsCreateOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapDashboardInstancePortalsCreateOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -111,6 +145,8 @@ class DashboardInstancePortalsCreateBody: description: Optional[str] = None allowed_redirect_url_filters: Optional[List[DashboardInstancePortalsCreateBodyAllowedRedirectUrlFilters]] = None session_expiry_time_in_seconds: Optional[float] = None + allow_consumer_skill_authoring: Optional[bool] = None + allow_consumer_skill_publishing: Optional[bool] = None class mapDashboardInstancePortalsCreateBodyAllowedRedirectUrlFilters: @@ -135,7 +171,9 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsCreateBody: name=data.get('name'), description=data.get('description'), allowed_redirect_url_filters=[mapDashboardInstancePortalsCreateBodyAllowedRedirectUrlFilters.from_dict(item) for item in data.get('allowed_redirect_url_filters', []) if item], - session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/delete.py index 08a0d294..d93506f6 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/delete.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstancePortalsDeleteOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class DashboardInstancePortalsDeleteOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class DashboardInstancePortalsDeleteOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: DashboardInstancePortalsDeleteOutputSkillConfiguration auth: DashboardInstancePortalsDeleteOutputAuth urls: List[DashboardInstancePortalsDeleteOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class DashboardInstancePortalsDeleteOutput: description: Optional[str] = None +class mapDashboardInstancePortalsDeleteOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsDeleteOutputSkillConfiguration: + return DashboardInstancePortalsDeleteOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsDeleteOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstancePortalsDeleteOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsDeleteOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsDeleteOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapDashboardInstancePortalsDeleteOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapDashboardInstancePortalsDeleteOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapDashboardInstancePortalsDeleteOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/get.py index 597ac77c..94697f29 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/get.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstancePortalsGetOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class DashboardInstancePortalsGetOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class DashboardInstancePortalsGetOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: DashboardInstancePortalsGetOutputSkillConfiguration auth: DashboardInstancePortalsGetOutputAuth urls: List[DashboardInstancePortalsGetOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class DashboardInstancePortalsGetOutput: description: Optional[str] = None +class mapDashboardInstancePortalsGetOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsGetOutputSkillConfiguration: + return DashboardInstancePortalsGetOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsGetOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstancePortalsGetOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsGetOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsGetOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapDashboardInstancePortalsGetOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapDashboardInstancePortalsGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapDashboardInstancePortalsGetOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/list.py index 07e697e7..0ff4c15b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/list.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstancePortalsListOutputItemsSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class DashboardInstancePortalsListOutputItemsAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class DashboardInstancePortalsListOutputItems: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: DashboardInstancePortalsListOutputItemsSkillConfiguration auth: DashboardInstancePortalsListOutputItemsAuth urls: List[DashboardInstancePortalsListOutputItemsUrls] created_at: datetime @@ -37,6 +48,26 @@ class DashboardInstancePortalsListOutput: pagination: DashboardInstancePortalsListOutputPagination +class mapDashboardInstancePortalsListOutputItemsSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListOutputItemsSkillConfiguration: + return DashboardInstancePortalsListOutputItemsSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListOutputItemsSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstancePortalsListOutputItemsAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListOutputItemsAuthAllowedRedirectUrlFilters: @@ -95,6 +126,9 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListOutputItems: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapDashboardInstancePortalsListOutputItemsSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapDashboardInstancePortalsListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapDashboardInstancePortalsListOutputItemsUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/create.py new file mode 100644 index 00000000..b26fd9bf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/create.py @@ -0,0 +1,93 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsListingsCreateOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsListingsCreateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[DashboardInstancePortalsListingsCreateOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsListingsCreateOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsCreateOutputGroups: + return DashboardInstancePortalsListingsCreateOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsCreateOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsListingsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsCreateOutput: + return DashboardInstancePortalsListingsCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapDashboardInstancePortalsListingsCreateOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsListingsCreateBody: + access: Dict[str, Any] + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsListingsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsCreateBody: + return DashboardInstancePortalsListingsCreateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/delete.py new file mode 100644 index 00000000..95d5993e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/delete.py @@ -0,0 +1,66 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsListingsDeleteOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsListingsDeleteOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[DashboardInstancePortalsListingsDeleteOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsListingsDeleteOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsDeleteOutputGroups: + return DashboardInstancePortalsListingsDeleteOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsDeleteOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsListingsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsDeleteOutput: + return DashboardInstancePortalsListingsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapDashboardInstancePortalsListingsDeleteOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/get.py new file mode 100644 index 00000000..8a75ff0e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/get.py @@ -0,0 +1,66 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsListingsGetOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsListingsGetOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[DashboardInstancePortalsListingsGetOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsListingsGetOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsGetOutputGroups: + return DashboardInstancePortalsListingsGetOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsListingsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsGetOutput: + return DashboardInstancePortalsListingsGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapDashboardInstancePortalsListingsGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/list.py new file mode 100644 index 00000000..5aa929ad --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/list.py @@ -0,0 +1,153 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsListingsListOutputItemsGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsListingsListOutputItems: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[DashboardInstancePortalsListingsListOutputItemsGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None +@dataclass +class DashboardInstancePortalsListingsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstancePortalsListingsListOutput: + items: List[DashboardInstancePortalsListingsListOutputItems] + pagination: DashboardInstancePortalsListingsListOutputPagination + + +class mapDashboardInstancePortalsListingsListOutputItemsGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsListOutputItemsGroups: + return DashboardInstancePortalsListingsListOutputItemsGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsListingsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsListOutputItems: + return DashboardInstancePortalsListingsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapDashboardInstancePortalsListingsListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsListingsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsListOutputPagination: + return DashboardInstancePortalsListingsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsListingsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsListOutput: + return DashboardInstancePortalsListingsListOutput( + items=[mapDashboardInstancePortalsListingsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstancePortalsListingsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsListingsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_surface_provider_group_id: Optional[Union[str, List[str]]] = None + provider_template_id: Optional[Union[str, List[str]]] = None + magic_mcp_server_id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + skill_template_id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + + +class mapDashboardInstancePortalsListingsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsListQuery: + return DashboardInstancePortalsListingsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_surface_provider_group_id=data.get('consumer_surface_provider_group_id'), + provider_template_id=data.get('provider_template_id'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + skill_id=data.get('skill_id'), + skill_template_id=data.get('skill_template_id'), + skill_group_id=data.get('skill_group_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + type=data.get('type') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/update.py new file mode 100644 index 00000000..84412812 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/listings/update.py @@ -0,0 +1,91 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstancePortalsListingsUpdateOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class DashboardInstancePortalsListingsUpdateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[DashboardInstancePortalsListingsUpdateOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsListingsUpdateOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsUpdateOutputGroups: + return DashboardInstancePortalsListingsUpdateOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsUpdateOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstancePortalsListingsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsUpdateOutput: + return DashboardInstancePortalsListingsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapDashboardInstancePortalsListingsUpdateOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstancePortalsListingsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapDashboardInstancePortalsListingsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsListingsUpdateBody: + return DashboardInstancePortalsListingsUpdateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsListingsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/update.py index 1bb2d895..91434457 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/portals/update.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstancePortalsUpdateOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class DashboardInstancePortalsUpdateOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class DashboardInstancePortalsUpdateOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: DashboardInstancePortalsUpdateOutputSkillConfiguration auth: DashboardInstancePortalsUpdateOutputAuth urls: List[DashboardInstancePortalsUpdateOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class DashboardInstancePortalsUpdateOutput: description: Optional[str] = None +class mapDashboardInstancePortalsUpdateOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsUpdateOutputSkillConfiguration: + return DashboardInstancePortalsUpdateOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsUpdateOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstancePortalsUpdateOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsUpdateOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsUpdateOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapDashboardInstancePortalsUpdateOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapDashboardInstancePortalsUpdateOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapDashboardInstancePortalsUpdateOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -106,11 +140,19 @@ def to_dict(value: Union[DashboardInstancePortalsUpdateOutput, Dict[str, Any], N class DashboardInstancePortalsUpdateBodyAllowedRedirectUrlFilters: url: str @dataclass +class DashboardInstancePortalsUpdateBodySkillConfiguration: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None +@dataclass class DashboardInstancePortalsUpdateBody: name: Optional[str] = None description: Optional[str] = None allowed_redirect_url_filters: Optional[List[DashboardInstancePortalsUpdateBodyAllowedRedirectUrlFilters]] = None session_expiry_time_in_seconds: Optional[float] = None + allow_consumer_skill_authoring: Optional[bool] = None + allow_consumer_skill_publishing: Optional[bool] = None + skill_configuration: Optional[DashboardInstancePortalsUpdateBodySkillConfiguration] = None class mapDashboardInstancePortalsUpdateBodyAllowedRedirectUrlFilters: @@ -128,6 +170,23 @@ def to_dict(value: Union[DashboardInstancePortalsUpdateBodyAllowedRedirectUrlFil return value return dataclasses.asdict(value) +class mapDashboardInstancePortalsUpdateBodySkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsUpdateBodySkillConfiguration: + return DashboardInstancePortalsUpdateBodySkillConfiguration( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstancePortalsUpdateBodySkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstancePortalsUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsUpdateBody: @@ -135,7 +194,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsUpdateBody: name=data.get('name'), description=data.get('description'), allowed_redirect_url_filters=[mapDashboardInstancePortalsUpdateBodyAllowedRedirectUrlFilters.from_dict(item) for item in data.get('allowed_redirect_url_filters', []) if item], - session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapDashboardInstancePortalsUpdateBodySkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/auth_configs/list.py index e6383c78..0836683a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/auth_configs/list.py @@ -299,6 +299,8 @@ class DashboardInstanceProviderDeploymentsAuthConfigsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None + available_for_use: Optional[bool] = None + available_for_provider_deployment_id: Optional[str] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None actor_id: Optional[Union[str, List[str]]] = None @@ -323,6 +325,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsAuthC id=data.get('id'), provider_id=data.get('provider_id'), provider_deployment_id=data.get('provider_deployment_id'), + available_for_use=data.get('available_for_use'), + available_for_provider_deployment_id=data.get('available_for_provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), actor_id=data.get('actor_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/configs/list.py index 36b88289..37dd0671 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/configs/list.py @@ -214,6 +214,8 @@ class DashboardInstanceProviderDeploymentsConfigsListQuery: provider_id: Optional[Union[str, List[str]]] = None provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None + available_for_use: Optional[bool] = None + available_for_provider_deployment_id: Optional[str] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None actor_id: Optional[Union[str, List[str]]] = None consumer_id: Optional[Union[str, List[str]]] = None @@ -238,6 +240,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsConfi provider_id=data.get('provider_id'), provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), + available_for_use=data.get('available_for_use'), + available_for_provider_deployment_id=data.get('available_for_provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), actor_id=data.get('actor_id'), consumer_id=data.get('consumer_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/create.py index 7d4300ac..8d5618b1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/create.py @@ -10,11 +10,10 @@ class DashboardInstanceProviderTemplatesCreateOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapDashboardInstanceProviderTemplatesCreateOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesCreateO name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -43,22 +41,47 @@ def to_dict(value: Union[DashboardInstanceProviderTemplatesCreateOutput, Dict[st return dataclasses.asdict(value) @dataclass -class DashboardInstanceProviderTemplatesCreateBodyProviderDeployment: +class DashboardInstanceProviderTemplatesCreateBodyProviders: provider_id: str + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - locked_provider_version_id: Optional[str] = None + tool_filters: Optional[Any] = None @dataclass class DashboardInstanceProviderTemplatesCreateBody: name: str + providers: List[DashboardInstanceProviderTemplatesCreateBodyProviders] description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - tool_filers: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None - provider_deployment_id: Optional[str] = None - provider_deployment: Optional[DashboardInstanceProviderTemplatesCreateBodyProviderDeployment] = None +class mapDashboardInstanceProviderTemplatesCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesCreateBodyProviders: + return DashboardInstanceProviderTemplatesCreateBodyProviders( + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceProviderTemplatesCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceProviderTemplatesCreateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesCreateBody: @@ -66,9 +89,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesCreateB name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - tool_filers=data.get('tool_filers'), - provider_deployment_id=data.get('provider_deployment_id'), - provider_deployment=data.get('provider_deployment') + providers=[mapDashboardInstanceProviderTemplatesCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/delete.py index 952df826..0958a64d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/delete.py @@ -10,11 +10,10 @@ class DashboardInstanceProviderTemplatesDeleteOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapDashboardInstanceProviderTemplatesDeleteOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesDeleteO name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/get.py index 1554d34c..eafed43f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/get.py @@ -10,11 +10,10 @@ class DashboardInstanceProviderTemplatesGetOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapDashboardInstanceProviderTemplatesGetOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesGetOutp name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/list.py index 36266387..60af9d6e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/list.py @@ -10,11 +10,10 @@ class DashboardInstanceProviderTemplatesListOutputItems: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None @dataclass class DashboardInstanceProviderTemplatesListOutputPagination: has_more_before: bool @@ -35,8 +34,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesListOut name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -90,7 +88,7 @@ class DashboardInstanceProviderTemplatesListQuery: cursor: Optional[str] = None order: Optional[str] = None id: Optional[Union[str, List[str]]] = None - provider_deployment_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None status: Optional[Union[str, List[str]]] = None @@ -105,7 +103,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesListQue cursor=data.get('cursor'), order=data.get('order'), id=data.get('id'), - provider_deployment_id=data.get('provider_deployment_id'), + integration_id=data.get('integration_id'), search=data.get('search'), status=data.get('status') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/update.py index e2d726f8..a02fa721 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_templates/update.py @@ -10,11 +10,10 @@ class DashboardInstanceProviderTemplatesUpdateOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapDashboardInstanceProviderTemplatesUpdateOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesUpdateO name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -43,13 +41,47 @@ def to_dict(value: Union[DashboardInstanceProviderTemplatesUpdateOutput, Dict[st return dataclasses.asdict(value) @dataclass +class DashboardInstanceProviderTemplatesUpdateBodyProviders: + provider_id: str + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Any] = None +@dataclass class DashboardInstanceProviderTemplatesUpdateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + providers: Optional[List[DashboardInstanceProviderTemplatesUpdateBodyProviders]] = None +class mapDashboardInstanceProviderTemplatesUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesUpdateBodyProviders: + return DashboardInstanceProviderTemplatesUpdateBodyProviders( + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceProviderTemplatesUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceProviderTemplatesUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesUpdateBody: @@ -57,7 +89,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderTemplatesUpdateB name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - tool_filters=data.get('tool_filters') + providers=[mapDashboardInstanceProviderTemplatesUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/create.py index 94a584c2..4bd67c5f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/create.py @@ -53,6 +53,10 @@ class DashboardInstanceSessionTemplatesCreateOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapDashboardInstanceSessionTemplatesCreateOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionTemplatesCreateOu name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapDashboardInstanceSessionTemplatesCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/delete.py index cde356ef..5793bccf 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/delete.py @@ -53,6 +53,10 @@ class DashboardInstanceSessionTemplatesDeleteOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapDashboardInstanceSessionTemplatesDeleteOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionTemplatesDeleteOu name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapDashboardInstanceSessionTemplatesDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/get.py index 46224ec2..581d997f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/get.py @@ -53,6 +53,10 @@ class DashboardInstanceSessionTemplatesGetOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapDashboardInstanceSessionTemplatesGetOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionTemplatesGetOutpu name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapDashboardInstanceSessionTemplatesGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/list.py index e29d9d1b..a9ea5776 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/list.py @@ -53,6 +53,10 @@ class DashboardInstanceSessionTemplatesListOutputItems: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None @dataclass class DashboardInstanceSessionTemplatesListOutputPagination: has_more_before: bool @@ -160,6 +164,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionTemplatesListOutp name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapDashboardInstanceSessionTemplatesListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/update.py index a8e0c2d4..5c49223c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/session_templates/update.py @@ -53,6 +53,10 @@ class DashboardInstanceSessionTemplatesUpdateOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapDashboardInstanceSessionTemplatesUpdateOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionTemplatesUpdateOu name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapDashboardInstanceSessionTemplatesUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/connections/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/connections/get.py index 9c81ff0c..454378aa 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/connections/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/connections/get.py @@ -26,6 +26,14 @@ class DashboardInstanceSessionsConnectionsGetOutputParticipant: data: DashboardInstanceSessionsConnectionsGetOutputParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsConnectionsGetOutput: object: str @@ -103,6 +111,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsConnectionsGetOu name=data.get('name'), data=mapDashboardInstanceSessionsConnectionsGetOutputParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/connections/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/connections/list.py index 05c982cf..1ea3afca 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/connections/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/connections/list.py @@ -26,6 +26,14 @@ class DashboardInstanceSessionsConnectionsListOutputItemsParticipant: data: DashboardInstanceSessionsConnectionsListOutputItemsParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsConnectionsListOutputItems: object: str @@ -111,6 +119,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsConnectionsListO name=data.get('name'), data=mapDashboardInstanceSessionsConnectionsListOutputItemsParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -200,6 +216,11 @@ class DashboardInstanceSessionsConnectionsListQuery: status: Optional[Union[str, List[str]]] = None connection_state: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None session_id: Optional[Union[str, List[str]]] = None session_provider_id: Optional[Union[str, List[str]]] = None participant_id: Optional[Union[str, List[str]]] = None @@ -219,6 +240,11 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsConnectionsListQ status=data.get('status'), connection_state=data.get('connection_state'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), session_id=data.get('session_id'), session_provider_id=data.get('session_provider_id'), participant_id=data.get('participant_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/create.py index 239b6ef8..0fb90fde 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/create.py @@ -71,6 +71,8 @@ class DashboardInstanceSessionsCreateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapDashboardInstanceSessionsCreateOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsCreateOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/delete.py index 5a973a4c..6f45facf 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/delete.py @@ -71,6 +71,8 @@ class DashboardInstanceSessionsDeleteOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapDashboardInstanceSessionsDeleteOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsDeleteOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/events/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/events/get.py index beafa04d..3be552aa 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/events/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/events/get.py @@ -26,6 +26,14 @@ class DashboardInstanceSessionsEventsGetOutputConnectionParticipant: data: DashboardInstanceSessionsEventsGetOutputConnectionParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsEventsGetOutputConnection: object: str @@ -76,6 +84,50 @@ class DashboardInstanceSessionsEventsGetOutputMessageTransport: mcp: Optional[DashboardInstanceSessionsEventsGetOutputMessageTransportMcp] = None tool_call: Optional[DashboardInstanceSessionsEventsGetOutputMessageTransportToolCall] = None @dataclass +class DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class DashboardInstanceSessionsEventsGetOutputMessageToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -134,6 +186,8 @@ class DashboardInstanceSessionsEventsGetOutputMessageToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant] = None + responder_participant: Optional[DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant] = None error: Optional[DashboardInstanceSessionsEventsGetOutputMessageToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -151,6 +205,14 @@ class DashboardInstanceSessionsEventsGetOutputMessageSenderParticipant: data: DashboardInstanceSessionsEventsGetOutputMessageSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsEventsGetOutputMessageResponderParticipantData: identifier: str @@ -165,6 +227,14 @@ class DashboardInstanceSessionsEventsGetOutputMessageResponderParticipant: data: DashboardInstanceSessionsEventsGetOutputMessageResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsEventsGetOutputMessageError: object: str @@ -297,6 +367,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputC name=data.get('name'), data=mapDashboardInstanceSessionsEventsGetOutputConnectionParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -429,6 +507,98 @@ def to_dict(value: Union[DashboardInstanceSessionsEventsGetOutputMessageTranspor return value return dataclasses.asdict(value) +class mapDashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData: + return DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant: + return DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData: + return DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant: + return DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceSessionsEventsGetOutputMessageToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputMessageToolCallToolInputSchema: @@ -548,6 +718,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputM session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapDashboardInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapDashboardInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapDashboardInstanceSessionsEventsGetOutputMessageToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapDashboardInstanceSessionsEventsGetOutputMessageToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -590,6 +762,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputM name=data.get('name'), data=mapDashboardInstanceSessionsEventsGetOutputMessageSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -628,6 +808,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsGetOutputM name=data.get('name'), data=mapDashboardInstanceSessionsEventsGetOutputMessageResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/events/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/events/list.py index 817ce97e..d47cdefc 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/events/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/events/list.py @@ -26,6 +26,14 @@ class DashboardInstanceSessionsEventsListOutputItemsConnectionParticipant: data: DashboardInstanceSessionsEventsListOutputItemsConnectionParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsEventsListOutputItemsConnection: object: str @@ -76,6 +84,50 @@ class DashboardInstanceSessionsEventsListOutputItemsMessageTransport: mcp: Optional[DashboardInstanceSessionsEventsListOutputItemsMessageTransportMcp] = None tool_call: Optional[DashboardInstanceSessionsEventsListOutputItemsMessageTransportToolCall] = None @dataclass +class DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class DashboardInstanceSessionsEventsListOutputItemsMessageToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -134,6 +186,8 @@ class DashboardInstanceSessionsEventsListOutputItemsMessageToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant] = None + responder_participant: Optional[DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant] = None error: Optional[DashboardInstanceSessionsEventsListOutputItemsMessageToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -151,6 +205,14 @@ class DashboardInstanceSessionsEventsListOutputItemsMessageSenderParticipant: data: DashboardInstanceSessionsEventsListOutputItemsMessageSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsEventsListOutputItemsMessageResponderParticipantData: identifier: str @@ -165,6 +227,14 @@ class DashboardInstanceSessionsEventsListOutputItemsMessageResponderParticipant: data: DashboardInstanceSessionsEventsListOutputItemsMessageResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsEventsListOutputItemsMessageError: object: str @@ -305,6 +375,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutput name=data.get('name'), data=mapDashboardInstanceSessionsEventsListOutputItemsConnectionParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -437,6 +515,98 @@ def to_dict(value: Union[DashboardInstanceSessionsEventsListOutputItemsMessageTr return value return dataclasses.asdict(value) +class mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + return DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant: + return DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + return DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant: + return DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutputItemsMessageToolCallToolInputSchema: @@ -556,6 +726,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutput session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapDashboardInstanceSessionsEventsListOutputItemsMessageToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -598,6 +770,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutput name=data.get('name'), data=mapDashboardInstanceSessionsEventsListOutputItemsMessageSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -636,6 +816,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsEventsListOutput name=data.get('name'), data=mapDashboardInstanceSessionsEventsListOutputItemsMessageResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/get.py index 4559a230..210d64f4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/get.py @@ -71,6 +71,8 @@ class DashboardInstanceSessionsGetOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapDashboardInstanceSessionsGetOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsGetOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/list.py index 639b24a8..1c920dea 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/list.py @@ -71,6 +71,8 @@ class DashboardInstanceSessionsListOutputItems: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None @dataclass class DashboardInstanceSessionsListOutputPagination: has_more_before: bool @@ -221,6 +223,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsListOutputItems: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -283,6 +287,10 @@ class DashboardInstanceSessionsListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None session_template_id: Optional[Union[str, List[str]]] = None session_provider_id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None @@ -304,6 +312,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsListQuery: order=data.get('order'), status=data.get('status'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), session_template_id=data.get('session_template_id'), session_provider_id=data.get('session_provider_id'), provider_id=data.get('provider_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/messages/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/messages/get.py index fbac8bbf..57f48cee 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/messages/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/messages/get.py @@ -26,6 +26,50 @@ class DashboardInstanceSessionsMessagesGetOutputTransport: mcp: Optional[DashboardInstanceSessionsMessagesGetOutputTransportMcp] = None tool_call: Optional[DashboardInstanceSessionsMessagesGetOutputTransportToolCall] = None @dataclass +class DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class DashboardInstanceSessionsMessagesGetOutputToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -84,6 +128,8 @@ class DashboardInstanceSessionsMessagesGetOutputToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipant] = None + responder_participant: Optional[DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipant] = None error: Optional[DashboardInstanceSessionsMessagesGetOutputToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -101,6 +147,14 @@ class DashboardInstanceSessionsMessagesGetOutputSenderParticipant: data: DashboardInstanceSessionsMessagesGetOutputSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsMessagesGetOutputResponderParticipantData: identifier: str @@ -115,6 +169,14 @@ class DashboardInstanceSessionsMessagesGetOutputResponderParticipant: data: DashboardInstanceSessionsMessagesGetOutputResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsMessagesGetOutputError: object: str @@ -221,6 +283,98 @@ def to_dict(value: Union[DashboardInstanceSessionsMessagesGetOutputTransport, Di return value return dataclasses.asdict(value) +class mapDashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipantData: + return DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipant: + return DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipantData: + return DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipant: + return DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceSessionsMessagesGetOutputToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesGetOutputToolCallToolInputSchema: @@ -340,6 +494,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesGetOutpu session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapDashboardInstanceSessionsMessagesGetOutputToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapDashboardInstanceSessionsMessagesGetOutputToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapDashboardInstanceSessionsMessagesGetOutputToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapDashboardInstanceSessionsMessagesGetOutputToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -382,6 +538,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesGetOutpu name=data.get('name'), data=mapDashboardInstanceSessionsMessagesGetOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -420,6 +584,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesGetOutpu name=data.get('name'), data=mapDashboardInstanceSessionsMessagesGetOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/messages/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/messages/list.py index 58c3dc9a..5deeee48 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/messages/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/messages/list.py @@ -26,6 +26,50 @@ class DashboardInstanceSessionsMessagesListOutputItemsTransport: mcp: Optional[DashboardInstanceSessionsMessagesListOutputItemsTransportMcp] = None tool_call: Optional[DashboardInstanceSessionsMessagesListOutputItemsTransportToolCall] = None @dataclass +class DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class DashboardInstanceSessionsMessagesListOutputItemsToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -84,6 +128,8 @@ class DashboardInstanceSessionsMessagesListOutputItemsToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant] = None + responder_participant: Optional[DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant] = None error: Optional[DashboardInstanceSessionsMessagesListOutputItemsToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -101,6 +147,14 @@ class DashboardInstanceSessionsMessagesListOutputItemsSenderParticipant: data: DashboardInstanceSessionsMessagesListOutputItemsSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsMessagesListOutputItemsResponderParticipantData: identifier: str @@ -115,6 +169,14 @@ class DashboardInstanceSessionsMessagesListOutputItemsResponderParticipant: data: DashboardInstanceSessionsMessagesListOutputItemsResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsMessagesListOutputItemsError: object: str @@ -229,6 +291,98 @@ def to_dict(value: Union[DashboardInstanceSessionsMessagesListOutputItemsTranspo return value return dataclasses.asdict(value) +class mapDashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData: + return DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant: + return DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData: + return DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant: + return DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceSessionsMessagesListOutputItemsToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesListOutputItemsToolCallToolInputSchema: @@ -348,6 +502,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesListOutp session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapDashboardInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapDashboardInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapDashboardInstanceSessionsMessagesListOutputItemsToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapDashboardInstanceSessionsMessagesListOutputItemsToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -390,6 +546,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesListOutp name=data.get('name'), data=mapDashboardInstanceSessionsMessagesListOutputItemsSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -428,6 +592,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsMessagesListOutp name=data.get('name'), data=mapDashboardInstanceSessionsMessagesListOutputItemsResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/participants/get.py index 4aecebdd..1dfc7c74 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/participants/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/participants/get.py @@ -17,6 +17,14 @@ class DashboardInstanceSessionsParticipantsGetOutput: data: DashboardInstanceSessionsParticipantsGetOutputData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None class mapDashboardInstanceSessionsParticipantsGetOutputData: @@ -46,6 +54,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsParticipantsGetO name=data.get('name'), data=mapDashboardInstanceSessionsParticipantsGetOutputData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/participants/list.py index ce2b0b44..910c8a1e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/participants/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/participants/list.py @@ -17,6 +17,14 @@ class DashboardInstanceSessionsParticipantsListOutputItems: data: DashboardInstanceSessionsParticipantsListOutputItemsData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceSessionsParticipantsListOutputPagination: has_more_before: bool @@ -54,6 +62,14 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsParticipantsList name=data.get('name'), data=mapDashboardInstanceSessionsParticipantsListOutputItemsData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -115,6 +131,11 @@ class DashboardInstanceSessionsParticipantsListQuery: order: Optional[str] = None type: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None session_id: Optional[Union[str, List[str]]] = None session_connection_id: Optional[Union[str, List[str]]] = None session_message_id: Optional[Union[str, List[str]]] = None @@ -133,6 +154,11 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsParticipantsList order=data.get('order'), type=data.get('type'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), session_id=data.get('session_id'), session_connection_id=data.get('session_connection_id'), session_message_id=data.get('session_message_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/update.py index 6290f167..018b2a38 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/sessions/update.py @@ -71,6 +71,8 @@ class DashboardInstanceSessionsUpdateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapDashboardInstanceSessionsUpdateOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceSessionsUpdateOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/__init__.py new file mode 100644 index 00000000..b69ba27e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/__init__.py @@ -0,0 +1,18 @@ +from .agents import * +from .configurations import * +from .create import * +from .delete import * +from .duplicate import * +from .exports import * +from .fork import * +from .get import * +from .groups import * +from .items import * +from .list import * +from .marketplaces import * +from .participants import * +from .plugins import * +from .publish_consumer_skill import * +from .templates import * +from .update import * +from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/create.py new file mode 100644 index 00000000..f0019bb0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/create.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsAgentsCreateOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsAgentsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsCreateOutput: + return DashboardInstanceSkillsAgentsCreateOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsAgentsCreateBody: + name: str + description: Optional[str] = None + content: Optional[str] = None + + +class mapDashboardInstanceSkillsAgentsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsCreateBody: + return DashboardInstanceSkillsAgentsCreateBody( + name=data.get('name'), + description=data.get('description'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/delete.py new file mode 100644 index 00000000..bea9a1c8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/delete.py @@ -0,0 +1,52 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsAgentsDeleteOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsAgentsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsDeleteOutput: + return DashboardInstanceSkillsAgentsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/get.py new file mode 100644 index 00000000..bbb93c59 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/get.py @@ -0,0 +1,52 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsAgentsGetOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsAgentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsGetOutput: + return DashboardInstanceSkillsAgentsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/list.py new file mode 100644 index 00000000..6851dc08 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/list.py @@ -0,0 +1,123 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsAgentsListOutputItems: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsAgentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsAgentsListOutput: + items: List[DashboardInstanceSkillsAgentsListOutputItems] + pagination: DashboardInstanceSkillsAgentsListOutputPagination + + +class mapDashboardInstanceSkillsAgentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsListOutputItems: + return DashboardInstanceSkillsAgentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsAgentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsListOutputPagination: + return DashboardInstanceSkillsAgentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsAgentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsListOutput: + return DashboardInstanceSkillsAgentsListOutput( + items=[mapDashboardInstanceSkillsAgentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsAgentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsAgentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + include_archived: Optional[bool] = None + + +class mapDashboardInstanceSkillsAgentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsListQuery: + return DashboardInstanceSkillsAgentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + include_archived=data.get('include_archived') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/update.py new file mode 100644 index 00000000..060df05a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/agents/update.py @@ -0,0 +1,75 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsAgentsUpdateOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsAgentsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsUpdateOutput: + return DashboardInstanceSkillsAgentsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsAgentsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + + +class mapDashboardInstanceSkillsAgentsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsAgentsUpdateBody: + return DashboardInstanceSkillsAgentsUpdateBody( + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsAgentsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/create.py new file mode 100644 index 00000000..3de2982b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/create.py @@ -0,0 +1,67 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsConfigurationsCreateOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsConfigurationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsCreateOutput: + return DashboardInstanceSkillsConfigurationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsConfigurationsCreateBody: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None + + +class mapDashboardInstanceSkillsConfigurationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsCreateBody: + return DashboardInstanceSkillsConfigurationsCreateBody( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/delete.py new file mode 100644 index 00000000..3c9d1714 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/delete.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsConfigurationsDeleteOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsConfigurationsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsDeleteOutput: + return DashboardInstanceSkillsConfigurationsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/get.py new file mode 100644 index 00000000..babde934 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/get.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsConfigurationsGetOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsConfigurationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsGetOutput: + return DashboardInstanceSkillsConfigurationsGetOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/list.py new file mode 100644 index 00000000..a394f4d3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/list.py @@ -0,0 +1,111 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsConfigurationsListOutputItems: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsConfigurationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsConfigurationsListOutput: + items: List[DashboardInstanceSkillsConfigurationsListOutputItems] + pagination: DashboardInstanceSkillsConfigurationsListOutputPagination + + +class mapDashboardInstanceSkillsConfigurationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsListOutputItems: + return DashboardInstanceSkillsConfigurationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsConfigurationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsListOutputPagination: + return DashboardInstanceSkillsConfigurationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsConfigurationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsListOutput: + return DashboardInstanceSkillsConfigurationsListOutput( + items=[mapDashboardInstanceSkillsConfigurationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsConfigurationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsConfigurationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceSkillsConfigurationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsListQuery: + return DashboardInstanceSkillsConfigurationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/update.py new file mode 100644 index 00000000..87099a6a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/configurations/update.py @@ -0,0 +1,67 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsConfigurationsUpdateOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsConfigurationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsUpdateOutput: + return DashboardInstanceSkillsConfigurationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsConfigurationsUpdateBody: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None + + +class mapDashboardInstanceSkillsConfigurationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsConfigurationsUpdateBody: + return DashboardInstanceSkillsConfigurationsUpdateBody( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsConfigurationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/create.py new file mode 100644 index 00000000..54ac12a4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/create.py @@ -0,0 +1,641 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsCreateOutputHierarchyCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsCreateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[DashboardInstanceSkillsCreateOutputHierarchyForkCreator] = None + original_creator: Optional[DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreator] = None +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsCreateOutputHierarchy: + object: str + type: str + entity: DashboardInstanceSkillsCreateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[DashboardInstanceSkillsCreateOutputHierarchyCreator] = None + fork: Optional[DashboardInstanceSkillsCreateOutputHierarchyFork] = None +@dataclass +class DashboardInstanceSkillsCreateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsCreateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsCreateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsCreateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsCreateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: DashboardInstanceSkillsCreateOutputHierarchy + integrations: List[DashboardInstanceSkillsCreateOutputIntegrations] + providers: List[DashboardInstanceSkillsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapDashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + return DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor: + return DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyCreatorConsumer: + return DashboardInstanceSkillsCreateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyCreator: + return DashboardInstanceSkillsCreateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsCreateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + return DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor: + return DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyForkCreatorConsumer: + return DashboardInstanceSkillsCreateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyForkCreator: + return DashboardInstanceSkillsCreateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsCreateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + return DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + return DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreator: + return DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyFork: + return DashboardInstanceSkillsCreateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsCreateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapDashboardInstanceSkillsCreateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchyEntity: + return DashboardInstanceSkillsCreateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputHierarchy: + return DashboardInstanceSkillsCreateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsCreateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapDashboardInstanceSkillsCreateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapDashboardInstanceSkillsCreateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputIntegrationsConfiguration: + return DashboardInstanceSkillsCreateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputIntegrations: + return DashboardInstanceSkillsCreateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsCreateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutputProviders: + return DashboardInstanceSkillsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateOutput: + return DashboardInstanceSkillsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapDashboardInstanceSkillsCreateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapDashboardInstanceSkillsCreateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapDashboardInstanceSkillsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + template_id: Optional[str] = None + + +class mapDashboardInstanceSkillsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsCreateBody: + return DashboardInstanceSkillsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + image_file_id=data.get('image_file_id'), + template_id=data.get('template_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/delete.py new file mode 100644 index 00000000..4c12b0cd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/delete.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsDeleteOutputHierarchyCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[DashboardInstanceSkillsDeleteOutputHierarchyForkCreator] = None + original_creator: Optional[DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreator] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputHierarchy: + object: str + type: str + entity: DashboardInstanceSkillsDeleteOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[DashboardInstanceSkillsDeleteOutputHierarchyCreator] = None + fork: Optional[DashboardInstanceSkillsDeleteOutputHierarchyFork] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsDeleteOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsDeleteOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsDeleteOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDeleteOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: DashboardInstanceSkillsDeleteOutputHierarchy + integrations: List[DashboardInstanceSkillsDeleteOutputIntegrations] + providers: List[DashboardInstanceSkillsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapDashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + return DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor: + return DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyCreatorConsumer: + return DashboardInstanceSkillsDeleteOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyCreator: + return DashboardInstanceSkillsDeleteOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsDeleteOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + return DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + return DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer: + return DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyForkCreator: + return DashboardInstanceSkillsDeleteOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + return DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + return DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreator: + return DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyFork: + return DashboardInstanceSkillsDeleteOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsDeleteOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapDashboardInstanceSkillsDeleteOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchyEntity: + return DashboardInstanceSkillsDeleteOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputHierarchy: + return DashboardInstanceSkillsDeleteOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsDeleteOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapDashboardInstanceSkillsDeleteOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapDashboardInstanceSkillsDeleteOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputIntegrationsConfiguration: + return DashboardInstanceSkillsDeleteOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputIntegrations: + return DashboardInstanceSkillsDeleteOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsDeleteOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutputProviders: + return DashboardInstanceSkillsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDeleteOutput: + return DashboardInstanceSkillsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapDashboardInstanceSkillsDeleteOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapDashboardInstanceSkillsDeleteOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapDashboardInstanceSkillsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/duplicate.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/duplicate.py new file mode 100644 index 00000000..b7312ee7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/duplicate.py @@ -0,0 +1,637 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyForkCreator] = None + original_creator: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputHierarchy: + object: str + type: str + entity: DashboardInstanceSkillsDuplicateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyCreator] = None + fork: Optional[DashboardInstanceSkillsDuplicateOutputHierarchyFork] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsDuplicateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsDuplicateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsDuplicateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: DashboardInstanceSkillsDuplicateOutputHierarchy + integrations: List[DashboardInstanceSkillsDuplicateOutputIntegrations] + providers: List[DashboardInstanceSkillsDuplicateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + return DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor: + return DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyCreatorConsumer: + return DashboardInstanceSkillsDuplicateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyCreator: + return DashboardInstanceSkillsDuplicateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsDuplicateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + return DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + return DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer: + return DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyForkCreator: + return DashboardInstanceSkillsDuplicateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + return DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + return DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator: + return DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyFork: + return DashboardInstanceSkillsDuplicateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsDuplicateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapDashboardInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchyEntity: + return DashboardInstanceSkillsDuplicateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputHierarchy: + return DashboardInstanceSkillsDuplicateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsDuplicateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapDashboardInstanceSkillsDuplicateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapDashboardInstanceSkillsDuplicateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputIntegrationsConfiguration: + return DashboardInstanceSkillsDuplicateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputIntegrations: + return DashboardInstanceSkillsDuplicateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsDuplicateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutputProviders: + return DashboardInstanceSkillsDuplicateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsDuplicateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateOutput: + return DashboardInstanceSkillsDuplicateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapDashboardInstanceSkillsDuplicateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapDashboardInstanceSkillsDuplicateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapDashboardInstanceSkillsDuplicateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsDuplicateBody: + name: str + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceSkillsDuplicateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsDuplicateBody: + return DashboardInstanceSkillsDuplicateBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsDuplicateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/create.py new file mode 100644 index 00000000..f135c556 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/create.py @@ -0,0 +1,381 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsExportsCreateOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsCreateOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsExportsCreateOutputFileCreatedByConsumer] = None +@dataclass +class DashboardInstanceSkillsExportsCreateOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[DashboardInstanceSkillsExportsCreateOutputFileCreatedBy] = None +@dataclass +class DashboardInstanceSkillsExportsCreateOutputFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsExportsCreateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsCreateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsExportsCreateOutputCreatedByConsumer] = None +@dataclass +class DashboardInstanceSkillsExportsCreateOutput: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[DashboardInstanceSkillsExportsCreateOutputFile] = None + file_link: Optional[DashboardInstanceSkillsExportsCreateOutputFileLink] = None + created_by: Optional[DashboardInstanceSkillsExportsCreateOutputCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + return DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor: + return DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputFileCreatedByConsumer: + return DashboardInstanceSkillsExportsCreateOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputFileCreatedBy: + return DashboardInstanceSkillsExportsCreateOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsExportsCreateOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputFile: + return DashboardInstanceSkillsExportsCreateOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapDashboardInstanceSkillsExportsCreateOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputFileLink: + return DashboardInstanceSkillsExportsCreateOutputFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams: + return DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActor: + return DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputCreatedByConsumer: + return DashboardInstanceSkillsExportsCreateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutputCreatedBy: + return DashboardInstanceSkillsExportsCreateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsExportsCreateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsExportsCreateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateOutput: + return DashboardInstanceSkillsExportsCreateOutput( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapDashboardInstanceSkillsExportsCreateOutputFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapDashboardInstanceSkillsExportsCreateOutputFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapDashboardInstanceSkillsExportsCreateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsExportsCreateBody: + target: str + skill_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + + +class mapDashboardInstanceSkillsExportsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsCreateBody: + return DashboardInstanceSkillsExportsCreateBody( + target=data.get('target'), + skill_id=data.get('skill_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_marketplace_id=data.get('skill_marketplace_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/get.py new file mode 100644 index 00000000..f5e86e58 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/get.py @@ -0,0 +1,354 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsExportsGetOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsGetOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsExportsGetOutputFileCreatedByConsumer] = None +@dataclass +class DashboardInstanceSkillsExportsGetOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[DashboardInstanceSkillsExportsGetOutputFileCreatedBy] = None +@dataclass +class DashboardInstanceSkillsExportsGetOutputFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsExportsGetOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsExportsGetOutputCreatedByConsumer] = None +@dataclass +class DashboardInstanceSkillsExportsGetOutput: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[DashboardInstanceSkillsExportsGetOutputFile] = None + file_link: Optional[DashboardInstanceSkillsExportsGetOutputFileLink] = None + created_by: Optional[DashboardInstanceSkillsExportsGetOutputCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None + + +class mapDashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + return DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor: + return DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputFileCreatedByConsumer: + return DashboardInstanceSkillsExportsGetOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputFileCreatedBy: + return DashboardInstanceSkillsExportsGetOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsExportsGetOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputFile: + return DashboardInstanceSkillsExportsGetOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapDashboardInstanceSkillsExportsGetOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputFileLink: + return DashboardInstanceSkillsExportsGetOutputFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams: + return DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActor: + return DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputCreatedByConsumer: + return DashboardInstanceSkillsExportsGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutputCreatedBy: + return DashboardInstanceSkillsExportsGetOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsExportsGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsExportsGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsGetOutput: + return DashboardInstanceSkillsExportsGetOutput( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapDashboardInstanceSkillsExportsGetOutputFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapDashboardInstanceSkillsExportsGetOutputFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapDashboardInstanceSkillsExportsGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/list.py new file mode 100644 index 00000000..e8392df0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/exports/list.py @@ -0,0 +1,429 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsExportsListOutputItemsFileCreatedByConsumer] = None +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[DashboardInstanceSkillsExportsListOutputItemsFileCreatedBy] = None +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsExportsListOutputItemsCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsExportsListOutputItemsCreatedByConsumer] = None +@dataclass +class DashboardInstanceSkillsExportsListOutputItems: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[DashboardInstanceSkillsExportsListOutputItemsFile] = None + file_link: Optional[DashboardInstanceSkillsExportsListOutputItemsFileLink] = None + created_by: Optional[DashboardInstanceSkillsExportsListOutputItemsCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsExportsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsExportsListOutput: + items: List[DashboardInstanceSkillsExportsListOutputItems] + pagination: DashboardInstanceSkillsExportsListOutputPagination + + +class mapDashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + return DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor: + return DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsFileCreatedByConsumer: + return DashboardInstanceSkillsExportsListOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsFileCreatedBy: + return DashboardInstanceSkillsExportsListOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsExportsListOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsFile: + return DashboardInstanceSkillsExportsListOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapDashboardInstanceSkillsExportsListOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsFileLink: + return DashboardInstanceSkillsExportsListOutputItemsFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + return DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor: + return DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsCreatedByConsumer: + return DashboardInstanceSkillsExportsListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItemsCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItemsCreatedBy: + return DashboardInstanceSkillsExportsListOutputItemsCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsExportsListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputItems: + return DashboardInstanceSkillsExportsListOutputItems( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapDashboardInstanceSkillsExportsListOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapDashboardInstanceSkillsExportsListOutputItemsFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapDashboardInstanceSkillsExportsListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutputPagination: + return DashboardInstanceSkillsExportsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsExportsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListOutput: + return DashboardInstanceSkillsExportsListOutput( + items=[mapDashboardInstanceSkillsExportsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsExportsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsExportsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + target: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + + +class mapDashboardInstanceSkillsExportsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsExportsListQuery: + return DashboardInstanceSkillsExportsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsExportsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/fork.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/fork.py new file mode 100644 index 00000000..3cd4e8c4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/fork.py @@ -0,0 +1,639 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsForkOutputHierarchyCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsForkOutputHierarchyForkCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[DashboardInstanceSkillsForkOutputHierarchyForkCreator] = None + original_creator: Optional[DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreator] = None +@dataclass +class DashboardInstanceSkillsForkOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsForkOutputHierarchy: + object: str + type: str + entity: DashboardInstanceSkillsForkOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[DashboardInstanceSkillsForkOutputHierarchyCreator] = None + fork: Optional[DashboardInstanceSkillsForkOutputHierarchyFork] = None +@dataclass +class DashboardInstanceSkillsForkOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsForkOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsForkOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsForkOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsForkOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: DashboardInstanceSkillsForkOutputHierarchy + integrations: List[DashboardInstanceSkillsForkOutputIntegrations] + providers: List[DashboardInstanceSkillsForkOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapDashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams: + return DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActor: + return DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyCreatorConsumer: + return DashboardInstanceSkillsForkOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyCreator: + return DashboardInstanceSkillsForkOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsForkOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsForkOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + return DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor: + return DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyForkCreatorConsumer: + return DashboardInstanceSkillsForkOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyForkCreator: + return DashboardInstanceSkillsForkOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsForkOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + return DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer: + return DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreator: + return DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyFork: + return DashboardInstanceSkillsForkOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsForkOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapDashboardInstanceSkillsForkOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchyEntity: + return DashboardInstanceSkillsForkOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputHierarchy: + return DashboardInstanceSkillsForkOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsForkOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapDashboardInstanceSkillsForkOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapDashboardInstanceSkillsForkOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputIntegrationsConfiguration: + return DashboardInstanceSkillsForkOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputIntegrations: + return DashboardInstanceSkillsForkOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsForkOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutputProviders: + return DashboardInstanceSkillsForkOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsForkOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkOutput: + return DashboardInstanceSkillsForkOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapDashboardInstanceSkillsForkOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapDashboardInstanceSkillsForkOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapDashboardInstanceSkillsForkOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsForkBody: + name: str + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + + +class mapDashboardInstanceSkillsForkBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsForkBody: + return DashboardInstanceSkillsForkBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata'), + image_file_id=data.get('image_file_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsForkBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/get.py new file mode 100644 index 00000000..b1363860 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/get.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsGetOutputHierarchyCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsGetOutputHierarchyForkCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[DashboardInstanceSkillsGetOutputHierarchyForkCreator] = None + original_creator: Optional[DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreator] = None +@dataclass +class DashboardInstanceSkillsGetOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsGetOutputHierarchy: + object: str + type: str + entity: DashboardInstanceSkillsGetOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[DashboardInstanceSkillsGetOutputHierarchyCreator] = None + fork: Optional[DashboardInstanceSkillsGetOutputHierarchyFork] = None +@dataclass +class DashboardInstanceSkillsGetOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsGetOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsGetOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsGetOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsGetOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: DashboardInstanceSkillsGetOutputHierarchy + integrations: List[DashboardInstanceSkillsGetOutputIntegrations] + providers: List[DashboardInstanceSkillsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapDashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams: + return DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActor: + return DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyCreatorConsumer: + return DashboardInstanceSkillsGetOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyCreator: + return DashboardInstanceSkillsGetOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsGetOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsGetOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + return DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor: + return DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyForkCreatorConsumer: + return DashboardInstanceSkillsGetOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyForkCreator: + return DashboardInstanceSkillsGetOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsGetOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + return DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer: + return DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreator: + return DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyFork: + return DashboardInstanceSkillsGetOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsGetOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapDashboardInstanceSkillsGetOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchyEntity: + return DashboardInstanceSkillsGetOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputHierarchy: + return DashboardInstanceSkillsGetOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsGetOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapDashboardInstanceSkillsGetOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapDashboardInstanceSkillsGetOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputIntegrationsConfiguration: + return DashboardInstanceSkillsGetOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputIntegrations: + return DashboardInstanceSkillsGetOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsGetOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutputProviders: + return DashboardInstanceSkillsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGetOutput: + return DashboardInstanceSkillsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapDashboardInstanceSkillsGetOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapDashboardInstanceSkillsGetOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapDashboardInstanceSkillsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/__init__.py new file mode 100644 index 00000000..a54a2223 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/create.py new file mode 100644 index 00000000..1d735c8e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/create.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsCreateOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsCreateOutput: + object: str + id: str + status: str + name: str + skills: List[DashboardInstanceSkillsGroupsCreateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceSkillsGroupsCreateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsCreateOutputSkills: + return DashboardInstanceSkillsGroupsCreateOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsCreateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsCreateOutput: + return DashboardInstanceSkillsGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapDashboardInstanceSkillsGroupsCreateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsGroupsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + skill_ids: Optional[List[str]] = None + + +class mapDashboardInstanceSkillsGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsCreateBody: + return DashboardInstanceSkillsGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skill_ids=data.get('skill_ids', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/delete.py new file mode 100644 index 00000000..77c02bba --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/delete.py @@ -0,0 +1,88 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsDeleteOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsDeleteOutput: + object: str + id: str + status: str + name: str + skills: List[DashboardInstanceSkillsGroupsDeleteOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceSkillsGroupsDeleteOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsDeleteOutputSkills: + return DashboardInstanceSkillsGroupsDeleteOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsDeleteOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsDeleteOutput: + return DashboardInstanceSkillsGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapDashboardInstanceSkillsGroupsDeleteOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/get.py new file mode 100644 index 00000000..13066b1f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/get.py @@ -0,0 +1,88 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsGetOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsGetOutput: + object: str + id: str + status: str + name: str + skills: List[DashboardInstanceSkillsGroupsGetOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceSkillsGroupsGetOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsGetOutputSkills: + return DashboardInstanceSkillsGroupsGetOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsGetOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsGetOutput: + return DashboardInstanceSkillsGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapDashboardInstanceSkillsGroupsGetOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/__init__.py similarity index 100% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/__init__.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/__init__.py diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/create.py new file mode 100644 index 00000000..d8d4bd42 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/create.py @@ -0,0 +1,103 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsItemsCreateOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsItemsCreateOutput: + object: str + id: str + status: str + skill_group_id: str + skill: DashboardInstanceSkillsGroupsItemsCreateOutputSkill + created_at: datetime + + +class mapDashboardInstanceSkillsGroupsItemsCreateOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsCreateOutputSkill: + return DashboardInstanceSkillsGroupsItemsCreateOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsCreateOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsCreateOutput: + return DashboardInstanceSkillsGroupsItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapDashboardInstanceSkillsGroupsItemsCreateOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsGroupsItemsCreateBody: + skill_id: str + + +class mapDashboardInstanceSkillsGroupsItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsCreateBody: + return DashboardInstanceSkillsGroupsItemsCreateBody( + skill_id=data.get('skill_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/delete.py new file mode 100644 index 00000000..d4a55d23 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/delete.py @@ -0,0 +1,82 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsItemsDeleteOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsItemsDeleteOutput: + object: str + id: str + status: str + skill_group_id: str + skill: DashboardInstanceSkillsGroupsItemsDeleteOutputSkill + created_at: datetime + + +class mapDashboardInstanceSkillsGroupsItemsDeleteOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsDeleteOutputSkill: + return DashboardInstanceSkillsGroupsItemsDeleteOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsDeleteOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsDeleteOutput: + return DashboardInstanceSkillsGroupsItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapDashboardInstanceSkillsGroupsItemsDeleteOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/get.py new file mode 100644 index 00000000..c7d69bd3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/get.py @@ -0,0 +1,82 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsItemsGetOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsItemsGetOutput: + object: str + id: str + status: str + skill_group_id: str + skill: DashboardInstanceSkillsGroupsItemsGetOutputSkill + created_at: datetime + + +class mapDashboardInstanceSkillsGroupsItemsGetOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsGetOutputSkill: + return DashboardInstanceSkillsGroupsItemsGetOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsGetOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsGetOutput: + return DashboardInstanceSkillsGroupsItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapDashboardInstanceSkillsGroupsItemsGetOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/list.py new file mode 100644 index 00000000..be5d7cc6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/items/list.py @@ -0,0 +1,163 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsItemsListOutputItemsSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsItemsListOutputItems: + object: str + id: str + status: str + skill_group_id: str + skill: DashboardInstanceSkillsGroupsItemsListOutputItemsSkill + created_at: datetime +@dataclass +class DashboardInstanceSkillsGroupsItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsGroupsItemsListOutput: + items: List[DashboardInstanceSkillsGroupsItemsListOutputItems] + pagination: DashboardInstanceSkillsGroupsItemsListOutputPagination + + +class mapDashboardInstanceSkillsGroupsItemsListOutputItemsSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsListOutputItemsSkill: + return DashboardInstanceSkillsGroupsItemsListOutputItemsSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsListOutputItemsSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsListOutputItems: + return DashboardInstanceSkillsGroupsItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapDashboardInstanceSkillsGroupsItemsListOutputItemsSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsListOutputPagination: + return DashboardInstanceSkillsGroupsItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsListOutput: + return DashboardInstanceSkillsGroupsItemsListOutput( + items=[mapDashboardInstanceSkillsGroupsItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsGroupsItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsGroupsItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsGroupsItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceSkillsGroupsItemsListQueryCreatedAt] = None + + +class mapDashboardInstanceSkillsGroupsItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsItemsListQuery: + return DashboardInstanceSkillsGroupsItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + skill_id=data.get('skill_id'), + created_at=mapDashboardInstanceSkillsGroupsItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/list.py new file mode 100644 index 00000000..6f1bda98 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/list.py @@ -0,0 +1,177 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsListOutputItemsSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsListOutputItems: + object: str + id: str + status: str + name: str + skills: List[DashboardInstanceSkillsGroupsListOutputItemsSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsGroupsListOutput: + items: List[DashboardInstanceSkillsGroupsListOutputItems] + pagination: DashboardInstanceSkillsGroupsListOutputPagination + + +class mapDashboardInstanceSkillsGroupsListOutputItemsSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsListOutputItemsSkills: + return DashboardInstanceSkillsGroupsListOutputItemsSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsListOutputItemsSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsListOutputItems: + return DashboardInstanceSkillsGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapDashboardInstanceSkillsGroupsListOutputItemsSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsListOutputPagination: + return DashboardInstanceSkillsGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsListOutput: + return DashboardInstanceSkillsGroupsListOutput( + items=[mapDashboardInstanceSkillsGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsGroupsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsGroupsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceSkillsGroupsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceSkillsGroupsListQueryUpdatedAt] = None + + +class mapDashboardInstanceSkillsGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsListQuery: + return DashboardInstanceSkillsGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + skill_id=data.get('skill_id'), + created_at=mapDashboardInstanceSkillsGroupsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceSkillsGroupsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/update.py new file mode 100644 index 00000000..0e6c729b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/groups/update.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsGroupsUpdateOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class DashboardInstanceSkillsGroupsUpdateOutput: + object: str + id: str + status: str + name: str + skills: List[DashboardInstanceSkillsGroupsUpdateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceSkillsGroupsUpdateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsUpdateOutputSkills: + return DashboardInstanceSkillsGroupsUpdateOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsUpdateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsUpdateOutput: + return DashboardInstanceSkillsGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapDashboardInstanceSkillsGroupsUpdateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + skill_ids: Optional[List[str]] = None + + +class mapDashboardInstanceSkillsGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsGroupsUpdateBody: + return DashboardInstanceSkillsGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skill_ids=data.get('skill_ids', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/__init__.py similarity index 100% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/__init__.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/__init__.py diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/create.py new file mode 100644 index 00000000..e08ea9f5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/create.py @@ -0,0 +1,145 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsItemsCreateOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsItemsCreateOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsItemsCreateOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsItemsCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsItemsCreateOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[DashboardInstanceSkillsItemsCreateOutputIntegration] = None + provider: Optional[DashboardInstanceSkillsItemsCreateOutputProvider] = None + + +class mapDashboardInstanceSkillsItemsCreateOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsCreateOutputIntegrationConfiguration: + return DashboardInstanceSkillsItemsCreateOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsCreateOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsCreateOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsCreateOutputIntegration: + return DashboardInstanceSkillsItemsCreateOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsItemsCreateOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsCreateOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsCreateOutputProvider: + return DashboardInstanceSkillsItemsCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsCreateOutput: + return DashboardInstanceSkillsItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapDashboardInstanceSkillsItemsCreateOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsItemsCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +DashboardInstanceSkillsItemsCreateBody = Dict[str, Any] + + +class mapDashboardInstanceSkillsItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsCreateBody: + data + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/delete.py new file mode 100644 index 00000000..94c2e981 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/delete.py @@ -0,0 +1,128 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsItemsDeleteOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsItemsDeleteOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsItemsDeleteOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsItemsDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsItemsDeleteOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[DashboardInstanceSkillsItemsDeleteOutputIntegration] = None + provider: Optional[DashboardInstanceSkillsItemsDeleteOutputProvider] = None + + +class mapDashboardInstanceSkillsItemsDeleteOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsDeleteOutputIntegrationConfiguration: + return DashboardInstanceSkillsItemsDeleteOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsDeleteOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsDeleteOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsDeleteOutputIntegration: + return DashboardInstanceSkillsItemsDeleteOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsItemsDeleteOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsDeleteOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsDeleteOutputProvider: + return DashboardInstanceSkillsItemsDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsDeleteOutput: + return DashboardInstanceSkillsItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapDashboardInstanceSkillsItemsDeleteOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsItemsDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/get.py new file mode 100644 index 00000000..7e857287 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/get.py @@ -0,0 +1,128 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsItemsGetOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsItemsGetOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsItemsGetOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsItemsGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsItemsGetOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[DashboardInstanceSkillsItemsGetOutputIntegration] = None + provider: Optional[DashboardInstanceSkillsItemsGetOutputProvider] = None + + +class mapDashboardInstanceSkillsItemsGetOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsGetOutputIntegrationConfiguration: + return DashboardInstanceSkillsItemsGetOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsGetOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsGetOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsGetOutputIntegration: + return DashboardInstanceSkillsItemsGetOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsItemsGetOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsGetOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsGetOutputProvider: + return DashboardInstanceSkillsItemsGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsGetOutput: + return DashboardInstanceSkillsItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapDashboardInstanceSkillsItemsGetOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsItemsGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/list.py new file mode 100644 index 00000000..b09ca405 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/items/list.py @@ -0,0 +1,213 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsItemsListOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsItemsListOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsItemsListOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsItemsListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsItemsListOutputItems: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[DashboardInstanceSkillsItemsListOutputItemsIntegration] = None + provider: Optional[DashboardInstanceSkillsItemsListOutputItemsProvider] = None +@dataclass +class DashboardInstanceSkillsItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsItemsListOutput: + items: List[DashboardInstanceSkillsItemsListOutputItems] + pagination: DashboardInstanceSkillsItemsListOutputPagination + + +class mapDashboardInstanceSkillsItemsListOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsListOutputItemsIntegrationConfiguration: + return DashboardInstanceSkillsItemsListOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsListOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsListOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsListOutputItemsIntegration: + return DashboardInstanceSkillsItemsListOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsItemsListOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsListOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsListOutputItemsProvider: + return DashboardInstanceSkillsItemsListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsListOutputItems: + return DashboardInstanceSkillsItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapDashboardInstanceSkillsItemsListOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsItemsListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsListOutputPagination: + return DashboardInstanceSkillsItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsListOutput: + return DashboardInstanceSkillsItemsListOutput( + items=[mapDashboardInstanceSkillsItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceSkillsItemsListQueryCreatedAt] = None + + +class mapDashboardInstanceSkillsItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsItemsListQuery: + return DashboardInstanceSkillsItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + type=data.get('type'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + created_at=mapDashboardInstanceSkillsItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/list.py new file mode 100644 index 00000000..6980e394 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/list.py @@ -0,0 +1,695 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsListOutputItemsHierarchyCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[DashboardInstanceSkillsListOutputItemsHierarchyForkCreator] = None + original_creator: Optional[DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreator] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsHierarchy: + object: str + type: str + entity: DashboardInstanceSkillsListOutputItemsHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[DashboardInstanceSkillsListOutputItemsHierarchyCreator] = None + fork: Optional[DashboardInstanceSkillsListOutputItemsHierarchyFork] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsListOutputItemsIntegrations: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsListOutputItemsIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsListOutputItemsProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsListOutputItems: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: DashboardInstanceSkillsListOutputItemsHierarchy + integrations: List[DashboardInstanceSkillsListOutputItemsIntegrations] + providers: List[DashboardInstanceSkillsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None +@dataclass +class DashboardInstanceSkillsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsListOutput: + items: List[DashboardInstanceSkillsListOutputItems] + pagination: DashboardInstanceSkillsListOutputPagination + + +class mapDashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + return DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor: + return DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyCreatorConsumer: + return DashboardInstanceSkillsListOutputItemsHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyCreator: + return DashboardInstanceSkillsListOutputItemsHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsListOutputItemsHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + return DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + return DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer: + return DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyForkCreator: + return DashboardInstanceSkillsListOutputItemsHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + return DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + return DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + return DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreator: + return DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyFork: + return DashboardInstanceSkillsListOutputItemsHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsListOutputItemsHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapDashboardInstanceSkillsListOutputItemsHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchyEntity: + return DashboardInstanceSkillsListOutputItemsHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsHierarchy: + return DashboardInstanceSkillsListOutputItemsHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsListOutputItemsHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapDashboardInstanceSkillsListOutputItemsHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapDashboardInstanceSkillsListOutputItemsHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsIntegrationsConfiguration: + return DashboardInstanceSkillsListOutputItemsIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsIntegrations: + return DashboardInstanceSkillsListOutputItemsIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsListOutputItemsIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItemsProviders: + return DashboardInstanceSkillsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputItems: + return DashboardInstanceSkillsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapDashboardInstanceSkillsListOutputItemsHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapDashboardInstanceSkillsListOutputItemsIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapDashboardInstanceSkillsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutputPagination: + return DashboardInstanceSkillsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListOutput: + return DashboardInstanceSkillsListOutput( + items=[mapDashboardInstanceSkillsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceSkillsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceSkillsListQueryUpdatedAt] = None + + +class mapDashboardInstanceSkillsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsListQuery: + return DashboardInstanceSkillsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + skill_group_id=data.get('skill_group_id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + created_at=mapDashboardInstanceSkillsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceSkillsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/__init__.py new file mode 100644 index 00000000..e24d109e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/__init__.py @@ -0,0 +1,7 @@ +from .archive import * +from .create import * +from .get import * +from .list import * +from .plugins import * +from .sync import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/archive.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/archive.py new file mode 100644 index 00000000..939d2040 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/archive.py @@ -0,0 +1,170 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesArchiveOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin] = None +@dataclass +class DashboardInstanceSkillsMarketplacesArchiveOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[DashboardInstanceSkillsMarketplacesArchiveOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin: + return DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesArchiveOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesArchiveOutputPlugins: + return DashboardInstanceSkillsMarketplacesArchiveOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesArchiveOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesArchiveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesArchiveOutput: + return DashboardInstanceSkillsMarketplacesArchiveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapDashboardInstanceSkillsMarketplacesArchiveOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesArchiveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/create.py new file mode 100644 index 00000000..69b992d8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/create.py @@ -0,0 +1,197 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesCreateOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin] = None +@dataclass +class DashboardInstanceSkillsMarketplacesCreateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[DashboardInstanceSkillsMarketplacesCreateOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin: + return DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesCreateOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesCreateOutputPlugins: + return DashboardInstanceSkillsMarketplacesCreateOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesCreateOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesCreateOutput: + return DashboardInstanceSkillsMarketplacesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapDashboardInstanceSkillsMarketplacesCreateOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsMarketplacesCreateBody: + name: str + description: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsMarketplacesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesCreateBody: + return DashboardInstanceSkillsMarketplacesCreateBody( + name=data.get('name'), + description=data.get('description'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/get.py new file mode 100644 index 00000000..6b8eae9a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/get.py @@ -0,0 +1,170 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesGetOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin] = None +@dataclass +class DashboardInstanceSkillsMarketplacesGetOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[DashboardInstanceSkillsMarketplacesGetOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin: + return DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesGetOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesGetOutputPlugins: + return DashboardInstanceSkillsMarketplacesGetOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesGetOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesGetOutput: + return DashboardInstanceSkillsMarketplacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapDashboardInstanceSkillsMarketplacesGetOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/list.py new file mode 100644 index 00000000..b641df9d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/list.py @@ -0,0 +1,259 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesListOutputItemsPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin] = None +@dataclass +class DashboardInstanceSkillsMarketplacesListOutputItems: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[DashboardInstanceSkillsMarketplacesListOutputItemsPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsMarketplacesListOutput: + items: List[DashboardInstanceSkillsMarketplacesListOutputItems] + pagination: DashboardInstanceSkillsMarketplacesListOutputPagination + + +class mapDashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin: + return DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesListOutputItemsPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesListOutputItemsPlugins: + return DashboardInstanceSkillsMarketplacesListOutputItemsPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesListOutputItemsPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesListOutputItems: + return DashboardInstanceSkillsMarketplacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapDashboardInstanceSkillsMarketplacesListOutputItemsPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesListOutputPagination: + return DashboardInstanceSkillsMarketplacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesListOutput: + return DashboardInstanceSkillsMarketplacesListOutput( + items=[mapDashboardInstanceSkillsMarketplacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsMarketplacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsMarketplacesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsMarketplacesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsMarketplacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + created_at: Optional[DashboardInstanceSkillsMarketplacesListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceSkillsMarketplacesListQueryUpdatedAt] = None + + +class mapDashboardInstanceSkillsMarketplacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesListQuery: + return DashboardInstanceSkillsMarketplacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + search=data.get('search'), + created_at=mapDashboardInstanceSkillsMarketplacesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceSkillsMarketplacesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/__init__.py new file mode 100644 index 00000000..ec5e2d9b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/__init__.py @@ -0,0 +1,4 @@ +from .add import * +from .get import * +from .list import * +from .remove import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/add.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/add.py new file mode 100644 index 00000000..5f154dea --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/add.py @@ -0,0 +1,155 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsAddOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin] = None + + +class mapDashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin: + return DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsAddOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsAddOutput: + return DashboardInstanceSkillsMarketplacesPluginsAddOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsAddOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsAddBody: + skill_plugin_id: str + skill_configuration_id: Optional[str] = None + identifier: Optional[str] = None + + +class mapDashboardInstanceSkillsMarketplacesPluginsAddBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsAddBody: + return DashboardInstanceSkillsMarketplacesPluginsAddBody( + skill_plugin_id=data.get('skill_plugin_id'), + skill_configuration_id=data.get('skill_configuration_id'), + identifier=data.get('identifier') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsAddBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/get.py new file mode 100644 index 00000000..89864351 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/get.py @@ -0,0 +1,130 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsGetOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin] = None + + +class mapDashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin: + return DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsGetOutput: + return DashboardInstanceSkillsMarketplacesPluginsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/list.py new file mode 100644 index 00000000..5996a20a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/list.py @@ -0,0 +1,219 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsListOutputItems: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsListOutput: + items: List[DashboardInstanceSkillsMarketplacesPluginsListOutputItems] + pagination: DashboardInstanceSkillsMarketplacesPluginsListOutputPagination + + +class mapDashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin: + return DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsListOutputItems: + return DashboardInstanceSkillsMarketplacesPluginsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsListOutputPagination: + return DashboardInstanceSkillsMarketplacesPluginsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsListOutput: + return DashboardInstanceSkillsMarketplacesPluginsListOutput( + items=[mapDashboardInstanceSkillsMarketplacesPluginsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsMarketplacesPluginsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_plugin_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceSkillsMarketplacesPluginsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceSkillsMarketplacesPluginsListQueryUpdatedAt] = None + + +class mapDashboardInstanceSkillsMarketplacesPluginsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsListQuery: + return DashboardInstanceSkillsMarketplacesPluginsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_plugin_id=data.get('skill_plugin_id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapDashboardInstanceSkillsMarketplacesPluginsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceSkillsMarketplacesPluginsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/remove.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/remove.py new file mode 100644 index 00000000..a85f2fb1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/plugins/remove.py @@ -0,0 +1,130 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesPluginsRemoveOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin] = None + + +class mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin: + return DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesPluginsRemoveOutput: + return DashboardInstanceSkillsMarketplacesPluginsRemoveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesPluginsRemoveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/sync.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/sync.py new file mode 100644 index 00000000..ce7422b6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/sync.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesSyncOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin] = None +@dataclass +class DashboardInstanceSkillsMarketplacesSyncOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[DashboardInstanceSkillsMarketplacesSyncOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin: + return DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesSyncOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesSyncOutputPlugins: + return DashboardInstanceSkillsMarketplacesSyncOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesSyncOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesSyncOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesSyncOutput: + return DashboardInstanceSkillsMarketplacesSyncOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapDashboardInstanceSkillsMarketplacesSyncOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesSyncOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsMarketplacesSyncBody: + pass + + +class mapDashboardInstanceSkillsMarketplacesSyncBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesSyncBody: + return DashboardInstanceSkillsMarketplacesSyncBody( + + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesSyncBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/update.py new file mode 100644 index 00000000..d10afaed --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/marketplaces/update.py @@ -0,0 +1,197 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsMarketplacesUpdateOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin] = None +@dataclass +class DashboardInstanceSkillsMarketplacesUpdateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[DashboardInstanceSkillsMarketplacesUpdateOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + return DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin: + return DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesUpdateOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesUpdateOutputPlugins: + return DashboardInstanceSkillsMarketplacesUpdateOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapDashboardInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesUpdateOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsMarketplacesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesUpdateOutput: + return DashboardInstanceSkillsMarketplacesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapDashboardInstanceSkillsMarketplacesUpdateOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsMarketplacesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsMarketplacesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsMarketplacesUpdateBody: + return DashboardInstanceSkillsMarketplacesUpdateBody( + name=data.get('name'), + description=data.get('description'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsMarketplacesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/get.py new file mode 100644 index 00000000..577c9ec2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/get.py @@ -0,0 +1,160 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsParticipantsGetOutputActorConsumer] = None +@dataclass +class DashboardInstanceSkillsParticipantsGetOutput: + object: str + id: str + skill_id: str + roles: List[str] + actor: DashboardInstanceSkillsParticipantsGetOutputActor + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams: + return DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActor: + return DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsGetOutputActorConsumer: + return DashboardInstanceSkillsParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsGetOutputActor: + return DashboardInstanceSkillsParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsGetOutput: + return DashboardInstanceSkillsParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + roles=data.get('roles', []), + actor=mapDashboardInstanceSkillsParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/list.py new file mode 100644 index 00000000..e0cc3b66 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/participants/list.py @@ -0,0 +1,229 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsParticipantsListOutputItemsActorConsumer] = None +@dataclass +class DashboardInstanceSkillsParticipantsListOutputItems: + object: str + id: str + skill_id: str + roles: List[str] + actor: DashboardInstanceSkillsParticipantsListOutputItemsActor + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsParticipantsListOutput: + items: List[DashboardInstanceSkillsParticipantsListOutputItems] + pagination: DashboardInstanceSkillsParticipantsListOutputPagination + + +class mapDashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams: + return DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActor: + return DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsListOutputItemsActorConsumer: + return DashboardInstanceSkillsParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsListOutputItemsActor: + return DashboardInstanceSkillsParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsListOutputItems: + return DashboardInstanceSkillsParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + roles=data.get('roles', []), + actor=mapDashboardInstanceSkillsParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsListOutputPagination: + return DashboardInstanceSkillsParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsListOutput: + return DashboardInstanceSkillsParticipantsListOutput( + items=[mapDashboardInstanceSkillsParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceSkillsParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsParticipantsListQuery: + return DashboardInstanceSkillsParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/__init__.py new file mode 100644 index 00000000..3b047e06 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/__init__.py @@ -0,0 +1,7 @@ +from .archive import * +from .create import * +from .get import * +from .list import * +from .skills import * +from .sync import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/archive.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/archive.py new file mode 100644 index 00000000..52720636 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/archive.py @@ -0,0 +1,94 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsArchiveOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPluginsArchiveOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsPluginsArchiveOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsArchiveOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsArchiveOutputSkills: + return DashboardInstanceSkillsPluginsArchiveOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsArchiveOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsArchiveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsArchiveOutput: + return DashboardInstanceSkillsPluginsArchiveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsPluginsArchiveOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsArchiveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/create.py new file mode 100644 index 00000000..052d8669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/create.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsCreateOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPluginsCreateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsPluginsCreateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsCreateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsCreateOutputSkills: + return DashboardInstanceSkillsPluginsCreateOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsCreateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsCreateOutput: + return DashboardInstanceSkillsPluginsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsPluginsCreateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsPluginsCreateBody: + name: str + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsCreateBody: + return DashboardInstanceSkillsPluginsCreateBody( + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/get.py new file mode 100644 index 00000000..20f5342f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/get.py @@ -0,0 +1,94 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsGetOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPluginsGetOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsPluginsGetOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsGetOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsGetOutputSkills: + return DashboardInstanceSkillsPluginsGetOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsGetOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsGetOutput: + return DashboardInstanceSkillsPluginsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsPluginsGetOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/list.py new file mode 100644 index 00000000..6bfd08a3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/list.py @@ -0,0 +1,187 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsListOutputItemsSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPluginsListOutputItems: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsPluginsListOutputItemsSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPluginsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsPluginsListOutput: + items: List[DashboardInstanceSkillsPluginsListOutputItems] + pagination: DashboardInstanceSkillsPluginsListOutputPagination + + +class mapDashboardInstanceSkillsPluginsListOutputItemsSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsListOutputItemsSkills: + return DashboardInstanceSkillsPluginsListOutputItemsSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsListOutputItemsSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsListOutputItems: + return DashboardInstanceSkillsPluginsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsPluginsListOutputItemsSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsListOutputPagination: + return DashboardInstanceSkillsPluginsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsListOutput: + return DashboardInstanceSkillsPluginsListOutput( + items=[mapDashboardInstanceSkillsPluginsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsPluginsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsPluginsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsPluginsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsPluginsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + category: Optional[str] = None + search: Optional[str] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceSkillsPluginsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceSkillsPluginsListQueryUpdatedAt] = None + + +class mapDashboardInstanceSkillsPluginsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsListQuery: + return DashboardInstanceSkillsPluginsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + status=data.get('status'), + category=data.get('category'), + search=data.get('search'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapDashboardInstanceSkillsPluginsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceSkillsPluginsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/__init__.py new file mode 100644 index 00000000..90f0a399 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/__init__.py @@ -0,0 +1,5 @@ +from .add import * +from .get import * +from .list import * +from .remove import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/add.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/add.py new file mode 100644 index 00000000..9ed993df --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/add.py @@ -0,0 +1,85 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsSkillsAddOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsSkillsAddOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsAddOutput: + return DashboardInstanceSkillsPluginsSkillsAddOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsAddOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsPluginsSkillsAddBody: + skill_id: str + identifier: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsSkillsAddBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsAddBody: + return DashboardInstanceSkillsPluginsSkillsAddBody( + skill_id=data.get('skill_id'), + identifier=data.get('identifier'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsAddBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/get.py new file mode 100644 index 00000000..d0ff0082 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/get.py @@ -0,0 +1,50 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsSkillsGetOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsSkillsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsGetOutput: + return DashboardInstanceSkillsPluginsSkillsGetOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/list.py new file mode 100644 index 00000000..bd123b0d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/list.py @@ -0,0 +1,139 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsSkillsListOutputItems: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPluginsSkillsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsPluginsSkillsListOutput: + items: List[DashboardInstanceSkillsPluginsSkillsListOutputItems] + pagination: DashboardInstanceSkillsPluginsSkillsListOutputPagination + + +class mapDashboardInstanceSkillsPluginsSkillsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsListOutputItems: + return DashboardInstanceSkillsPluginsSkillsListOutputItems( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsSkillsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsListOutputPagination: + return DashboardInstanceSkillsPluginsSkillsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsSkillsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsListOutput: + return DashboardInstanceSkillsPluginsSkillsListOutput( + items=[mapDashboardInstanceSkillsPluginsSkillsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsPluginsSkillsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsPluginsSkillsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsPluginsSkillsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsPluginsSkillsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceSkillsPluginsSkillsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceSkillsPluginsSkillsListQueryUpdatedAt] = None + + +class mapDashboardInstanceSkillsPluginsSkillsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsListQuery: + return DashboardInstanceSkillsPluginsSkillsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_id=data.get('skill_id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapDashboardInstanceSkillsPluginsSkillsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceSkillsPluginsSkillsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/remove.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/remove.py new file mode 100644 index 00000000..cc74c3a5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/remove.py @@ -0,0 +1,50 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsSkillsRemoveOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsSkillsRemoveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsRemoveOutput: + return DashboardInstanceSkillsPluginsSkillsRemoveOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsRemoveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/update.py new file mode 100644 index 00000000..62b7f5bb --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/skills/update.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsSkillsUpdateOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsSkillsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsUpdateOutput: + return DashboardInstanceSkillsPluginsSkillsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsPluginsSkillsUpdateBody: + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsSkillsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSkillsUpdateBody: + return DashboardInstanceSkillsPluginsSkillsUpdateBody( + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSkillsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/sync.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/sync.py new file mode 100644 index 00000000..051cf821 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/sync.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsSyncOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPluginsSyncOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsPluginsSyncOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsSyncOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSyncOutputSkills: + return DashboardInstanceSkillsPluginsSyncOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSyncOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsSyncOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSyncOutput: + return DashboardInstanceSkillsPluginsSyncOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsPluginsSyncOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSyncOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsPluginsSyncBody: + pass + + +class mapDashboardInstanceSkillsPluginsSyncBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsSyncBody: + return DashboardInstanceSkillsPluginsSyncBody( + + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsSyncBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/update.py new file mode 100644 index 00000000..7749f658 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/plugins/update.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPluginsUpdateOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPluginsUpdateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[DashboardInstanceSkillsPluginsUpdateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsUpdateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsUpdateOutputSkills: + return DashboardInstanceSkillsPluginsUpdateOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsUpdateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPluginsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsUpdateOutput: + return DashboardInstanceSkillsPluginsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapDashboardInstanceSkillsPluginsUpdateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsPluginsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapDashboardInstanceSkillsPluginsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPluginsUpdateBody: + return DashboardInstanceSkillsPluginsUpdateBody( + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPluginsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/publish_consumer_skill.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/publish_consumer_skill.py new file mode 100644 index 00000000..755798d1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/publish_consumer_skill.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator] = None + original_creator: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputHierarchy: + object: str + type: str + entity: DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreator] = None + fork: Optional[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyFork] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsPublishConsumerSkillOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: DashboardInstanceSkillsPublishConsumerSkillOutputHierarchy + integrations: List[DashboardInstanceSkillsPublishConsumerSkillOutputIntegrations] + providers: List[DashboardInstanceSkillsPublishConsumerSkillOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreator: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyFork: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyEntity: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputHierarchy: + return DashboardInstanceSkillsPublishConsumerSkillOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration: + return DashboardInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputIntegrations: + return DashboardInstanceSkillsPublishConsumerSkillOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutputProviders: + return DashboardInstanceSkillsPublishConsumerSkillOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsPublishConsumerSkillOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsPublishConsumerSkillOutput: + return DashboardInstanceSkillsPublishConsumerSkillOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapDashboardInstanceSkillsPublishConsumerSkillOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapDashboardInstanceSkillsPublishConsumerSkillOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapDashboardInstanceSkillsPublishConsumerSkillOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsPublishConsumerSkillOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/__init__.py new file mode 100644 index 00000000..a54a2223 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/create.py new file mode 100644 index 00000000..09dd7dfc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/create.py @@ -0,0 +1,193 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesCreateOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesCreateOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesCreateOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesCreateOutputItemsIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesCreateOutputItemsProvider] = None +@dataclass +class DashboardInstanceSkillsTemplatesCreateOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[DashboardInstanceSkillsTemplatesCreateOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesCreateOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesCreateOutputItemsIntegration: + return DashboardInstanceSkillsTemplatesCreateOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesCreateOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesCreateOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesCreateOutputItemsProvider: + return DashboardInstanceSkillsTemplatesCreateOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesCreateOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesCreateOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesCreateOutputItems: + return DashboardInstanceSkillsTemplatesCreateOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesCreateOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesCreateOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesCreateOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesCreateOutput: + return DashboardInstanceSkillsTemplatesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapDashboardInstanceSkillsTemplatesCreateOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsTemplatesCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + from_skill_id: Optional[str] = None + + +class mapDashboardInstanceSkillsTemplatesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesCreateBody: + return DashboardInstanceSkillsTemplatesCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + from_skill_id=data.get('from_skill_Id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/delete.py new file mode 100644 index 00000000..c21c4240 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/delete.py @@ -0,0 +1,166 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesDeleteOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesDeleteOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesDeleteOutputItemsProvider] = None +@dataclass +class DashboardInstanceSkillsTemplatesDeleteOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[DashboardInstanceSkillsTemplatesDeleteOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesDeleteOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegration: + return DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesDeleteOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesDeleteOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesDeleteOutputItemsProvider: + return DashboardInstanceSkillsTemplatesDeleteOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesDeleteOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesDeleteOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesDeleteOutputItems: + return DashboardInstanceSkillsTemplatesDeleteOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesDeleteOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesDeleteOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesDeleteOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesDeleteOutput: + return DashboardInstanceSkillsTemplatesDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapDashboardInstanceSkillsTemplatesDeleteOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/get.py new file mode 100644 index 00000000..2d3a96e9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/get.py @@ -0,0 +1,166 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesGetOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesGetOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesGetOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesGetOutputItemsIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesGetOutputItemsProvider] = None +@dataclass +class DashboardInstanceSkillsTemplatesGetOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[DashboardInstanceSkillsTemplatesGetOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesGetOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesGetOutputItemsIntegration: + return DashboardInstanceSkillsTemplatesGetOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesGetOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesGetOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesGetOutputItemsProvider: + return DashboardInstanceSkillsTemplatesGetOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesGetOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesGetOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesGetOutputItems: + return DashboardInstanceSkillsTemplatesGetOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesGetOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesGetOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesGetOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesGetOutput: + return DashboardInstanceSkillsTemplatesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapDashboardInstanceSkillsTemplatesGetOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/create.py new file mode 100644 index 00000000..fe75b469 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/create.py @@ -0,0 +1,143 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesItemsCreateOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsCreateOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesItemsCreateOutputIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesItemsCreateOutputProvider] = None + + +class mapDashboardInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsCreateOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsCreateOutputIntegration: + return DashboardInstanceSkillsTemplatesItemsCreateOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsCreateOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsCreateOutputProvider: + return DashboardInstanceSkillsTemplatesItemsCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsCreateOutput: + return DashboardInstanceSkillsTemplatesItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesItemsCreateOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesItemsCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +DashboardInstanceSkillsTemplatesItemsCreateBody = Dict[str, Any] + + +class mapDashboardInstanceSkillsTemplatesItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsCreateBody: + data + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/delete.py new file mode 100644 index 00000000..4d249676 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/delete.py @@ -0,0 +1,126 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsDeleteOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesItemsDeleteOutputProvider] = None + + +class mapDashboardInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsDeleteOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegration: + return DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsDeleteOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsDeleteOutputProvider: + return DashboardInstanceSkillsTemplatesItemsDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsDeleteOutput: + return DashboardInstanceSkillsTemplatesItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesItemsDeleteOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesItemsDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/get.py new file mode 100644 index 00000000..5f86c918 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/get.py @@ -0,0 +1,126 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesItemsGetOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsGetOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesItemsGetOutputIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesItemsGetOutputProvider] = None + + +class mapDashboardInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsGetOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsGetOutputIntegration: + return DashboardInstanceSkillsTemplatesItemsGetOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsGetOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsGetOutputProvider: + return DashboardInstanceSkillsTemplatesItemsGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsGetOutput: + return DashboardInstanceSkillsTemplatesItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesItemsGetOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesItemsGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/list.py new file mode 100644 index 00000000..ff643a0f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/items/list.py @@ -0,0 +1,195 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsListOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesItemsListOutputItemsProvider] = None +@dataclass +class DashboardInstanceSkillsTemplatesItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsTemplatesItemsListOutput: + items: List[DashboardInstanceSkillsTemplatesItemsListOutputItems] + pagination: DashboardInstanceSkillsTemplatesItemsListOutputPagination + + +class mapDashboardInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsListOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegration: + return DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsListOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsListOutputItemsProvider: + return DashboardInstanceSkillsTemplatesItemsListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsListOutputItems: + return DashboardInstanceSkillsTemplatesItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesItemsListOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesItemsListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsListOutputPagination: + return DashboardInstanceSkillsTemplatesItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsListOutput: + return DashboardInstanceSkillsTemplatesItemsListOutput( + items=[mapDashboardInstanceSkillsTemplatesItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsTemplatesItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsTemplatesItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceSkillsTemplatesItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesItemsListQuery: + return DashboardInstanceSkillsTemplatesItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/list.py new file mode 100644 index 00000000..7cf74bba --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/list.py @@ -0,0 +1,259 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesListOutputItemsItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesListOutputItemsItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesListOutputItemsItemsProvider] = None +@dataclass +class DashboardInstanceSkillsTemplatesListOutputItems: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[DashboardInstanceSkillsTemplatesListOutputItemsItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsTemplatesListOutput: + items: List[DashboardInstanceSkillsTemplatesListOutputItems] + pagination: DashboardInstanceSkillsTemplatesListOutputPagination + + +class mapDashboardInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesListOutputItemsItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegration: + return DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesListOutputItemsItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesListOutputItemsItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesListOutputItemsItemsProvider: + return DashboardInstanceSkillsTemplatesListOutputItemsItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesListOutputItemsItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesListOutputItemsItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesListOutputItemsItems: + return DashboardInstanceSkillsTemplatesListOutputItemsItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesListOutputItemsItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesListOutputItemsItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesListOutputItemsItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesListOutputItems: + return DashboardInstanceSkillsTemplatesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapDashboardInstanceSkillsTemplatesListOutputItemsItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesListOutputPagination: + return DashboardInstanceSkillsTemplatesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesListOutput: + return DashboardInstanceSkillsTemplatesListOutput( + items=[mapDashboardInstanceSkillsTemplatesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsTemplatesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsTemplatesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + owner: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceSkillsTemplatesListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceSkillsTemplatesListQueryUpdatedAt] = None + + +class mapDashboardInstanceSkillsTemplatesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesListQuery: + return DashboardInstanceSkillsTemplatesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + owner=data.get('owner'), + id=data.get('id'), + provider_id=data.get('provider_id'), + integration_id=data.get('integration_id'), + created_at=mapDashboardInstanceSkillsTemplatesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceSkillsTemplatesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/update.py new file mode 100644 index 00000000..e573353d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/templates/update.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsTemplatesUpdateOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsTemplatesUpdateOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegration] = None + provider: Optional[DashboardInstanceSkillsTemplatesUpdateOutputItemsProvider] = None +@dataclass +class DashboardInstanceSkillsTemplatesUpdateOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[DashboardInstanceSkillsTemplatesUpdateOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + return DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesUpdateOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegration: + return DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesUpdateOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesUpdateOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesUpdateOutputItemsProvider: + return DashboardInstanceSkillsTemplatesUpdateOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesUpdateOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesUpdateOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesUpdateOutputItems: + return DashboardInstanceSkillsTemplatesUpdateOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapDashboardInstanceSkillsTemplatesUpdateOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapDashboardInstanceSkillsTemplatesUpdateOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesUpdateOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsTemplatesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesUpdateOutput: + return DashboardInstanceSkillsTemplatesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapDashboardInstanceSkillsTemplatesUpdateOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsTemplatesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapDashboardInstanceSkillsTemplatesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsTemplatesUpdateBody: + return DashboardInstanceSkillsTemplatesUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsTemplatesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/update.py new file mode 100644 index 00000000..7d8dd00f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/update.py @@ -0,0 +1,639 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsUpdateOutputHierarchyCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[DashboardInstanceSkillsUpdateOutputHierarchyForkCreator] = None + original_creator: Optional[DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreator] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputHierarchy: + object: str + type: str + entity: DashboardInstanceSkillsUpdateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[DashboardInstanceSkillsUpdateOutputHierarchyCreator] = None + fork: Optional[DashboardInstanceSkillsUpdateOutputHierarchyFork] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class DashboardInstanceSkillsUpdateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: DashboardInstanceSkillsUpdateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class DashboardInstanceSkillsUpdateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceSkillsUpdateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: DashboardInstanceSkillsUpdateOutputHierarchy + integrations: List[DashboardInstanceSkillsUpdateOutputIntegrations] + providers: List[DashboardInstanceSkillsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapDashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + return DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor: + return DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyCreatorConsumer: + return DashboardInstanceSkillsUpdateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyCreator: + return DashboardInstanceSkillsUpdateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsUpdateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + return DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + return DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer: + return DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyForkCreator: + return DashboardInstanceSkillsUpdateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + return DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + return DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreator: + return DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyFork: + return DashboardInstanceSkillsUpdateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsUpdateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapDashboardInstanceSkillsUpdateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchyEntity: + return DashboardInstanceSkillsUpdateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputHierarchy: + return DashboardInstanceSkillsUpdateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapDashboardInstanceSkillsUpdateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapDashboardInstanceSkillsUpdateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapDashboardInstanceSkillsUpdateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputIntegrationsConfiguration: + return DashboardInstanceSkillsUpdateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputIntegrations: + return DashboardInstanceSkillsUpdateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapDashboardInstanceSkillsUpdateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutputProviders: + return DashboardInstanceSkillsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateOutput: + return DashboardInstanceSkillsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapDashboardInstanceSkillsUpdateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapDashboardInstanceSkillsUpdateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapDashboardInstanceSkillsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + + +class mapDashboardInstanceSkillsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsUpdateBody: + return DashboardInstanceSkillsUpdateBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata'), + image_file_id=data.get('image_file_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/__init__.py new file mode 100644 index 00000000..3f08f2e5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .snapshot import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/get.py new file mode 100644 index 00000000..0f46055c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsVersionsGetOutput: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + created_at: datetime + + +class mapDashboardInstanceSkillsVersionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsVersionsGetOutput: + return DashboardInstanceSkillsVersionsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsVersionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/list.py new file mode 100644 index 00000000..a22e1817 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/list.py @@ -0,0 +1,107 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsVersionsListOutputItems: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + created_at: datetime +@dataclass +class DashboardInstanceSkillsVersionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceSkillsVersionsListOutput: + items: List[DashboardInstanceSkillsVersionsListOutputItems] + pagination: DashboardInstanceSkillsVersionsListOutputPagination + + +class mapDashboardInstanceSkillsVersionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsVersionsListOutputItems: + return DashboardInstanceSkillsVersionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsVersionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsVersionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsVersionsListOutputPagination: + return DashboardInstanceSkillsVersionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsVersionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsVersionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsVersionsListOutput: + return DashboardInstanceSkillsVersionsListOutput( + items=[mapDashboardInstanceSkillsVersionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceSkillsVersionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsVersionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceSkillsVersionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceSkillsVersionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsVersionsListQuery: + return DashboardInstanceSkillsVersionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsVersionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/snapshot/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/snapshot/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/snapshot/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/snapshot/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/snapshot/get.py new file mode 100644 index 00000000..403c8db1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/skills/versions/snapshot/get.py @@ -0,0 +1,74 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceSkillsVersionsSnapshotGetOutputItems: + object: str + id: str + kind: str + path: str + created_at: datetime + file_id: Optional[str] = None + document_id: Optional[str] = None + document_version_id: Optional[str] = None + content: Optional[str] = None +@dataclass +class DashboardInstanceSkillsVersionsSnapshotGetOutput: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + items: List[DashboardInstanceSkillsVersionsSnapshotGetOutputItems] + created_at: datetime + + +class mapDashboardInstanceSkillsVersionsSnapshotGetOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsVersionsSnapshotGetOutputItems: + return DashboardInstanceSkillsVersionsSnapshotGetOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + file_id=data.get('file_id'), + document_id=data.get('document_id'), + document_version_id=data.get('document_version_id'), + content=data.get('content'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsVersionsSnapshotGetOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceSkillsVersionsSnapshotGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceSkillsVersionsSnapshotGetOutput: + return DashboardInstanceSkillsVersionsSnapshotGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + items=[mapDashboardInstanceSkillsVersionsSnapshotGetOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceSkillsVersionsSnapshotGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/__init__.py new file mode 100644 index 00000000..c1b3b5cd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .participants import * +from .permissions import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/create.py new file mode 100644 index 00000000..846f37c5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/create.py @@ -0,0 +1,65 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresCreateOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceStoresCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresCreateOutput: + return DashboardInstanceStoresCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceStoresCreateBody: + name: str + access: Optional[str] = None + template_id: Optional[str] = None + parent_id: Optional[str] = None + + +class mapDashboardInstanceStoresCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresCreateBody: + return DashboardInstanceStoresCreateBody( + name=data.get('name'), + access=data.get('access'), + template_id=data.get('template_id'), + parent_id=data.get('parent_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/delete.py new file mode 100644 index 00000000..2d07cbf8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/delete.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresDeleteOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceStoresDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresDeleteOutput: + return DashboardInstanceStoresDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/get.py new file mode 100644 index 00000000..96ccf449 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresGetOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceStoresGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresGetOutput: + return DashboardInstanceStoresGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/__init__.py new file mode 100644 index 00000000..5fddd7bf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .modify import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/get.py new file mode 100644 index 00000000..09233e78 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/get.py @@ -0,0 +1,364 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceStoresItemsGetOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsGetOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceStoresItemsGetOutputFileCreatedByConsumer] = None +@dataclass +class DashboardInstanceStoresItemsGetOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[DashboardInstanceStoresItemsGetOutputFileCreatedBy] = None +@dataclass +class DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceStoresItemsGetOutputDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsGetOutputDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceStoresItemsGetOutputDocumentCreatedByConsumer] = None +@dataclass +class DashboardInstanceStoresItemsGetOutputDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceStoresItemsGetOutputDocumentCreatedBy] = None +@dataclass +class DashboardInstanceStoresItemsGetOutput: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[DashboardInstanceStoresItemsGetOutputFile] = None + document: Optional[DashboardInstanceStoresItemsGetOutputDocument] = None + + +class mapDashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams: + return DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActor: + return DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputFileCreatedByConsumer: + return DashboardInstanceStoresItemsGetOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputFileCreatedBy: + return DashboardInstanceStoresItemsGetOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceStoresItemsGetOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceStoresItemsGetOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputFile: + return DashboardInstanceStoresItemsGetOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapDashboardInstanceStoresItemsGetOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + return DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor: + return DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputDocumentCreatedByConsumer: + return DashboardInstanceStoresItemsGetOutputDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputDocumentCreatedBy: + return DashboardInstanceStoresItemsGetOutputDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceStoresItemsGetOutputDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutputDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutputDocument: + return DashboardInstanceStoresItemsGetOutputDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceStoresItemsGetOutputDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutputDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsGetOutput: + return DashboardInstanceStoresItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapDashboardInstanceStoresItemsGetOutputFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapDashboardInstanceStoresItemsGetOutputDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/list.py new file mode 100644 index 00000000..fb7e1b28 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/list.py @@ -0,0 +1,453 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceStoresItemsListOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsListOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceStoresItemsListOutputItemsFileCreatedByConsumer] = None +@dataclass +class DashboardInstanceStoresItemsListOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[DashboardInstanceStoresItemsListOutputItemsFileCreatedBy] = None +@dataclass +class DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsListOutputItemsDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer] = None +@dataclass +class DashboardInstanceStoresItemsListOutputItemsDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceStoresItemsListOutputItemsDocumentCreatedBy] = None +@dataclass +class DashboardInstanceStoresItemsListOutputItems: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[DashboardInstanceStoresItemsListOutputItemsFile] = None + document: Optional[DashboardInstanceStoresItemsListOutputItemsDocument] = None +@dataclass +class DashboardInstanceStoresItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceStoresItemsListOutput: + items: List[DashboardInstanceStoresItemsListOutputItems] + pagination: DashboardInstanceStoresItemsListOutputPagination + + +class mapDashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + return DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor: + return DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsFileCreatedByConsumer: + return DashboardInstanceStoresItemsListOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsFileCreatedBy: + return DashboardInstanceStoresItemsListOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceStoresItemsListOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsFile: + return DashboardInstanceStoresItemsListOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapDashboardInstanceStoresItemsListOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + return DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + return DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer: + return DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsDocumentCreatedBy: + return DashboardInstanceStoresItemsListOutputItemsDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItemsDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItemsDocument: + return DashboardInstanceStoresItemsListOutputItemsDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceStoresItemsListOutputItemsDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItemsDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputItems: + return DashboardInstanceStoresItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapDashboardInstanceStoresItemsListOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapDashboardInstanceStoresItemsListOutputItemsDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutputPagination: + return DashboardInstanceStoresItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListOutput: + return DashboardInstanceStoresItemsListOutput( + items=[mapDashboardInstanceStoresItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceStoresItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceStoresItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceStoresItemsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceStoresItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + file_id: Optional[Union[str, List[str]]] = None + document_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceStoresItemsListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceStoresItemsListQueryUpdatedAt] = None + + +class mapDashboardInstanceStoresItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsListQuery: + return DashboardInstanceStoresItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + file_id=data.get('file_id'), + document_id=data.get('document_id'), + type=data.get('type'), + created_at=mapDashboardInstanceStoresItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceStoresItemsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/modify.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/modify.py new file mode 100644 index 00000000..4fd3a16b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/items/modify.py @@ -0,0 +1,431 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer] = None +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[DashboardInstanceStoresItemsModifyOutputItemsFileCreatedBy] = None +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor] = None + consumer: Optional[DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer] = None +@dataclass +class DashboardInstanceStoresItemsModifyOutputItemsDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedBy] = None +@dataclass +class DashboardInstanceStoresItemsModifyOutputItems: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[DashboardInstanceStoresItemsModifyOutputItemsFile] = None + document: Optional[DashboardInstanceStoresItemsModifyOutputItemsDocument] = None +@dataclass +class DashboardInstanceStoresItemsModifyOutput: + object: str + items: List[DashboardInstanceStoresItemsModifyOutputItems] + + +class mapDashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + return DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + return DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer: + return DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsFileCreatedBy: + return DashboardInstanceStoresItemsModifyOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsFile: + return DashboardInstanceStoresItemsModifyOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapDashboardInstanceStoresItemsModifyOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + return DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + return DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer: + return DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedBy: + return DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItemsDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItemsDocument: + return DashboardInstanceStoresItemsModifyOutputItemsDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDashboardInstanceStoresItemsModifyOutputItemsDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItemsDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutputItems: + return DashboardInstanceStoresItemsModifyOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapDashboardInstanceStoresItemsModifyOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapDashboardInstanceStoresItemsModifyOutputItemsDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyOutput: + return DashboardInstanceStoresItemsModifyOutput( + object=data.get('object'), + items=[mapDashboardInstanceStoresItemsModifyOutputItems.from_dict(item) for item in data.get('items', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceStoresItemsModifyBodyOperations: + type: Optional[str] = None + item_id: Optional[str] = None + file_id: Optional[str] = None + document_id: Optional[str] = None + path: Optional[str] = None +@dataclass +class DashboardInstanceStoresItemsModifyBody: + operations: List[DashboardInstanceStoresItemsModifyBodyOperations] + + +class mapDashboardInstanceStoresItemsModifyBodyOperations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyBodyOperations: + return DashboardInstanceStoresItemsModifyBodyOperations( + type=data.get('type'), + item_id=data.get('itemId'), + file_id=data.get('fileId'), + document_id=data.get('documentId'), + path=data.get('path') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyBodyOperations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresItemsModifyBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresItemsModifyBody: + return DashboardInstanceStoresItemsModifyBody( + operations=[mapDashboardInstanceStoresItemsModifyBodyOperations.from_dict(item) for item in data.get('operations', []) if item] + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresItemsModifyBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/list.py new file mode 100644 index 00000000..2ba8d7a3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/list.py @@ -0,0 +1,121 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresListOutputItems: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceStoresListOutput: + items: List[DashboardInstanceStoresListOutputItems] + pagination: DashboardInstanceStoresListOutputPagination + + +class mapDashboardInstanceStoresListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresListOutputItems: + return DashboardInstanceStoresListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresListOutputPagination: + return DashboardInstanceStoresListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresListOutput: + return DashboardInstanceStoresListOutput( + items=[mapDashboardInstanceStoresListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceStoresListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceStoresListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceStoresListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DashboardInstanceStoresListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[DashboardInstanceStoresListQueryCreatedAt] = None + updated_at: Optional[DashboardInstanceStoresListQueryUpdatedAt] = None + + +class mapDashboardInstanceStoresListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresListQuery: + return DashboardInstanceStoresListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapDashboardInstanceStoresListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDashboardInstanceStoresListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/get.py new file mode 100644 index 00000000..dd624eed --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/get.py @@ -0,0 +1,158 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceStoresParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceStoresParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceStoresParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[DashboardInstanceStoresParticipantsGetOutputActorConsumer] = None +@dataclass +class DashboardInstanceStoresParticipantsGetOutput: + object: str + id: str + store_id: str + permissions: List[str] + actor: DashboardInstanceStoresParticipantsGetOutputActor + created_at: datetime + + +class mapDashboardInstanceStoresParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsGetOutputActorOrganizationActorTeams: + return DashboardInstanceStoresParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsGetOutputActorOrganizationActor: + return DashboardInstanceStoresParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceStoresParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsGetOutputActorConsumer: + return DashboardInstanceStoresParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsGetOutputActor: + return DashboardInstanceStoresParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceStoresParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceStoresParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsGetOutput: + return DashboardInstanceStoresParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + store_id=data.get('store_id'), + permissions=data.get('permissions', []), + actor=mapDashboardInstanceStoresParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/list.py new file mode 100644 index 00000000..26a6f096 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/participants/list.py @@ -0,0 +1,227 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardInstanceStoresParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceStoresParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[DashboardInstanceStoresParticipantsListOutputItemsActorConsumer] = None +@dataclass +class DashboardInstanceStoresParticipantsListOutputItems: + object: str + id: str + store_id: str + permissions: List[str] + actor: DashboardInstanceStoresParticipantsListOutputItemsActor + created_at: datetime +@dataclass +class DashboardInstanceStoresParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceStoresParticipantsListOutput: + items: List[DashboardInstanceStoresParticipantsListOutputItems] + pagination: DashboardInstanceStoresParticipantsListOutputPagination + + +class mapDashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams: + return DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActor: + return DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsListOutputItemsActorConsumer: + return DashboardInstanceStoresParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsListOutputItemsActor: + return DashboardInstanceStoresParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDashboardInstanceStoresParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDashboardInstanceStoresParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsListOutputItems: + return DashboardInstanceStoresParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + store_id=data.get('store_id'), + permissions=data.get('permissions', []), + actor=mapDashboardInstanceStoresParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsListOutputPagination: + return DashboardInstanceStoresParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceStoresParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsListOutput: + return DashboardInstanceStoresParticipantsListOutput( + items=[mapDashboardInstanceStoresParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceStoresParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceStoresParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceStoresParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresParticipantsListQuery: + return DashboardInstanceStoresParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/permissions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/permissions/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/permissions/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/permissions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/permissions/get.py new file mode 100644 index 00000000..ac9815ee --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/permissions/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresPermissionsGetOutput: + object: str + store_id: str + has_full_access: bool + permissions: List[str] + relevant_store_ids: List[str] + readable_store_ids: List[str] + writable_store_ids: List[str] + + +class mapDashboardInstanceStoresPermissionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresPermissionsGetOutput: + return DashboardInstanceStoresPermissionsGetOutput( + object=data.get('object'), + store_id=data.get('store_id'), + has_full_access=data.get('has_full_access'), + permissions=data.get('permissions', []), + relevant_store_ids=data.get('relevant_store_ids', []), + readable_store_ids=data.get('readable_store_ids', []), + writable_store_ids=data.get('writable_store_ids', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresPermissionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/update.py new file mode 100644 index 00000000..40024097 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/stores/update.py @@ -0,0 +1,61 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceStoresUpdateOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceStoresUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresUpdateOutput: + return DashboardInstanceStoresUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceStoresUpdateBody: + name: Optional[str] = None + access: Optional[str] = None + + +class mapDashboardInstanceStoresUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceStoresUpdateBody: + return DashboardInstanceStoresUpdateBody( + name=data.get('name'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceStoresUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/create.py index fe57594e..3cbe13e2 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/create.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceToolCallsCreateOutputSenderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceToolCallsCreateOutputSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceToolCallsCreateOutputSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class DashboardInstanceToolCallsCreateOutputResponderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceToolCallsCreateOutputResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceToolCallsCreateOutputResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceToolCallsCreateOutputToolInputSchema: type: str @@ -62,11 +106,105 @@ class DashboardInstanceToolCallsCreateOutput: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[DashboardInstanceToolCallsCreateOutputSenderParticipant] = None + responder_participant: Optional[DashboardInstanceToolCallsCreateOutputResponderParticipant] = None error: Optional[DashboardInstanceToolCallsCreateOutputError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None +class mapDashboardInstanceToolCallsCreateOutputSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsCreateOutputSenderParticipantData: + return DashboardInstanceToolCallsCreateOutputSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsCreateOutputSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsCreateOutputSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsCreateOutputSenderParticipant: + return DashboardInstanceToolCallsCreateOutputSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceToolCallsCreateOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsCreateOutputSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsCreateOutputResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsCreateOutputResponderParticipantData: + return DashboardInstanceToolCallsCreateOutputResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsCreateOutputResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsCreateOutputResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsCreateOutputResponderParticipant: + return DashboardInstanceToolCallsCreateOutputResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceToolCallsCreateOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsCreateOutputResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceToolCallsCreateOutputToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsCreateOutputToolInputSchema: @@ -186,6 +324,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsCreateOutput: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapDashboardInstanceToolCallsCreateOutputSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapDashboardInstanceToolCallsCreateOutputResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapDashboardInstanceToolCallsCreateOutputTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapDashboardInstanceToolCallsCreateOutputError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/get.py index ff568a92..d5ecc4d9 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/get.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceToolCallsGetOutputSenderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceToolCallsGetOutputSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceToolCallsGetOutputSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class DashboardInstanceToolCallsGetOutputResponderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceToolCallsGetOutputResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceToolCallsGetOutputResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceToolCallsGetOutputToolInputSchema: type: str @@ -62,11 +106,105 @@ class DashboardInstanceToolCallsGetOutput: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[DashboardInstanceToolCallsGetOutputSenderParticipant] = None + responder_participant: Optional[DashboardInstanceToolCallsGetOutputResponderParticipant] = None error: Optional[DashboardInstanceToolCallsGetOutputError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None +class mapDashboardInstanceToolCallsGetOutputSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsGetOutputSenderParticipantData: + return DashboardInstanceToolCallsGetOutputSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsGetOutputSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsGetOutputSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsGetOutputSenderParticipant: + return DashboardInstanceToolCallsGetOutputSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceToolCallsGetOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsGetOutputSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsGetOutputResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsGetOutputResponderParticipantData: + return DashboardInstanceToolCallsGetOutputResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsGetOutputResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsGetOutputResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsGetOutputResponderParticipant: + return DashboardInstanceToolCallsGetOutputResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceToolCallsGetOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsGetOutputResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceToolCallsGetOutputToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsGetOutputToolInputSchema: @@ -186,6 +324,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsGetOutput: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapDashboardInstanceToolCallsGetOutputSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapDashboardInstanceToolCallsGetOutputResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapDashboardInstanceToolCallsGetOutputTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapDashboardInstanceToolCallsGetOutputError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/list.py index 1b16122d..3dfc6c79 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/tool_calls/list.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class DashboardInstanceToolCallsListOutputItemsSenderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceToolCallsListOutputItemsSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceToolCallsListOutputItemsSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class DashboardInstanceToolCallsListOutputItemsResponderParticipantData: + identifier: str + name: str +@dataclass +class DashboardInstanceToolCallsListOutputItemsResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: DashboardInstanceToolCallsListOutputItemsResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class DashboardInstanceToolCallsListOutputItemsToolInputSchema: type: str @@ -62,6 +106,8 @@ class DashboardInstanceToolCallsListOutputItems: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[DashboardInstanceToolCallsListOutputItemsSenderParticipant] = None + responder_participant: Optional[DashboardInstanceToolCallsListOutputItemsResponderParticipant] = None error: Optional[DashboardInstanceToolCallsListOutputItemsError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -75,6 +121,98 @@ class DashboardInstanceToolCallsListOutput: pagination: DashboardInstanceToolCallsListOutputPagination +class mapDashboardInstanceToolCallsListOutputItemsSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsListOutputItemsSenderParticipantData: + return DashboardInstanceToolCallsListOutputItemsSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsListOutputItemsSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsListOutputItemsSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsListOutputItemsSenderParticipant: + return DashboardInstanceToolCallsListOutputItemsSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceToolCallsListOutputItemsSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsListOutputItemsSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsListOutputItemsResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsListOutputItemsResponderParticipantData: + return DashboardInstanceToolCallsListOutputItemsResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsListOutputItemsResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceToolCallsListOutputItemsResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsListOutputItemsResponderParticipant: + return DashboardInstanceToolCallsListOutputItemsResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapDashboardInstanceToolCallsListOutputItemsResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceToolCallsListOutputItemsResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapDashboardInstanceToolCallsListOutputItemsToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsListOutputItemsToolInputSchema: @@ -194,6 +332,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsListOutputItems session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapDashboardInstanceToolCallsListOutputItemsSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapDashboardInstanceToolCallsListOutputItemsResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapDashboardInstanceToolCallsListOutputItemsTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapDashboardInstanceToolCallsListOutputItemsError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -263,6 +403,11 @@ class DashboardInstanceToolCallsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_id: Optional[Union[str, List[str]]] = None provider_auth_config_id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None tool_id: Optional[Union[str, List[str]]] = None created_at: Optional[DashboardInstanceToolCallsListQueryCreatedAt] = None updated_at: Optional[DashboardInstanceToolCallsListQueryUpdatedAt] = None @@ -283,6 +428,11 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceToolCallsListQuery: provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), provider_auth_config_id=data.get('provider_auth_config_id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), tool_id=data.get('tool_id'), created_at=mapDashboardInstanceToolCallsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapDashboardInstanceToolCallsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/__init__.py new file mode 100644 index 00000000..0b172ea4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/__init__.py @@ -0,0 +1,9 @@ +from .clone import * +from .create import * +from .delete import * +from .get import * +from .list import * +from .participants import * +from .permissions import * +from .update import * +from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/clone.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/clone.py new file mode 100644 index 00000000..64034cb8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/clone.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsCloneOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsCloneOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsCloneOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsCloneOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsCloneOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsCloneOutputCreatedByOrganizationActor] = None + consumer: Optional[DocumentsCloneOutputCreatedByConsumer] = None +@dataclass +class DocumentsCloneOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DocumentsCloneOutputCreatedBy] = None + + +class mapDocumentsCloneOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCloneOutputCreatedByOrganizationActorTeams: + return DocumentsCloneOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCloneOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsCloneOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCloneOutputCreatedByOrganizationActor: + return DocumentsCloneOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsCloneOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCloneOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsCloneOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCloneOutputCreatedByConsumer: + return DocumentsCloneOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCloneOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsCloneOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCloneOutputCreatedBy: + return DocumentsCloneOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsCloneOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsCloneOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCloneOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsCloneOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCloneOutput: + return DocumentsCloneOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDocumentsCloneOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCloneOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DocumentsCloneBody: + target_document_id: Optional[str] = None + title: Optional[str] = None + + +class mapDocumentsCloneBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCloneBody: + return DocumentsCloneBody( + target_document_id=data.get('target_document_id'), + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[DocumentsCloneBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/create.py new file mode 100644 index 00000000..d281ff23 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/create.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsCreateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsCreateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsCreateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsCreateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsCreateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsCreateOutputCreatedByOrganizationActor] = None + consumer: Optional[DocumentsCreateOutputCreatedByConsumer] = None +@dataclass +class DocumentsCreateOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DocumentsCreateOutputCreatedBy] = None + + +class mapDocumentsCreateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCreateOutputCreatedByOrganizationActorTeams: + return DocumentsCreateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCreateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsCreateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCreateOutputCreatedByOrganizationActor: + return DocumentsCreateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsCreateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCreateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsCreateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCreateOutputCreatedByConsumer: + return DocumentsCreateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCreateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsCreateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCreateOutputCreatedBy: + return DocumentsCreateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsCreateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsCreateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCreateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCreateOutput: + return DocumentsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDocumentsCreateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DocumentsCreateBody: + title: str + content: str + + +class mapDocumentsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsCreateBody: + return DocumentsCreateBody( + title=data.get('title'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[DocumentsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/delete.py new file mode 100644 index 00000000..2d13b8f1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/delete.py @@ -0,0 +1,168 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsDeleteOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsDeleteOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsDeleteOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsDeleteOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsDeleteOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsDeleteOutputCreatedByOrganizationActor] = None + consumer: Optional[DocumentsDeleteOutputCreatedByConsumer] = None +@dataclass +class DocumentsDeleteOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DocumentsDeleteOutputCreatedBy] = None + + +class mapDocumentsDeleteOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsDeleteOutputCreatedByOrganizationActorTeams: + return DocumentsDeleteOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsDeleteOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsDeleteOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsDeleteOutputCreatedByOrganizationActor: + return DocumentsDeleteOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsDeleteOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsDeleteOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsDeleteOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsDeleteOutputCreatedByConsumer: + return DocumentsDeleteOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsDeleteOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsDeleteOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsDeleteOutputCreatedBy: + return DocumentsDeleteOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsDeleteOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsDeleteOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsDeleteOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsDeleteOutput: + return DocumentsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDocumentsDeleteOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/get.py new file mode 100644 index 00000000..778ae7e5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/get.py @@ -0,0 +1,168 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsGetOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsGetOutputCreatedByOrganizationActor] = None + consumer: Optional[DocumentsGetOutputCreatedByConsumer] = None +@dataclass +class DocumentsGetOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DocumentsGetOutputCreatedBy] = None + + +class mapDocumentsGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsGetOutputCreatedByOrganizationActorTeams: + return DocumentsGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsGetOutputCreatedByOrganizationActor: + return DocumentsGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsGetOutputCreatedByConsumer: + return DocumentsGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsGetOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsGetOutputCreatedBy: + return DocumentsGetOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsGetOutput: + return DocumentsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDocumentsGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/list.py new file mode 100644 index 00000000..b76f7f82 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/list.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsListOutputItemsCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[DocumentsListOutputItemsCreatedByConsumer] = None +@dataclass +class DocumentsListOutputItems: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DocumentsListOutputItemsCreatedBy] = None +@dataclass +class DocumentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DocumentsListOutput: + items: List[DocumentsListOutputItems] + pagination: DocumentsListOutputPagination + + +class mapDocumentsListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsListOutputItemsCreatedByOrganizationActorTeams: + return DocumentsListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsListOutputItemsCreatedByOrganizationActor: + return DocumentsListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsListOutputItemsCreatedByConsumer: + return DocumentsListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsListOutputItemsCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsListOutputItemsCreatedBy: + return DocumentsListOutputItemsCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsListOutputItems: + return DocumentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDocumentsListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsListOutputPagination: + return DocumentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DocumentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsListOutput: + return DocumentsListOutput( + items=[mapDocumentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDocumentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DocumentsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DocumentsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DocumentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + file_id: Optional[Union[str, List[str]]] = None + store_id: Optional[Union[str, List[str]]] = None + parent_document_id: Optional[Union[str, List[str]]] = None + created_at: Optional[DocumentsListQueryCreatedAt] = None + updated_at: Optional[DocumentsListQueryUpdatedAt] = None + + +class mapDocumentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsListQuery: + return DocumentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + file_id=data.get('file_id'), + store_id=data.get('store_id'), + parent_document_id=data.get('parent_document_id'), + created_at=mapDocumentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDocumentsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/get.py new file mode 100644 index 00000000..30a5e3bb --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/get.py @@ -0,0 +1,162 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[DocumentsParticipantsGetOutputActorConsumer] = None +@dataclass +class DocumentsParticipantsGetOutput: + object: str + id: str + role: str + edit_count: float + actor: DocumentsParticipantsGetOutputActor + created_at: datetime + last_edited_at: Optional[datetime] = None + last_viewed_at: Optional[datetime] = None + + +class mapDocumentsParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsGetOutputActorOrganizationActorTeams: + return DocumentsParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsGetOutputActorOrganizationActor: + return DocumentsParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsGetOutputActorConsumer: + return DocumentsParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsGetOutputActor: + return DocumentsParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsGetOutput: + return DocumentsParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + role=data.get('role'), + edit_count=data.get('edit_count'), + last_edited_at=datetime.fromisoformat(data.get('last_edited_at').replace('Z', '+00:00')) if data.get('last_edited_at') else None, + last_viewed_at=datetime.fromisoformat(data.get('last_viewed_at').replace('Z', '+00:00')) if data.get('last_viewed_at') else None, + actor=mapDocumentsParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/list.py new file mode 100644 index 00000000..e80e0dc5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/participants/list.py @@ -0,0 +1,245 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[DocumentsParticipantsListOutputItemsActorConsumer] = None +@dataclass +class DocumentsParticipantsListOutputItems: + object: str + id: str + role: str + edit_count: float + actor: DocumentsParticipantsListOutputItemsActor + created_at: datetime + last_edited_at: Optional[datetime] = None + last_viewed_at: Optional[datetime] = None +@dataclass +class DocumentsParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DocumentsParticipantsListOutput: + items: List[DocumentsParticipantsListOutputItems] + pagination: DocumentsParticipantsListOutputPagination + + +class mapDocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + return DocumentsParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsListOutputItemsActorOrganizationActor: + return DocumentsParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsListOutputItemsActorConsumer: + return DocumentsParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsListOutputItemsActor: + return DocumentsParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsListOutputItems: + return DocumentsParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + role=data.get('role'), + edit_count=data.get('edit_count'), + last_edited_at=datetime.fromisoformat(data.get('last_edited_at').replace('Z', '+00:00')) if data.get('last_edited_at') else None, + last_viewed_at=datetime.fromisoformat(data.get('last_viewed_at').replace('Z', '+00:00')) if data.get('last_viewed_at') else None, + actor=mapDocumentsParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsListOutputPagination: + return DocumentsParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsListOutput: + return DocumentsParticipantsListOutput( + items=[mapDocumentsParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDocumentsParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DocumentsParticipantsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DocumentsParticipantsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DocumentsParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[DocumentsParticipantsListQueryCreatedAt] = None + updated_at: Optional[DocumentsParticipantsListQueryUpdatedAt] = None + + +class mapDocumentsParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsParticipantsListQuery: + return DocumentsParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapDocumentsParticipantsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapDocumentsParticipantsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/permissions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/permissions/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/permissions/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/permissions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/permissions/get.py new file mode 100644 index 00000000..3fb5cdf9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/permissions/get.py @@ -0,0 +1,40 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsPermissionsGetOutput: + object: str + document_id: str + is_owner: bool + has_full_access: bool + permissions: List[str] + relevant_store_ids: List[str] + readable_store_ids: List[str] + writable_store_ids: List[str] + + +class mapDocumentsPermissionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsPermissionsGetOutput: + return DocumentsPermissionsGetOutput( + object=data.get('object'), + document_id=data.get('document_id'), + is_owner=data.get('is_owner'), + has_full_access=data.get('has_full_access'), + permissions=data.get('permissions', []), + relevant_store_ids=data.get('relevant_store_ids', []), + readable_store_ids=data.get('readable_store_ids', []), + writable_store_ids=data.get('writable_store_ids', []) + ) + + @staticmethod + def to_dict(value: Union[DocumentsPermissionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/update.py new file mode 100644 index 00000000..9fd402af --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/update.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsUpdateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsUpdateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsUpdateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsUpdateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsUpdateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsUpdateOutputCreatedByOrganizationActor] = None + consumer: Optional[DocumentsUpdateOutputCreatedByConsumer] = None +@dataclass +class DocumentsUpdateOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[DocumentsUpdateOutputCreatedBy] = None + + +class mapDocumentsUpdateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsUpdateOutputCreatedByOrganizationActorTeams: + return DocumentsUpdateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsUpdateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsUpdateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsUpdateOutputCreatedByOrganizationActor: + return DocumentsUpdateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsUpdateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsUpdateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsUpdateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsUpdateOutputCreatedByConsumer: + return DocumentsUpdateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsUpdateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsUpdateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsUpdateOutputCreatedBy: + return DocumentsUpdateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsUpdateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsUpdateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsUpdateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsUpdateOutput: + return DocumentsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapDocumentsUpdateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DocumentsUpdateBody: + title: Optional[str] = None + content: Optional[str] = None + + +class mapDocumentsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsUpdateBody: + return DocumentsUpdateBody( + title=data.get('title'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[DocumentsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/get.py new file mode 100644 index 00000000..c0b3f7e3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/get.py @@ -0,0 +1,164 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsVersionsGetOutputEditorsOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsVersionsGetOutputEditorsOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsVersionsGetOutputEditorsOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsVersionsGetOutputEditorsConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsVersionsGetOutputEditors: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsVersionsGetOutputEditorsOrganizationActor] = None + consumer: Optional[DocumentsVersionsGetOutputEditorsConsumer] = None +@dataclass +class DocumentsVersionsGetOutput: + object: str + id: str + document_id: str + version_number: float + content: str + editors: List[DocumentsVersionsGetOutputEditors] + created_at: datetime + previous_version_id: Optional[str] = None + list_edited_at: Optional[datetime] = None + + +class mapDocumentsVersionsGetOutputEditorsOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsGetOutputEditorsOrganizationActorTeams: + return DocumentsVersionsGetOutputEditorsOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsGetOutputEditorsOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsGetOutputEditorsOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsGetOutputEditorsOrganizationActor: + return DocumentsVersionsGetOutputEditorsOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsVersionsGetOutputEditorsOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsGetOutputEditorsOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsGetOutputEditorsConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsGetOutputEditorsConsumer: + return DocumentsVersionsGetOutputEditorsConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsGetOutputEditorsConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsGetOutputEditors: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsGetOutputEditors: + return DocumentsVersionsGetOutputEditors( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsVersionsGetOutputEditorsOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsVersionsGetOutputEditorsConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsGetOutputEditors, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsGetOutput: + return DocumentsVersionsGetOutput( + object=data.get('object'), + id=data.get('id'), + document_id=data.get('document_id'), + version_number=data.get('version_number'), + previous_version_id=data.get('previous_version_id'), + list_edited_at=datetime.fromisoformat(data.get('list_edited_at').replace('Z', '+00:00')) if data.get('list_edited_at') else None, + content=data.get('content'), + editors=[mapDocumentsVersionsGetOutputEditors.from_dict(item) for item in data.get('editors', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/list.py new file mode 100644 index 00000000..c9b25009 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/documents/versions/list.py @@ -0,0 +1,247 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsVersionsListOutputItemsEditorsOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DocumentsVersionsListOutputItemsEditorsOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DocumentsVersionsListOutputItemsEditorsConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DocumentsVersionsListOutputItemsEditors: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[DocumentsVersionsListOutputItemsEditorsOrganizationActor] = None + consumer: Optional[DocumentsVersionsListOutputItemsEditorsConsumer] = None +@dataclass +class DocumentsVersionsListOutputItems: + object: str + id: str + document_id: str + version_number: float + content: str + editors: List[DocumentsVersionsListOutputItemsEditors] + created_at: datetime + previous_version_id: Optional[str] = None + list_edited_at: Optional[datetime] = None +@dataclass +class DocumentsVersionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DocumentsVersionsListOutput: + items: List[DocumentsVersionsListOutputItems] + pagination: DocumentsVersionsListOutputPagination + + +class mapDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + return DocumentsVersionsListOutputItemsEditorsOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsListOutputItemsEditorsOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsListOutputItemsEditorsOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsListOutputItemsEditorsOrganizationActor: + return DocumentsVersionsListOutputItemsEditorsOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsListOutputItemsEditorsOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsListOutputItemsEditorsConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsListOutputItemsEditorsConsumer: + return DocumentsVersionsListOutputItemsEditorsConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsListOutputItemsEditorsConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsListOutputItemsEditors: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsListOutputItemsEditors: + return DocumentsVersionsListOutputItemsEditors( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapDocumentsVersionsListOutputItemsEditorsOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapDocumentsVersionsListOutputItemsEditorsConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsListOutputItemsEditors, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsListOutputItems: + return DocumentsVersionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + document_id=data.get('document_id'), + version_number=data.get('version_number'), + previous_version_id=data.get('previous_version_id'), + list_edited_at=datetime.fromisoformat(data.get('list_edited_at').replace('Z', '+00:00')) if data.get('list_edited_at') else None, + content=data.get('content'), + editors=[mapDocumentsVersionsListOutputItemsEditors.from_dict(item) for item in data.get('editors', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsListOutputPagination: + return DocumentsVersionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDocumentsVersionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsListOutput: + return DocumentsVersionsListOutput( + items=[mapDocumentsVersionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDocumentsVersionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DocumentsVersionsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DocumentsVersionsListQueryLastEditedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class DocumentsVersionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[DocumentsVersionsListQueryCreatedAt] = None + last_edited_at: Optional[DocumentsVersionsListQueryLastEditedAt] = None + + +class mapDocumentsVersionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DocumentsVersionsListQuery: + return DocumentsVersionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapDocumentsVersionsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + last_edited_at=mapDocumentsVersionsListQueryLastEditedAt.from_dict(data.get('last_edited_at')) if data.get('last_edited_at') else None + ) + + @staticmethod + def to_dict(value: Union[DocumentsVersionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/__init__.py index 68407627..79c91449 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/__init__.py @@ -1,3 +1,4 @@ from .delete import * from .get import * +from .links import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/delete.py index ac244adc..5e7a4bc2 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/delete.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class FilesDeleteOutputPurpose: +class FilesDeleteOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class FilesDeleteOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[FilesDeleteOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class FilesDeleteOutputCreatedByConsumer: + object: str + id: str name: str - identifier: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class FilesDeleteOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[FilesDeleteOutputCreatedByOrganizationActor] = None + consumer: Optional[FilesDeleteOutputCreatedByConsumer] = None @dataclass class FilesDeleteOutput: object: str @@ -15,22 +48,92 @@ class FilesDeleteOutput: file_name: str file_size: float file_type: str - purpose: FilesDeleteOutputPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[FilesDeleteOutputCreatedBy] = None + +class mapFilesDeleteOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesDeleteOutputCreatedByOrganizationActorTeams: + return FilesDeleteOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesDeleteOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapFilesDeleteOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesDeleteOutputCreatedByOrganizationActor: + return FilesDeleteOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapFilesDeleteOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesDeleteOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapFilesDeleteOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesDeleteOutputCreatedByConsumer: + return FilesDeleteOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesDeleteOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) -class mapFilesDeleteOutputPurpose: +class mapFilesDeleteOutputCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> FilesDeleteOutputPurpose: - return FilesDeleteOutputPurpose( + def from_dict(data: Dict[str, Any]) -> FilesDeleteOutputCreatedBy: + return FilesDeleteOutputCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapFilesDeleteOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapFilesDeleteOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[FilesDeleteOutputPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesDeleteOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -48,7 +151,8 @@ def from_dict(data: Dict[str, Any]) -> FilesDeleteOutput: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapFilesDeleteOutputPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapFilesDeleteOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/get.py index 52b66da3..a754ea4a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/get.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class FilesGetOutputPurpose: +class FilesGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class FilesGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[FilesGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class FilesGetOutputCreatedByConsumer: + object: str + id: str name: str - identifier: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class FilesGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[FilesGetOutputCreatedByOrganizationActor] = None + consumer: Optional[FilesGetOutputCreatedByConsumer] = None @dataclass class FilesGetOutput: object: str @@ -15,22 +48,92 @@ class FilesGetOutput: file_name: str file_size: float file_type: str - purpose: FilesGetOutputPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[FilesGetOutputCreatedBy] = None + +class mapFilesGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesGetOutputCreatedByOrganizationActorTeams: + return FilesGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapFilesGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesGetOutputCreatedByOrganizationActor: + return FilesGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapFilesGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapFilesGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesGetOutputCreatedByConsumer: + return FilesGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) -class mapFilesGetOutputPurpose: +class mapFilesGetOutputCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> FilesGetOutputPurpose: - return FilesGetOutputPurpose( + def from_dict(data: Dict[str, Any]) -> FilesGetOutputCreatedBy: + return FilesGetOutputCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapFilesGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapFilesGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[FilesGetOutputPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -48,7 +151,8 @@ def from_dict(data: Dict[str, Any]) -> FilesGetOutput: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapFilesGetOutputPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapFilesGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/create.py similarity index 71% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/create.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/create.py index 54258226..f83f9916 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/create.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class FileLinksCreateOutput: +class FilesLinksCreateOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class FileLinksCreateOutput: expires_at: Optional[datetime] = None -class mapFileLinksCreateOutput: +class mapFilesLinksCreateOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> FileLinksCreateOutput: - return FileLinksCreateOutput( + def from_dict(data: Dict[str, Any]) -> FilesLinksCreateOutput: + return FilesLinksCreateOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> FileLinksCreateOutput: ) @staticmethod - def to_dict(value: Union[FileLinksCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesLinksCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -35,21 +35,21 @@ def to_dict(value: Union[FileLinksCreateOutput, Dict[str, Any], None]) -> Option return dataclasses.asdict(value) @dataclass -class FileLinksCreateBody: +class FilesLinksCreateBody: file_id: str expires_at: Optional[datetime] = None -class mapFileLinksCreateBody: +class mapFilesLinksCreateBody: @staticmethod - def from_dict(data: Dict[str, Any]) -> FileLinksCreateBody: - return FileLinksCreateBody( + def from_dict(data: Dict[str, Any]) -> FilesLinksCreateBody: + return FilesLinksCreateBody( file_id=data.get('file_id'), expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None ) @staticmethod - def to_dict(value: Union[FileLinksCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesLinksCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/delete.py similarity index 76% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/delete.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/delete.py index 4ff09917..eefbec7a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/delete.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class FileLinksDeleteOutput: +class FilesLinksDeleteOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class FileLinksDeleteOutput: expires_at: Optional[datetime] = None -class mapFileLinksDeleteOutput: +class mapFilesLinksDeleteOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> FileLinksDeleteOutput: - return FileLinksDeleteOutput( + def from_dict(data: Dict[str, Any]) -> FilesLinksDeleteOutput: + return FilesLinksDeleteOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> FileLinksDeleteOutput: ) @staticmethod - def to_dict(value: Union[FileLinksDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesLinksDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/get.py similarity index 77% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/get.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/get.py index 8df8df0a..9a58ed35 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/get.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class FileLinksGetOutput: +class FilesLinksGetOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class FileLinksGetOutput: expires_at: Optional[datetime] = None -class mapFileLinksGetOutput: +class mapFilesLinksGetOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> FileLinksGetOutput: - return FileLinksGetOutput( + def from_dict(data: Dict[str, Any]) -> FilesLinksGetOutput: + return FilesLinksGetOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> FileLinksGetOutput: ) @staticmethod - def to_dict(value: Union[FileLinksGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesLinksGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/list.py similarity index 60% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/list.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/list.py index c88f3f20..216d1437 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/file_links/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/links/list.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class FileLinksListOutputItems: +class FilesLinksListOutputItems: object: str id: str file_id: str @@ -12,19 +12,19 @@ class FileLinksListOutputItems: created_at: datetime expires_at: Optional[datetime] = None @dataclass -class FileLinksListOutputPagination: +class FilesLinksListOutputPagination: has_more_before: bool has_more_after: bool @dataclass -class FileLinksListOutput: - items: List[FileLinksListOutputItems] - pagination: FileLinksListOutputPagination +class FilesLinksListOutput: + items: List[FilesLinksListOutputItems] + pagination: FilesLinksListOutputPagination -class mapFileLinksListOutputItems: +class mapFilesLinksListOutputItems: @staticmethod - def from_dict(data: Dict[str, Any]) -> FileLinksListOutputItems: - return FileLinksListOutputItems( + def from_dict(data: Dict[str, Any]) -> FilesLinksListOutputItems: + return FilesLinksListOutputItems( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -34,39 +34,39 @@ def from_dict(data: Dict[str, Any]) -> FileLinksListOutputItems: ) @staticmethod - def to_dict(value: Union[FileLinksListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesLinksListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapFileLinksListOutputPagination: +class mapFilesLinksListOutputPagination: @staticmethod - def from_dict(data: Dict[str, Any]) -> FileLinksListOutputPagination: - return FileLinksListOutputPagination( + def from_dict(data: Dict[str, Any]) -> FilesLinksListOutputPagination: + return FilesLinksListOutputPagination( has_more_before=data.get('has_more_before'), has_more_after=data.get('has_more_after') ) @staticmethod - def to_dict(value: Union[FileLinksListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesLinksListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapFileLinksListOutput: +class mapFilesLinksListOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> FileLinksListOutput: - return FileLinksListOutput( - items=[mapFileLinksListOutputItems.from_dict(item) for item in data.get('items', []) if item], - pagination=mapFileLinksListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + def from_dict(data: Dict[str, Any]) -> FilesLinksListOutput: + return FilesLinksListOutput( + items=[mapFilesLinksListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapFilesLinksListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) @staticmethod - def to_dict(value: Union[FileLinksListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesLinksListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -75,7 +75,7 @@ def to_dict(value: Union[FileLinksListOutput, Dict[str, Any], None]) -> Optional return dataclasses.asdict(value) @dataclass -class FileLinksListQuery: +class FilesLinksListQuery: limit: Optional[float] = None after: Optional[str] = None before: Optional[str] = None @@ -84,10 +84,10 @@ class FileLinksListQuery: file_id: Optional[str] = None -class mapFileLinksListQuery: +class mapFilesLinksListQuery: @staticmethod - def from_dict(data: Dict[str, Any]) -> FileLinksListQuery: - return FileLinksListQuery( + def from_dict(data: Dict[str, Any]) -> FilesLinksListQuery: + return FilesLinksListQuery( limit=data.get('limit'), after=data.get('after'), before=data.get('before'), @@ -97,7 +97,7 @@ def from_dict(data: Dict[str, Any]) -> FileLinksListQuery: ) @staticmethod - def to_dict(value: Union[FileLinksListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesLinksListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/list.py index 6c8c23c1..83592a5f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/files/list.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class FilesListOutputItemsPurpose: +class FilesListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class FilesListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[FilesListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class FilesListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class FilesListOutputItemsCreatedBy: + type: str name: str - identifier: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[FilesListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[FilesListOutputItemsCreatedByConsumer] = None @dataclass class FilesListOutputItems: object: str @@ -15,10 +48,11 @@ class FilesListOutputItems: file_name: str file_size: float file_type: str - purpose: FilesListOutputItemsPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[FilesListOutputItemsCreatedBy] = None @dataclass class FilesListOutputPagination: has_more_before: bool @@ -29,16 +63,85 @@ class FilesListOutput: pagination: FilesListOutputPagination -class mapFilesListOutputItemsPurpose: +class mapFilesListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesListOutputItemsCreatedByOrganizationActorTeams: + return FilesListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapFilesListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesListOutputItemsCreatedByOrganizationActor: + return FilesListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapFilesListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapFilesListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> FilesListOutputItemsCreatedByConsumer: + return FilesListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[FilesListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapFilesListOutputItemsCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> FilesListOutputItemsPurpose: - return FilesListOutputItemsPurpose( + def from_dict(data: Dict[str, Any]) -> FilesListOutputItemsCreatedBy: + return FilesListOutputItemsCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapFilesListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapFilesListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[FilesListOutputItemsPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[FilesListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -56,7 +159,8 @@ def from_dict(data: Dict[str, Any]) -> FilesListOutputItems: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapFilesListOutputItemsPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapFilesListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -103,13 +207,27 @@ def to_dict(value: Union[FilesListOutput, Dict[str, Any], None]) -> Optional[Dic return dataclasses.asdict(value) @dataclass +class FilesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class FilesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass class FilesListQuery: limit: Optional[float] = None after: Optional[str] = None before: Optional[str] = None cursor: Optional[str] = None order: Optional[str] = None - purpose: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + purpose: Optional[Union[str, List[str]]] = None + store_id: Optional[Union[str, List[str]]] = None + document_id: Optional[Union[str, List[str]]] = None + file_link_id: Optional[Union[str, List[str]]] = None + created_at: Optional[FilesListQueryCreatedAt] = None + updated_at: Optional[FilesListQueryUpdatedAt] = None class mapFilesListQuery: @@ -121,7 +239,13 @@ def from_dict(data: Dict[str, Any]) -> FilesListQuery: before=data.get('before'), cursor=data.get('cursor'), order=data.get('order'), - purpose=data.get('purpose') + id=data.get('id'), + purpose=data.get('purpose'), + store_id=data.get('store_id'), + document_id=data.get('document_id'), + file_link_id=data.get('file_link_id'), + created_at=mapFilesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapFilesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/__init__.py new file mode 100644 index 00000000..5eaf3896 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/__init__.py @@ -0,0 +1,9 @@ +from .create import * +from .delete import * +from .get import * +from .instance_groups import * +from .instances import * +from .list import * +from .providers import * +from .setup_sessions import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/create.py new file mode 100644 index 00000000..ec60645a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/create.py @@ -0,0 +1,185 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsCreateOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class IntegrationsCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsCreateOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsCreateOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsCreateOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: IntegrationsCreateOutputConfiguration + providers: List[IntegrationsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsCreateOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsCreateOutputConfiguration: + return IntegrationsCreateOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsCreateOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsCreateOutputProvidersConfig: + return IntegrationsCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsCreateOutputProviders: + return IntegrationsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsCreateOutput: + return IntegrationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapIntegrationsCreateOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapIntegrationsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + can_attach_custom_tool_filters: Optional[bool] = None + can_attach_custom_provider_config: Optional[bool] = None + can_override_tool_filters: Optional[bool] = None + + +class mapIntegrationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsCreateBody: + return IntegrationsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/delete.py new file mode 100644 index 00000000..99166b06 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/delete.py @@ -0,0 +1,154 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsDeleteOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class IntegrationsDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsDeleteOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsDeleteOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsDeleteOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: IntegrationsDeleteOutputConfiguration + providers: List[IntegrationsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsDeleteOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsDeleteOutputConfiguration: + return IntegrationsDeleteOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsDeleteOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsDeleteOutputProvidersConfig: + return IntegrationsDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsDeleteOutputProviders: + return IntegrationsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsDeleteOutput: + return IntegrationsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapIntegrationsDeleteOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapIntegrationsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/get.py new file mode 100644 index 00000000..2390cd86 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/get.py @@ -0,0 +1,154 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsGetOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class IntegrationsGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsGetOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsGetOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsGetOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: IntegrationsGetOutputConfiguration + providers: List[IntegrationsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsGetOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsGetOutputConfiguration: + return IntegrationsGetOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsGetOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsGetOutputProvidersConfig: + return IntegrationsGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsGetOutputProviders: + return IntegrationsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsGetOutput: + return IntegrationsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapIntegrationsGetOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapIntegrationsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/__init__.py new file mode 100644 index 00000000..2c33b5a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .create_session import * +from .create_session_template import * +from .delete import * +from .get import * +from .list import * +from .providers import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create.py new file mode 100644 index 00000000..7a79cc31 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsCreateOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class IntegrationsInstanceGroupsCreateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsCreateOutput: + object: str + id: str + status: str + name: str + providers: List[IntegrationsInstanceGroupsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[IntegrationsInstanceGroupsCreateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstanceGroupsCreateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateOutputImplementation: + return IntegrationsInstanceGroupsCreateOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateOutputProviders: + return IntegrationsInstanceGroupsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateOutput: + return IntegrationsInstanceGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapIntegrationsInstanceGroupsCreateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstanceGroupsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstanceGroupsCreateBodyProviders: + integration_instance_provider_id: str + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None +@dataclass +class IntegrationsInstanceGroupsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + providers: Optional[List[IntegrationsInstanceGroupsCreateBodyProviders]] = None + + +class mapIntegrationsInstanceGroupsCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateBodyProviders: + return IntegrationsInstanceGroupsCreateBodyProviders( + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateBody: + return IntegrationsInstanceGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + providers=[mapIntegrationsInstanceGroupsCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create_session.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create_session.py new file mode 100644 index 00000000..81efe0a9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create_session.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsCreateSessionOutputUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class IntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class IntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class IntegrationsInstanceGroupsCreateSessionOutputProviders: + object: str + id: str + status: str + usage: IntegrationsInstanceGroupsCreateSessionOutputProvidersUsage + tool_filter: Dict[str, Any] + provider_id: str + session_id: str + deployment: IntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment + config: IntegrationsInstanceGroupsCreateSessionOutputProvidersConfig + created_at: datetime + updated_at: datetime + from_template_id: Optional[str] = None + from_template_provider_id: Optional[str] = None + auth_config: Optional[IntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig] = None +@dataclass +class IntegrationsInstanceGroupsCreateSessionOutput: + object: str + id: str + status: str + connection_state: str + connection_url: str + usage: IntegrationsInstanceGroupsCreateSessionOutputUsage + providers: List[IntegrationsInstanceGroupsCreateSessionOutputProviders] + from_templates_ids: List[str] + has_errors: bool + has_warnings: bool + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapIntegrationsInstanceGroupsCreateSessionOutputUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionOutputUsage: + return IntegrationsInstanceGroupsCreateSessionOutputUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionOutputUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + return IntegrationsInstanceGroupsCreateSessionOutputProvidersUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionOutputProvidersUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + return IntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + return IntegrationsInstanceGroupsCreateSessionOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + return IntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionOutputProviders: + return IntegrationsInstanceGroupsCreateSessionOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + usage=mapIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage.from_dict(data.get('usage')) if data.get('usage') else None, + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_id=data.get('session_id'), + from_template_id=data.get('from_template_id'), + from_template_provider_id=data.get('from_template_provider_id'), + deployment=mapIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionOutput: + return IntegrationsInstanceGroupsCreateSessionOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + connection_state=data.get('connection_state'), + connection_url=data.get('connection_url'), + client_secret=data.get('client_secret'), + usage=mapIntegrationsInstanceGroupsCreateSessionOutputUsage.from_dict(data.get('usage')) if data.get('usage') else None, + providers=[mapIntegrationsInstanceGroupsCreateSessionOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + from_templates_ids=data.get('from_templates_ids', []), + has_errors=data.get('has_errors'), + has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstanceGroupsCreateSessionBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapIntegrationsInstanceGroupsCreateSessionBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionBody: + return IntegrationsInstanceGroupsCreateSessionBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create_session_template.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create_session_template.py new file mode 100644 index 00000000..8782f597 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/create_session_template.py @@ -0,0 +1,201 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class IntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + object: str + id: str + status: str + tool_filter: Dict[str, Any] + provider_id: str + session_template_id: str + deployment: IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment + config: IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig + created_at: datetime + updated_at: datetime + auth_config: Optional[IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig] = None +@dataclass +class IntegrationsInstanceGroupsCreateSessionTemplateOutput: + object: str + id: str + status: str + name: str + providers: List[IntegrationsInstanceGroupsCreateSessionTemplateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + return IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + return IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + return IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + return IntegrationsInstanceGroupsCreateSessionTemplateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_template_id=data.get('session_template_id'), + deployment=mapIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionTemplateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsCreateSessionTemplateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionTemplateOutput: + return IntegrationsInstanceGroupsCreateSessionTemplateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionTemplateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstanceGroupsCreateSessionTemplateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapIntegrationsInstanceGroupsCreateSessionTemplateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsCreateSessionTemplateBody: + return IntegrationsInstanceGroupsCreateSessionTemplateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsCreateSessionTemplateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/delete.py new file mode 100644 index 00000000..926b28be --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/delete.py @@ -0,0 +1,114 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsDeleteOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class IntegrationsInstanceGroupsDeleteOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsDeleteOutput: + object: str + id: str + status: str + name: str + providers: List[IntegrationsInstanceGroupsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[IntegrationsInstanceGroupsDeleteOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstanceGroupsDeleteOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsDeleteOutputImplementation: + return IntegrationsInstanceGroupsDeleteOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsDeleteOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsDeleteOutputProviders: + return IntegrationsInstanceGroupsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsDeleteOutput: + return IntegrationsInstanceGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapIntegrationsInstanceGroupsDeleteOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstanceGroupsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/get.py new file mode 100644 index 00000000..9fd91ffa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/get.py @@ -0,0 +1,114 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsGetOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class IntegrationsInstanceGroupsGetOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsGetOutput: + object: str + id: str + status: str + name: str + providers: List[IntegrationsInstanceGroupsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[IntegrationsInstanceGroupsGetOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstanceGroupsGetOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsGetOutputImplementation: + return IntegrationsInstanceGroupsGetOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsGetOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsGetOutputProviders: + return IntegrationsInstanceGroupsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsGetOutput: + return IntegrationsInstanceGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapIntegrationsInstanceGroupsGetOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstanceGroupsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/list.py new file mode 100644 index 00000000..b574576c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/list.py @@ -0,0 +1,217 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsListOutputItemsImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class IntegrationsInstanceGroupsListOutputItemsProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsListOutputItems: + object: str + id: str + status: str + name: str + providers: List[IntegrationsInstanceGroupsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[IntegrationsInstanceGroupsListOutputItemsImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class IntegrationsInstanceGroupsListOutput: + items: List[IntegrationsInstanceGroupsListOutputItems] + pagination: IntegrationsInstanceGroupsListOutputPagination + + +class mapIntegrationsInstanceGroupsListOutputItemsImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsListOutputItemsImplementation: + return IntegrationsInstanceGroupsListOutputItemsImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsListOutputItemsImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsListOutputItemsProviders: + return IntegrationsInstanceGroupsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsListOutputItems: + return IntegrationsInstanceGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapIntegrationsInstanceGroupsListOutputItemsImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstanceGroupsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsListOutputPagination: + return IntegrationsInstanceGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsListOutput: + return IntegrationsInstanceGroupsListOutput( + items=[mapIntegrationsInstanceGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapIntegrationsInstanceGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstanceGroupsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[IntegrationsInstanceGroupsListQueryCreatedAt] = None + updated_at: Optional[IntegrationsInstanceGroupsListQueryUpdatedAt] = None + + +class mapIntegrationsInstanceGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsListQuery: + return IntegrationsInstanceGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapIntegrationsInstanceGroupsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapIntegrationsInstanceGroupsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/__init__.py new file mode 100644 index 00000000..43f8f638 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/__init__.py @@ -0,0 +1,4 @@ +from .delete import * +from .get import * +from .list import * +from .set import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/delete.py new file mode 100644 index 00000000..c90ae065 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/delete.py @@ -0,0 +1,56 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsProvidersDeleteOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstanceGroupsProvidersDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsProvidersDeleteOutput: + return IntegrationsInstanceGroupsProvidersDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsProvidersDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/get.py new file mode 100644 index 00000000..0c6ab514 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/get.py @@ -0,0 +1,56 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsProvidersGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstanceGroupsProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsProvidersGetOutput: + return IntegrationsInstanceGroupsProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/list.py new file mode 100644 index 00000000..b18a54ed --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/list.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsProvidersListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class IntegrationsInstanceGroupsProvidersListOutput: + items: List[IntegrationsInstanceGroupsProvidersListOutputItems] + pagination: IntegrationsInstanceGroupsProvidersListOutputPagination + + +class mapIntegrationsInstanceGroupsProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsProvidersListOutputItems: + return IntegrationsInstanceGroupsProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsProvidersListOutputPagination: + return IntegrationsInstanceGroupsProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsProvidersListOutput: + return IntegrationsInstanceGroupsProvidersListOutput( + items=[mapIntegrationsInstanceGroupsProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapIntegrationsInstanceGroupsProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstanceGroupsProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_instance_group_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[IntegrationsInstanceGroupsProvidersListQueryCreatedAt] = None + updated_at: Optional[IntegrationsInstanceGroupsProvidersListQueryUpdatedAt] = None + + +class mapIntegrationsInstanceGroupsProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsProvidersListQuery: + return IntegrationsInstanceGroupsProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapIntegrationsInstanceGroupsProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapIntegrationsInstanceGroupsProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/set.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/set.py new file mode 100644 index 00000000..45e55565 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/providers/set.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsProvidersSetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstanceGroupsProvidersSetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsProvidersSetOutput: + return IntegrationsInstanceGroupsProvidersSetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsProvidersSetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstanceGroupsProvidersSetBody: + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapIntegrationsInstanceGroupsProvidersSetBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsProvidersSetBody: + return IntegrationsInstanceGroupsProvidersSetBody( + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsProvidersSetBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/update.py new file mode 100644 index 00000000..6024b4f0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instance_groups/update.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstanceGroupsUpdateOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class IntegrationsInstanceGroupsUpdateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstanceGroupsUpdateOutput: + object: str + id: str + status: str + name: str + providers: List[IntegrationsInstanceGroupsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[IntegrationsInstanceGroupsUpdateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstanceGroupsUpdateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsUpdateOutputImplementation: + return IntegrationsInstanceGroupsUpdateOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsUpdateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsUpdateOutputProviders: + return IntegrationsInstanceGroupsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsUpdateOutput: + return IntegrationsInstanceGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapIntegrationsInstanceGroupsUpdateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstanceGroupsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstanceGroupsUpdateBodyProviders: + integration_instance_provider_id: str + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None +@dataclass +class IntegrationsInstanceGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + providers: Optional[List[IntegrationsInstanceGroupsUpdateBodyProviders]] = None + + +class mapIntegrationsInstanceGroupsUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsUpdateBodyProviders: + return IntegrationsInstanceGroupsUpdateBodyProviders( + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstanceGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstanceGroupsUpdateBody: + return IntegrationsInstanceGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + providers=[mapIntegrationsInstanceGroupsUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstanceGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/__init__.py new file mode 100644 index 00000000..2c33b5a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .create_session import * +from .create_session_template import * +from .delete import * +from .get import * +from .list import * +from .providers import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create.py new file mode 100644 index 00000000..c141ae42 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create.py @@ -0,0 +1,383 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesCreateOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class IntegrationsInstancesCreateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesCreateOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: IntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesCreateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesCreateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsInstancesCreateOutputProvidersProvider + integration_provider: IntegrationsInstancesCreateOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsInstancesCreateOutputProvidersConfig] = None + auth_config: Optional[IntegrationsInstancesCreateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesCreateOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[IntegrationsInstancesCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[IntegrationsInstancesCreateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstancesCreateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutputImplementation: + return IntegrationsInstancesCreateOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutputProvidersProvider: + return IntegrationsInstancesCreateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + return IntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + return IntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutputProvidersIntegrationProvider: + return IntegrationsInstancesCreateOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutputProvidersConfig: + return IntegrationsInstancesCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutputProvidersAuthConfig: + return IntegrationsInstancesCreateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutputProviders: + return IntegrationsInstancesCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsInstancesCreateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsInstancesCreateOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsInstancesCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesCreateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateOutput: + return IntegrationsInstancesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapIntegrationsInstancesCreateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstancesCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstancesCreateBodyProviders: + provider_id: str + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None +@dataclass +class IntegrationsInstancesCreateBody: + integration_id: str + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + providers: Optional[List[IntegrationsInstancesCreateBodyProviders]] = None + + +class mapIntegrationsInstancesCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateBodyProviders: + return IntegrationsInstancesCreateBodyProviders( + provider_id=data.get('provider_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateBody: + return IntegrationsInstancesCreateBody( + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapIntegrationsInstancesCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create_session.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create_session.py new file mode 100644 index 00000000..74d67e79 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create_session.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesCreateSessionOutputUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class IntegrationsInstancesCreateSessionOutputProvidersUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class IntegrationsInstancesCreateSessionOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesCreateSessionOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class IntegrationsInstancesCreateSessionOutputProviders: + object: str + id: str + status: str + usage: IntegrationsInstancesCreateSessionOutputProvidersUsage + tool_filter: Dict[str, Any] + provider_id: str + session_id: str + deployment: IntegrationsInstancesCreateSessionOutputProvidersDeployment + config: IntegrationsInstancesCreateSessionOutputProvidersConfig + created_at: datetime + updated_at: datetime + from_template_id: Optional[str] = None + from_template_provider_id: Optional[str] = None + auth_config: Optional[IntegrationsInstancesCreateSessionOutputProvidersAuthConfig] = None +@dataclass +class IntegrationsInstancesCreateSessionOutput: + object: str + id: str + status: str + connection_state: str + connection_url: str + usage: IntegrationsInstancesCreateSessionOutputUsage + providers: List[IntegrationsInstancesCreateSessionOutputProviders] + from_templates_ids: List[str] + has_errors: bool + has_warnings: bool + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapIntegrationsInstancesCreateSessionOutputUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionOutputUsage: + return IntegrationsInstancesCreateSessionOutputUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionOutputUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionOutputProvidersUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionOutputProvidersUsage: + return IntegrationsInstancesCreateSessionOutputProvidersUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionOutputProvidersUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionOutputProvidersDeployment: + return IntegrationsInstancesCreateSessionOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionOutputProvidersConfig: + return IntegrationsInstancesCreateSessionOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + return IntegrationsInstancesCreateSessionOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionOutputProviders: + return IntegrationsInstancesCreateSessionOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + usage=mapIntegrationsInstancesCreateSessionOutputProvidersUsage.from_dict(data.get('usage')) if data.get('usage') else None, + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_id=data.get('session_id'), + from_template_id=data.get('from_template_id'), + from_template_provider_id=data.get('from_template_provider_id'), + deployment=mapIntegrationsInstancesCreateSessionOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapIntegrationsInstancesCreateSessionOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesCreateSessionOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionOutput: + return IntegrationsInstancesCreateSessionOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + connection_state=data.get('connection_state'), + connection_url=data.get('connection_url'), + client_secret=data.get('client_secret'), + usage=mapIntegrationsInstancesCreateSessionOutputUsage.from_dict(data.get('usage')) if data.get('usage') else None, + providers=[mapIntegrationsInstancesCreateSessionOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + from_templates_ids=data.get('from_templates_ids', []), + has_errors=data.get('has_errors'), + has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstancesCreateSessionBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapIntegrationsInstancesCreateSessionBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionBody: + return IntegrationsInstancesCreateSessionBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create_session_template.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create_session_template.py new file mode 100644 index 00000000..0462a7e8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/create_session_template.py @@ -0,0 +1,201 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class IntegrationsInstancesCreateSessionTemplateOutputProviders: + object: str + id: str + status: str + tool_filter: Dict[str, Any] + provider_id: str + session_template_id: str + deployment: IntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment + config: IntegrationsInstancesCreateSessionTemplateOutputProvidersConfig + created_at: datetime + updated_at: datetime + auth_config: Optional[IntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig] = None +@dataclass +class IntegrationsInstancesCreateSessionTemplateOutput: + object: str + id: str + status: str + name: str + providers: List[IntegrationsInstancesCreateSessionTemplateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + return IntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + return IntegrationsInstancesCreateSessionTemplateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionTemplateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + return IntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionTemplateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionTemplateOutputProviders: + return IntegrationsInstancesCreateSessionTemplateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_template_id=data.get('session_template_id'), + deployment=mapIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionTemplateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesCreateSessionTemplateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionTemplateOutput: + return IntegrationsInstancesCreateSessionTemplateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapIntegrationsInstancesCreateSessionTemplateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionTemplateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstancesCreateSessionTemplateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapIntegrationsInstancesCreateSessionTemplateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesCreateSessionTemplateBody: + return IntegrationsInstancesCreateSessionTemplateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesCreateSessionTemplateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/delete.py new file mode 100644 index 00000000..4185781f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/delete.py @@ -0,0 +1,324 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesDeleteOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class IntegrationsInstancesDeleteOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: IntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesDeleteOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesDeleteOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsInstancesDeleteOutputProvidersProvider + integration_provider: IntegrationsInstancesDeleteOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsInstancesDeleteOutputProvidersConfig] = None + auth_config: Optional[IntegrationsInstancesDeleteOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesDeleteOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[IntegrationsInstancesDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[IntegrationsInstancesDeleteOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstancesDeleteOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutputImplementation: + return IntegrationsInstancesDeleteOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesDeleteOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutputProvidersProvider: + return IntegrationsInstancesDeleteOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + return IntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + return IntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + return IntegrationsInstancesDeleteOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutputProvidersConfig: + return IntegrationsInstancesDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesDeleteOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutputProvidersAuthConfig: + return IntegrationsInstancesDeleteOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutputProviders: + return IntegrationsInstancesDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsInstancesDeleteOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsInstancesDeleteOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsInstancesDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesDeleteOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesDeleteOutput: + return IntegrationsInstancesDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapIntegrationsInstancesDeleteOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstancesDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/get.py new file mode 100644 index 00000000..5d9907c2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/get.py @@ -0,0 +1,324 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesGetOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class IntegrationsInstancesGetOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesGetOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: IntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsInstancesGetOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesGetOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesGetOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsInstancesGetOutputProvidersProvider + integration_provider: IntegrationsInstancesGetOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsInstancesGetOutputProvidersConfig] = None + auth_config: Optional[IntegrationsInstancesGetOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[IntegrationsInstancesGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[IntegrationsInstancesGetOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstancesGetOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutputImplementation: + return IntegrationsInstancesGetOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesGetOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutputProvidersProvider: + return IntegrationsInstancesGetOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + return IntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + return IntegrationsInstancesGetOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesGetOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutputProvidersIntegrationProvider: + return IntegrationsInstancesGetOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutputProvidersConfig: + return IntegrationsInstancesGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesGetOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutputProvidersAuthConfig: + return IntegrationsInstancesGetOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutputProviders: + return IntegrationsInstancesGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsInstancesGetOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsInstancesGetOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsInstancesGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesGetOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesGetOutput: + return IntegrationsInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapIntegrationsInstancesGetOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstancesGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/list.py new file mode 100644 index 00000000..ac45f7a8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/list.py @@ -0,0 +1,431 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesListOutputItemsImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class IntegrationsInstancesListOutputItemsProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + object: str + id: str + provider_version: IntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesListOutputItemsProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesListOutputItemsProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsInstancesListOutputItemsProvidersProvider + integration_provider: IntegrationsInstancesListOutputItemsProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsInstancesListOutputItemsProvidersConfig] = None + auth_config: Optional[IntegrationsInstancesListOutputItemsProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[IntegrationsInstancesListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[IntegrationsInstancesListOutputItemsImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class IntegrationsInstancesListOutput: + items: List[IntegrationsInstancesListOutputItems] + pagination: IntegrationsInstancesListOutputPagination + + +class mapIntegrationsInstancesListOutputItemsImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItemsImplementation: + return IntegrationsInstancesListOutputItemsImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItemsImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputItemsProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItemsProvidersProvider: + return IntegrationsInstancesListOutputItemsProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItemsProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + return IntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + return IntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + return IntegrationsInstancesListOutputItemsProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItemsProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItemsProvidersConfig: + return IntegrationsInstancesListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputItemsProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItemsProvidersAuthConfig: + return IntegrationsInstancesListOutputItemsProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItemsProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItemsProviders: + return IntegrationsInstancesListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsInstancesListOutputItemsProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsInstancesListOutputItemsProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsInstancesListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesListOutputItemsProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputItems: + return IntegrationsInstancesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapIntegrationsInstancesListOutputItemsImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstancesListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutputPagination: + return IntegrationsInstancesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListOutput: + return IntegrationsInstancesListOutput( + items=[mapIntegrationsInstancesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapIntegrationsInstancesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstancesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsInstancesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsInstancesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None + identity_actor_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[IntegrationsInstancesListQueryCreatedAt] = None + updated_at: Optional[IntegrationsInstancesListQueryUpdatedAt] = None + + +class mapIntegrationsInstancesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesListQuery: + return IntegrationsInstancesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), + identity_actor_id=data.get('identity_actor_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapIntegrationsInstancesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapIntegrationsInstancesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/__init__.py new file mode 100644 index 00000000..8669f60a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .set import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/get.py new file mode 100644 index 00000000..db8f90a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/get.py @@ -0,0 +1,260 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesProvidersGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersGetOutputIntegrationProvider: + object: str + id: str + provider_version: IntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsInstancesProvidersGetOutputIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesProvidersGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersGetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsInstancesProvidersGetOutputProvider + integration_provider: IntegrationsInstancesProvidersGetOutputIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsInstancesProvidersGetOutputConfig] = None + auth_config: Optional[IntegrationsInstancesProvidersGetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstancesProvidersGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersGetOutputProvider: + return IntegrationsInstancesProvidersGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + return IntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + return IntegrationsInstancesProvidersGetOutputIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersGetOutputIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersGetOutputIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersGetOutputIntegrationProvider: + return IntegrationsInstancesProvidersGetOutputIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersGetOutputIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersGetOutputConfig: + return IntegrationsInstancesProvidersGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersGetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersGetOutputAuthConfig: + return IntegrationsInstancesProvidersGetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersGetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersGetOutput: + return IntegrationsInstancesProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsInstancesProvidersGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsInstancesProvidersGetOutputIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsInstancesProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesProvidersGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/list.py new file mode 100644 index 00000000..5982fbca --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/list.py @@ -0,0 +1,363 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesProvidersListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + object: str + id: str + provider_version: IntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesProvidersListOutputItemsConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersListOutputItemsAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsInstancesProvidersListOutputItemsProvider + integration_provider: IntegrationsInstancesProvidersListOutputItemsIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsInstancesProvidersListOutputItemsConfig] = None + auth_config: Optional[IntegrationsInstancesProvidersListOutputItemsAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class IntegrationsInstancesProvidersListOutput: + items: List[IntegrationsInstancesProvidersListOutputItems] + pagination: IntegrationsInstancesProvidersListOutputPagination + + +class mapIntegrationsInstancesProvidersListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutputItemsProvider: + return IntegrationsInstancesProvidersListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + return IntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + return IntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + return IntegrationsInstancesProvidersListOutputItemsIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutputItemsIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersListOutputItemsConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutputItemsConfig: + return IntegrationsInstancesProvidersListOutputItemsConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutputItemsConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersListOutputItemsAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutputItemsAuthConfig: + return IntegrationsInstancesProvidersListOutputItemsAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutputItemsAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutputItems: + return IntegrationsInstancesProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsInstancesProvidersListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsInstancesProvidersListOutputItemsIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsInstancesProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesProvidersListOutputItemsAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutputPagination: + return IntegrationsInstancesProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListOutput: + return IntegrationsInstancesProvidersListOutput( + items=[mapIntegrationsInstancesProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapIntegrationsInstancesProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstancesProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsInstancesProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsInstancesProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[IntegrationsInstancesProvidersListQueryCreatedAt] = None + updated_at: Optional[IntegrationsInstancesProvidersListQueryUpdatedAt] = None + + +class mapIntegrationsInstancesProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersListQuery: + return IntegrationsInstancesProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapIntegrationsInstancesProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapIntegrationsInstancesProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/set.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/set.py new file mode 100644 index 00000000..c9a342f9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/providers/set.py @@ -0,0 +1,289 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesProvidersSetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersSetOutputIntegrationProvider: + object: str + id: str + provider_version: IntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsInstancesProvidersSetOutputIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesProvidersSetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersSetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesProvidersSetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsInstancesProvidersSetOutputProvider + integration_provider: IntegrationsInstancesProvidersSetOutputIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsInstancesProvidersSetOutputConfig] = None + auth_config: Optional[IntegrationsInstancesProvidersSetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstancesProvidersSetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersSetOutputProvider: + return IntegrationsInstancesProvidersSetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersSetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + return IntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + return IntegrationsInstancesProvidersSetOutputIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersSetOutputIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersSetOutputIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersSetOutputIntegrationProvider: + return IntegrationsInstancesProvidersSetOutputIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersSetOutputIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersSetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersSetOutputConfig: + return IntegrationsInstancesProvidersSetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersSetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersSetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersSetOutputAuthConfig: + return IntegrationsInstancesProvidersSetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersSetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesProvidersSetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersSetOutput: + return IntegrationsInstancesProvidersSetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsInstancesProvidersSetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsInstancesProvidersSetOutputIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsInstancesProvidersSetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesProvidersSetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersSetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstancesProvidersSetBody: + provider_deployment_id: Optional[str] = None + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None + + +class mapIntegrationsInstancesProvidersSetBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesProvidersSetBody: + return IntegrationsInstancesProvidersSetBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesProvidersSetBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/update.py new file mode 100644 index 00000000..4376d02e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/instances/update.py @@ -0,0 +1,381 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsInstancesUpdateOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class IntegrationsInstancesUpdateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: IntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesUpdateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsInstancesUpdateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsInstancesUpdateOutputProvidersProvider + integration_provider: IntegrationsInstancesUpdateOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsInstancesUpdateOutputProvidersConfig] = None + auth_config: Optional[IntegrationsInstancesUpdateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsInstancesUpdateOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[IntegrationsInstancesUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[IntegrationsInstancesUpdateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsInstancesUpdateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutputImplementation: + return IntegrationsInstancesUpdateOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutputProvidersProvider: + return IntegrationsInstancesUpdateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + return IntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + return IntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + return IntegrationsInstancesUpdateOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutputProvidersConfig: + return IntegrationsInstancesUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutputProvidersAuthConfig: + return IntegrationsInstancesUpdateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutputProviders: + return IntegrationsInstancesUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsInstancesUpdateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsInstancesUpdateOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsInstancesUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsInstancesUpdateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateOutput: + return IntegrationsInstancesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapIntegrationsInstancesUpdateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsInstancesUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsInstancesUpdateBodyProviders: + provider_id: str + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None +@dataclass +class IntegrationsInstancesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + providers: Optional[List[IntegrationsInstancesUpdateBodyProviders]] = None + + +class mapIntegrationsInstancesUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateBodyProviders: + return IntegrationsInstancesUpdateBodyProviders( + provider_id=data.get('provider_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsInstancesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsInstancesUpdateBody: + return IntegrationsInstancesUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapIntegrationsInstancesUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[IntegrationsInstancesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/list.py new file mode 100644 index 00000000..d7a7df7e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/list.py @@ -0,0 +1,245 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsListOutputItemsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class IntegrationsListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsListOutputItemsProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsListOutputItemsProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsListOutputItems: + object: str + id: str + status: str + slug: str + name: str + configuration: IntegrationsListOutputItemsConfiguration + providers: List[IntegrationsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class IntegrationsListOutput: + items: List[IntegrationsListOutputItems] + pagination: IntegrationsListOutputPagination + + +class mapIntegrationsListOutputItemsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsListOutputItemsConfiguration: + return IntegrationsListOutputItemsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsListOutputItemsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsListOutputItemsProvidersConfig: + return IntegrationsListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsListOutputItemsProviders: + return IntegrationsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsListOutputItems: + return IntegrationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapIntegrationsListOutputItemsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapIntegrationsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsListOutputPagination: + return IntegrationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsListOutput: + return IntegrationsListOutput( + items=[mapIntegrationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapIntegrationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[IntegrationsListQueryCreatedAt] = None + updated_at: Optional[IntegrationsListQueryUpdatedAt] = None + + +class mapIntegrationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsListQuery: + return IntegrationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + created_at=mapIntegrationsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapIntegrationsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/create.py new file mode 100644 index 00000000..933780a4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/create.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsProvidersCreateOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsProvidersCreateOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsProvidersCreateOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsProvidersCreateOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersCreateOutputConfig: + return IntegrationsProvidersCreateOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersCreateOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsProvidersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersCreateOutput: + return IntegrationsProvidersCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsProvidersCreateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsProvidersCreateBody: + integration_id: str + provider_id: str + provider_deployment_id: str + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapIntegrationsProvidersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersCreateBody: + return IntegrationsProvidersCreateBody( + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/delete.py new file mode 100644 index 00000000..62df734c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/delete.py @@ -0,0 +1,90 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsProvidersDeleteOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsProvidersDeleteOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsProvidersDeleteOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsProvidersDeleteOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersDeleteOutputConfig: + return IntegrationsProvidersDeleteOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersDeleteOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsProvidersDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersDeleteOutput: + return IntegrationsProvidersDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsProvidersDeleteOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/get.py new file mode 100644 index 00000000..1ca77d18 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/get.py @@ -0,0 +1,90 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsProvidersGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsProvidersGetOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsProvidersGetOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsProvidersGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersGetOutputConfig: + return IntegrationsProvidersGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersGetOutput: + return IntegrationsProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/list.py new file mode 100644 index 00000000..a27647c5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/list.py @@ -0,0 +1,189 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsProvidersListOutputItemsConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsProvidersListOutputItems: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsProvidersListOutputItemsConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class IntegrationsProvidersListOutput: + items: List[IntegrationsProvidersListOutputItems] + pagination: IntegrationsProvidersListOutputPagination + + +class mapIntegrationsProvidersListOutputItemsConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersListOutputItemsConfig: + return IntegrationsProvidersListOutputItemsConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersListOutputItemsConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersListOutputItems: + return IntegrationsProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersListOutputPagination: + return IntegrationsProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersListOutput: + return IntegrationsProvidersListOutput( + items=[mapIntegrationsProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapIntegrationsProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_auth_method_id: Optional[Union[str, List[str]]] = None + provider_auth_credentials_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + created_at: Optional[IntegrationsProvidersListQueryCreatedAt] = None + updated_at: Optional[IntegrationsProvidersListQueryUpdatedAt] = None + + +class mapIntegrationsProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersListQuery: + return IntegrationsProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + created_at=mapIntegrationsProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapIntegrationsProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/update.py new file mode 100644 index 00000000..5dfd6053 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/providers/update.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsProvidersUpdateOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsProvidersUpdateOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsProvidersUpdateOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsProvidersUpdateOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersUpdateOutputConfig: + return IntegrationsProvidersUpdateOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersUpdateOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsProvidersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersUpdateOutput: + return IntegrationsProvidersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsProvidersUpdateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsProvidersUpdateBody: + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapIntegrationsProvidersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsProvidersUpdateBody: + return IntegrationsProvidersUpdateBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsProvidersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/create.py new file mode 100644 index 00000000..293b80bf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/create.py @@ -0,0 +1,539 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider + integration_provider: IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig] = None + auth_config: Optional[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsCreateOutputIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[IntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsCreateOutput: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: IntegrationsSetupSessionsCreateOutputIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None + + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + return IntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + return IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + return IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + return IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + return IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + return IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + return IntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutputIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutputIntegrationInstance: + return IntegrationsSetupSessionsCreateOutputIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutputIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateOutput: + return IntegrationsSetupSessionsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapIntegrationsSetupSessionsCreateOutputIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + group_id: str +@dataclass +class IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + collection_id: str +@dataclass +class IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + category_id: str +@dataclass +class IntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + groups: Optional[List[IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups]] = None + collections: Optional[List[IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections]] = None + categories: Optional[List[IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories]] = None +@dataclass +class IntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + enabled: Optional[bool] = None +@dataclass +class IntegrationsSetupSessionsCreateBodyConfigurationUi: + layout: Optional[str] = None +@dataclass +class IntegrationsSetupSessionsCreateBodyConfiguration: + provider_search: Optional[IntegrationsSetupSessionsCreateBodyConfigurationProviderSearch] = None + tool_filters: Optional[IntegrationsSetupSessionsCreateBodyConfigurationToolFilters] = None + ui: Optional[IntegrationsSetupSessionsCreateBodyConfigurationUi] = None +@dataclass +class IntegrationsSetupSessionsCreateBody: + integration_id: str + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + expires_at: Optional[datetime] = None + redirect_url: Optional[str] = None + configuration: Optional[IntegrationsSetupSessionsCreateBodyConfiguration] = None + + +class mapIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + return IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups( + group_id=data.get('group_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + return IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections( + collection_id=data.get('collection_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + return IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories( + category_id=data.get('category_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + return IntegrationsSetupSessionsCreateBodyConfigurationProviderSearch( + groups=[mapIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups.from_dict(item) for item in data.get('groups', []) if item], + collections=[mapIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections.from_dict(item) for item in data.get('collections', []) if item], + categories=[mapIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories.from_dict(item) for item in data.get('categories', []) if item] + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateBodyConfigurationProviderSearch, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + return IntegrationsSetupSessionsCreateBodyConfigurationToolFilters( + enabled=data.get('enabled') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateBodyConfigurationToolFilters, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateBodyConfigurationUi: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateBodyConfigurationUi: + return IntegrationsSetupSessionsCreateBodyConfigurationUi( + layout=data.get('layout') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateBodyConfigurationUi, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateBodyConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateBodyConfiguration: + return IntegrationsSetupSessionsCreateBodyConfiguration( + provider_search=mapIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch.from_dict(data.get('provider_search')) if data.get('provider_search') else None, + tool_filters=mapIntegrationsSetupSessionsCreateBodyConfigurationToolFilters.from_dict(data.get('tool_filters')) if data.get('tool_filters') else None, + ui=mapIntegrationsSetupSessionsCreateBodyConfigurationUi.from_dict(data.get('ui')) if data.get('ui') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateBodyConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsCreateBody: + return IntegrationsSetupSessionsCreateBody( + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + redirect_url=data.get('redirect_url'), + configuration=mapIntegrationsSetupSessionsCreateBodyConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/get.py new file mode 100644 index 00000000..bc729e70 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/get.py @@ -0,0 +1,368 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider + integration_provider: IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig] = None + auth_config: Optional[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsGetOutputIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[IntegrationsSetupSessionsGetOutputIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[IntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsGetOutput: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: IntegrationsSetupSessionsGetOutputIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None + + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + return IntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + return IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + return IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + return IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + return IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + return IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + return IntegrationsSetupSessionsGetOutputIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutputIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutputIntegrationInstance: + return IntegrationsSetupSessionsGetOutputIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutputIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsGetOutput: + return IntegrationsSetupSessionsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapIntegrationsSetupSessionsGetOutputIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/list.py new file mode 100644 index 00000000..55ad062f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/setup_sessions/list.py @@ -0,0 +1,457 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider + integration_provider: IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig] = None + auth_config: Optional[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsListOutputItemsIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsListOutputItems: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: IntegrationsSetupSessionsListOutputItemsIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None +@dataclass +class IntegrationsSetupSessionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class IntegrationsSetupSessionsListOutput: + items: List[IntegrationsSetupSessionsListOutputItems] + pagination: IntegrationsSetupSessionsListOutputPagination + + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItemsIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItemsIntegrationInstance: + return IntegrationsSetupSessionsListOutputItemsIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItemsIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputItems: + return IntegrationsSetupSessionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapIntegrationsSetupSessionsListOutputItemsIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutputPagination: + return IntegrationsSetupSessionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsSetupSessionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListOutput: + return IntegrationsSetupSessionsListOutput( + items=[mapIntegrationsSetupSessionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapIntegrationsSetupSessionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsSetupSessionsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class IntegrationsSetupSessionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + created_at: Optional[IntegrationsSetupSessionsListQueryCreatedAt] = None + updated_at: Optional[IntegrationsSetupSessionsListQueryUpdatedAt] = None + + +class mapIntegrationsSetupSessionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsSetupSessionsListQuery: + return IntegrationsSetupSessionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + created_at=mapIntegrationsSetupSessionsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapIntegrationsSetupSessionsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsSetupSessionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/update.py new file mode 100644 index 00000000..2295f9c2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/integrations/update.py @@ -0,0 +1,185 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class IntegrationsUpdateOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class IntegrationsUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class IntegrationsUpdateOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[IntegrationsUpdateOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class IntegrationsUpdateOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: IntegrationsUpdateOutputConfiguration + providers: List[IntegrationsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapIntegrationsUpdateOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsUpdateOutputConfiguration: + return IntegrationsUpdateOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsUpdateOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsUpdateOutputProvidersConfig: + return IntegrationsUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsUpdateOutputProviders: + return IntegrationsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapIntegrationsUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapIntegrationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsUpdateOutput: + return IntegrationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapIntegrationsUpdateOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapIntegrationsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[IntegrationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class IntegrationsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + can_attach_custom_tool_filters: Optional[bool] = None + can_attach_custom_provider_config: Optional[bool] = None + can_override_tool_filters: Optional[bool] = None + + +class mapIntegrationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> IntegrationsUpdateBody: + return IntegrationsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[IntegrationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/add_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/add_servers.py index 335d71eb..6f0fb93d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/add_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/add_servers.py @@ -14,9 +14,6 @@ class MagicMcpEndpointsAddServersOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsAddServersOutput: status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), @@ -51,25 +45,24 @@ def to_dict(value: Union[MagicMcpEndpointsAddServersOutput, Dict[str, Any], None return dataclasses.asdict(value) @dataclass -class MagicMcpEndpointsAddServersBodyServers: +class MagicMcpEndpointsAddServersBodyMagicMcpServers: magic_mcp_server_id: str tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @dataclass class MagicMcpEndpointsAddServersBody: - magic_mcp_server_ids: Optional[List[str]] = None - servers: Optional[List[MagicMcpEndpointsAddServersBodyServers]] = None + magic_mcp_servers: Optional[List[MagicMcpEndpointsAddServersBodyMagicMcpServers]] = None -class mapMagicMcpEndpointsAddServersBodyServers: +class mapMagicMcpEndpointsAddServersBodyMagicMcpServers: @staticmethod - def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsAddServersBodyServers: - return MagicMcpEndpointsAddServersBodyServers( + def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsAddServersBodyMagicMcpServers: + return MagicMcpEndpointsAddServersBodyMagicMcpServers( magic_mcp_server_id=data.get('magic_mcp_server_id'), tool_filters=data.get('tool_filters') ) @staticmethod - def to_dict(value: Union[MagicMcpEndpointsAddServersBodyServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[MagicMcpEndpointsAddServersBodyMagicMcpServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -80,8 +73,7 @@ class mapMagicMcpEndpointsAddServersBody: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsAddServersBody: return MagicMcpEndpointsAddServersBody( - magic_mcp_server_ids=data.get('magic_mcp_server_ids', []), - servers=[mapMagicMcpEndpointsAddServersBodyServers.from_dict(item) for item in data.get('servers', []) if item] + magic_mcp_servers=[mapMagicMcpEndpointsAddServersBodyMagicMcpServers.from_dict(item) for item in data.get('magic_mcp_servers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/create.py index fcebb672..c75be07a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/create.py @@ -14,9 +14,6 @@ class MagicMcpEndpointsCreateOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsCreateOutput: status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), @@ -51,7 +45,7 @@ def to_dict(value: Union[MagicMcpEndpointsCreateOutput, Dict[str, Any], None]) - return dataclasses.asdict(value) @dataclass -class MagicMcpEndpointsCreateBodyServers: +class MagicMcpEndpointsCreateBodyMagicMcpServers: magic_mcp_server_id: str tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @dataclass @@ -60,20 +54,20 @@ class MagicMcpEndpointsCreateBody: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None consumer_profile_id: Optional[str] = None - magic_mcp_server_ids: Optional[List[str]] = None - servers: Optional[List[MagicMcpEndpointsCreateBodyServers]] = None + skill_plugin_id: Optional[str] = None + magic_mcp_servers: Optional[List[MagicMcpEndpointsCreateBodyMagicMcpServers]] = None -class mapMagicMcpEndpointsCreateBodyServers: +class mapMagicMcpEndpointsCreateBodyMagicMcpServers: @staticmethod - def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsCreateBodyServers: - return MagicMcpEndpointsCreateBodyServers( + def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsCreateBodyMagicMcpServers: + return MagicMcpEndpointsCreateBodyMagicMcpServers( magic_mcp_server_id=data.get('magic_mcp_server_id'), tool_filters=data.get('tool_filters') ) @staticmethod - def to_dict(value: Union[MagicMcpEndpointsCreateBodyServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[MagicMcpEndpointsCreateBodyMagicMcpServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -88,8 +82,8 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsCreateBody: description=data.get('description'), metadata=data.get('metadata'), consumer_profile_id=data.get('consumer_profile_id'), - magic_mcp_server_ids=data.get('magic_mcp_server_ids', []), - servers=[mapMagicMcpEndpointsCreateBodyServers.from_dict(item) for item in data.get('servers', []) if item] + skill_plugin_id=data.get('skill_plugin_id'), + magic_mcp_servers=[mapMagicMcpEndpointsCreateBodyMagicMcpServers.from_dict(item) for item in data.get('magic_mcp_servers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/delete.py index 5821a65a..46a5ecf5 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/delete.py @@ -14,9 +14,6 @@ class MagicMcpEndpointsDeleteOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsDeleteOutput: status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/get.py index 50d51960..782046cf 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/get.py @@ -14,9 +14,6 @@ class MagicMcpEndpointsGetOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsGetOutput: status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/list.py index 10815110..3c7be9f6 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/list.py @@ -14,9 +14,6 @@ class MagicMcpEndpointsListOutputItems: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -38,9 +35,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsListOutputItems: status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/remove_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/remove_servers.py index cbef49e6..20582047 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/remove_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/remove_servers.py @@ -14,9 +14,6 @@ class MagicMcpEndpointsRemoveServersOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsRemoveServersOutput: status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/update.py index 7d86a48f..6ba81414 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_endpoints/update.py @@ -14,9 +14,6 @@ class MagicMcpEndpointsUpdateOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpEndpointsUpdateOutput: status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/create.py index f8c55748..1a80a497 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/create.py @@ -9,12 +9,122 @@ class MagicMcpServersCreateOutputEndpoints: alias: str url: str @dataclass +class MagicMcpServersCreateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class MagicMcpServersCreateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersCreateOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersCreateOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersCreateOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersCreateOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersCreateOutputProvidersAuthMethodScopes]] = None +@dataclass +class MagicMcpServersCreateOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class MagicMcpServersCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersCreateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersCreateOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersCreateOutputProvidersProvider + deployment: MagicMcpServersCreateOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersCreateOutputProvidersAuthMethod] = None + auth_credentials: Optional[MagicMcpServersCreateOutputProvidersAuthCredentials] = None + config: Optional[MagicMcpServersCreateOutputProvidersConfig] = None + auth_config: Optional[MagicMcpServersCreateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class MagicMcpServersCreateOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[MagicMcpServersCreateOutputEndpoints] + providers: List[MagicMcpServersCreateOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[MagicMcpServersCreateOutputEndpoints, Dict[str, Any], N return value return dataclasses.asdict(value) +class mapMagicMcpServersCreateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersProvider: + return MagicMcpServersCreateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersDeployment: + return MagicMcpServersCreateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + return MagicMcpServersCreateOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + return MagicMcpServersCreateOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersAuthMethodScopes: + return MagicMcpServersCreateOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersAuthMethod: + return MagicMcpServersCreateOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersCreateOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersCreateOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersAuthCredentials: + return MagicMcpServersCreateOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersConfig: + return MagicMcpServersCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProvidersAuthConfig: + return MagicMcpServersCreateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutputProviders: + return MagicMcpServersCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersCreateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapMagicMcpServersCreateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersCreateOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersCreateOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapMagicMcpServersCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapMagicMcpServersCreateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersCreateOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateOutput: id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapMagicMcpServersCreateOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapMagicMcpServersCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -71,6 +411,7 @@ class MagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + provider_template_id: Optional[str] = None consumer_profile_id: Optional[str] = None @@ -81,6 +422,7 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateBody: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + provider_template_id=data.get('provider_template_id'), consumer_profile_id=data.get('consumer_profile_id') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/delete.py index 7f4eaeef..ae755bae 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/delete.py @@ -9,12 +9,122 @@ class MagicMcpServersDeleteOutputEndpoints: alias: str url: str @dataclass +class MagicMcpServersDeleteOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class MagicMcpServersDeleteOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersDeleteOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersDeleteOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersDeleteOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersDeleteOutputProvidersAuthMethodScopes]] = None +@dataclass +class MagicMcpServersDeleteOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class MagicMcpServersDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersDeleteOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersDeleteOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersDeleteOutputProvidersProvider + deployment: MagicMcpServersDeleteOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersDeleteOutputProvidersAuthMethod] = None + auth_credentials: Optional[MagicMcpServersDeleteOutputProvidersAuthCredentials] = None + config: Optional[MagicMcpServersDeleteOutputProvidersConfig] = None + auth_config: Optional[MagicMcpServersDeleteOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class MagicMcpServersDeleteOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[MagicMcpServersDeleteOutputEndpoints] + providers: List[MagicMcpServersDeleteOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[MagicMcpServersDeleteOutputEndpoints, Dict[str, Any], N return value return dataclasses.asdict(value) +class mapMagicMcpServersDeleteOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersProvider: + return MagicMcpServersDeleteOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersDeployment: + return MagicMcpServersDeleteOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + return MagicMcpServersDeleteOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + return MagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersAuthMethodScopes: + return MagicMcpServersDeleteOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersAuthMethod: + return MagicMcpServersDeleteOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersDeleteOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersAuthCredentials: + return MagicMcpServersDeleteOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersConfig: + return MagicMcpServersDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProvidersAuthConfig: + return MagicMcpServersDeleteOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutputProviders: + return MagicMcpServersDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersDeleteOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapMagicMcpServersDeleteOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersDeleteOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersDeleteOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapMagicMcpServersDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapMagicMcpServersDeleteOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersDeleteOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersDeleteOutput: id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapMagicMcpServersDeleteOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapMagicMcpServersDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/get.py index e49148ea..559aa774 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/get.py @@ -9,12 +9,122 @@ class MagicMcpServersGetOutputEndpoints: alias: str url: str @dataclass +class MagicMcpServersGetOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class MagicMcpServersGetOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersGetOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersGetOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersGetOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersGetOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersGetOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersGetOutputProvidersAuthMethodScopes]] = None +@dataclass +class MagicMcpServersGetOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class MagicMcpServersGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersGetOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersGetOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersGetOutputProvidersProvider + deployment: MagicMcpServersGetOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersGetOutputProvidersAuthMethod] = None + auth_credentials: Optional[MagicMcpServersGetOutputProvidersAuthCredentials] = None + config: Optional[MagicMcpServersGetOutputProvidersConfig] = None + auth_config: Optional[MagicMcpServersGetOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class MagicMcpServersGetOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[MagicMcpServersGetOutputEndpoints] + providers: List[MagicMcpServersGetOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[MagicMcpServersGetOutputEndpoints, Dict[str, Any], None return value return dataclasses.asdict(value) +class mapMagicMcpServersGetOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersProvider: + return MagicMcpServersGetOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersDeployment: + return MagicMcpServersGetOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersAuthMethodInputSchema: + return MagicMcpServersGetOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + return MagicMcpServersGetOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersAuthMethodScopes: + return MagicMcpServersGetOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersAuthMethod: + return MagicMcpServersGetOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersGetOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersGetOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersGetOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersAuthCredentials: + return MagicMcpServersGetOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersConfig: + return MagicMcpServersGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProvidersAuthConfig: + return MagicMcpServersGetOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutputProviders: + return MagicMcpServersGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersGetOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapMagicMcpServersGetOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersGetOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersGetOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapMagicMcpServersGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapMagicMcpServersGetOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersGetOutput: id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapMagicMcpServersGetOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapMagicMcpServersGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/list.py index c461f7bc..b9da1da8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/list.py @@ -9,12 +9,122 @@ class MagicMcpServersListOutputItemsEndpoints: alias: str url: str @dataclass +class MagicMcpServersListOutputItemsProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class MagicMcpServersListOutputItemsProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersListOutputItemsProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersListOutputItemsProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersListOutputItemsProvidersAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersListOutputItemsProvidersAuthMethodScopes]] = None +@dataclass +class MagicMcpServersListOutputItemsProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class MagicMcpServersListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersListOutputItemsProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersListOutputItemsProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersListOutputItemsProvidersProvider + deployment: MagicMcpServersListOutputItemsProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersListOutputItemsProvidersAuthMethod] = None + auth_credentials: Optional[MagicMcpServersListOutputItemsProvidersAuthCredentials] = None + config: Optional[MagicMcpServersListOutputItemsProvidersConfig] = None + auth_config: Optional[MagicMcpServersListOutputItemsProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class MagicMcpServersListOutputItems: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[MagicMcpServersListOutputItemsEndpoints] + providers: List[MagicMcpServersListOutputItemsProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -48,6 +158,234 @@ def to_dict(value: Union[MagicMcpServersListOutputItemsEndpoints, Dict[str, Any] return value return dataclasses.asdict(value) +class mapMagicMcpServersListOutputItemsProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersProvider: + return MagicMcpServersListOutputItemsProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersDeployment: + return MagicMcpServersListOutputItemsProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + return MagicMcpServersListOutputItemsProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + return MagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersAuthMethodScopes: + return MagicMcpServersListOutputItemsProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersAuthMethod: + return MagicMcpServersListOutputItemsProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersListOutputItemsProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersAuthCredentials: + return MagicMcpServersListOutputItemsProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersConfig: + return MagicMcpServersListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProvidersAuthConfig: + return MagicMcpServersListOutputItemsProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItemsProviders: + return MagicMcpServersListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersListOutputItemsProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapMagicMcpServersListOutputItemsProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersListOutputItemsProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersListOutputItemsProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapMagicMcpServersListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapMagicMcpServersListOutputItemsProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersListOutputItems: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItems: @@ -56,8 +394,10 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersListOutputItems: id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapMagicMcpServersListOutputItemsEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapMagicMcpServersListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/create.py index abaad97c..8fd82442 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/create.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class MagicMcpServersProvidersCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class MagicMcpServersProvidersCreateOutputDeployment: object: str @@ -15,6 +24,52 @@ class MagicMcpServersProvidersCreateOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class MagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersCreateOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersProvidersCreateOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersProvidersCreateOutputAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersProvidersCreateOutputAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersProvidersCreateOutputAuthMethodScopes]] = None +@dataclass +class MagicMcpServersProvidersCreateOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class MagicMcpServersProvidersCreateOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class MagicMcpServersProvidersCreateOutputConfig: class MagicMcpServersProvidersCreateOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class MagicMcpServersProvidersCreateOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersProvidersCreateOutputProvider deployment: MagicMcpServersProvidersCreateOutputDeployment - config: MagicMcpServersProvidersCreateOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersProvidersCreateOutputAuthMethod] = None + auth_credentials: Optional[MagicMcpServersProvidersCreateOutputAuthCredentials] = None + config: Optional[MagicMcpServersProvidersCreateOutputConfig] = None auth_config: Optional[MagicMcpServersProvidersCreateOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapMagicMcpServersProvidersCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutputProvider: + return MagicMcpServersProvidersCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapMagicMcpServersProvidersCreateOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[MagicMcpServersProvidersCreateOutputDeployment, Dict[st return value return dataclasses.asdict(value) +class mapMagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + return MagicMcpServersProvidersCreateOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersCreateOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + return MagicMcpServersProvidersCreateOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersCreateOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersCreateOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutputAuthMethodScopes: + return MagicMcpServersProvidersCreateOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersCreateOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersCreateOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutputAuthMethod: + return MagicMcpServersProvidersCreateOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersProvidersCreateOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersProvidersCreateOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersCreateOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersCreateOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutputAuthCredentials: + return MagicMcpServersProvidersCreateOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersCreateOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersProvidersCreateOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutputConfig: @@ -95,7 +291,14 @@ class mapMagicMcpServersProvidersCreateOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutputAuthConfig: return MagicMcpServersProvidersCreateOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateOutput: object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersProvidersCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapMagicMcpServersProvidersCreateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersProvidersCreateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersProvidersCreateOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapMagicMcpServersProvidersCreateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapMagicMcpServersProvidersCreateOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -134,9 +344,9 @@ def to_dict(value: Union[MagicMcpServersProvidersCreateOutput, Dict[str, Any], N @dataclass class MagicMcpServersProvidersCreateBody: + provider_id: str provider_deployment_id: Optional[str] = None provider_config_id: Optional[str] = None - provider_config_vault_id: Optional[str] = None provider_auth_config_id: Optional[str] = None tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @@ -145,9 +355,9 @@ class mapMagicMcpServersProvidersCreateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersCreateBody: return MagicMcpServersProvidersCreateBody( + provider_id=data.get('provider_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), - provider_config_vault_id=data.get('provider_config_vault_id'), provider_auth_config_id=data.get('provider_auth_config_id'), tool_filters=data.get('tool_filters') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/delete.py index e1470a1f..2ebc8ad3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/delete.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class MagicMcpServersProvidersDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class MagicMcpServersProvidersDeleteOutputDeployment: object: str @@ -15,6 +24,52 @@ class MagicMcpServersProvidersDeleteOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class MagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersDeleteOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersProvidersDeleteOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersProvidersDeleteOutputAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersProvidersDeleteOutputAuthMethodScopes]] = None +@dataclass +class MagicMcpServersProvidersDeleteOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class MagicMcpServersProvidersDeleteOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class MagicMcpServersProvidersDeleteOutputConfig: class MagicMcpServersProvidersDeleteOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class MagicMcpServersProvidersDeleteOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersProvidersDeleteOutputProvider deployment: MagicMcpServersProvidersDeleteOutputDeployment - config: MagicMcpServersProvidersDeleteOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersProvidersDeleteOutputAuthMethod] = None + auth_credentials: Optional[MagicMcpServersProvidersDeleteOutputAuthCredentials] = None + config: Optional[MagicMcpServersProvidersDeleteOutputConfig] = None auth_config: Optional[MagicMcpServersProvidersDeleteOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapMagicMcpServersProvidersDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutputProvider: + return MagicMcpServersProvidersDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapMagicMcpServersProvidersDeleteOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[MagicMcpServersProvidersDeleteOutputDeployment, Dict[st return value return dataclasses.asdict(value) +class mapMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + return MagicMcpServersProvidersDeleteOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersDeleteOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + return MagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersDeleteOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutputAuthMethodScopes: + return MagicMcpServersProvidersDeleteOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersDeleteOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersDeleteOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutputAuthMethod: + return MagicMcpServersProvidersDeleteOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersProvidersDeleteOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersDeleteOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersDeleteOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutputAuthCredentials: + return MagicMcpServersProvidersDeleteOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersDeleteOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersProvidersDeleteOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutputConfig: @@ -95,7 +291,14 @@ class mapMagicMcpServersProvidersDeleteOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutputAuthConfig: return MagicMcpServersProvidersDeleteOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersDeleteOutput: object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersProvidersDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapMagicMcpServersProvidersDeleteOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersProvidersDeleteOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersProvidersDeleteOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapMagicMcpServersProvidersDeleteOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapMagicMcpServersProvidersDeleteOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/get.py index 60f65529..f9ed5df8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/get.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class MagicMcpServersProvidersGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class MagicMcpServersProvidersGetOutputDeployment: object: str @@ -15,6 +24,52 @@ class MagicMcpServersProvidersGetOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class MagicMcpServersProvidersGetOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersGetOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersProvidersGetOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersProvidersGetOutputAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersProvidersGetOutputAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersProvidersGetOutputAuthMethodScopes]] = None +@dataclass +class MagicMcpServersProvidersGetOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class MagicMcpServersProvidersGetOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class MagicMcpServersProvidersGetOutputConfig: class MagicMcpServersProvidersGetOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class MagicMcpServersProvidersGetOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersProvidersGetOutputProvider deployment: MagicMcpServersProvidersGetOutputDeployment - config: MagicMcpServersProvidersGetOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersProvidersGetOutputAuthMethod] = None + auth_credentials: Optional[MagicMcpServersProvidersGetOutputAuthCredentials] = None + config: Optional[MagicMcpServersProvidersGetOutputConfig] = None auth_config: Optional[MagicMcpServersProvidersGetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapMagicMcpServersProvidersGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutputProvider: + return MagicMcpServersProvidersGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapMagicMcpServersProvidersGetOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[MagicMcpServersProvidersGetOutputDeployment, Dict[str, return value return dataclasses.asdict(value) +class mapMagicMcpServersProvidersGetOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutputAuthMethodInputSchema: + return MagicMcpServersProvidersGetOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersGetOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + return MagicMcpServersProvidersGetOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersGetOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersGetOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutputAuthMethodScopes: + return MagicMcpServersProvidersGetOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersGetOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersGetOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutputAuthMethod: + return MagicMcpServersProvidersGetOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersProvidersGetOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersProvidersGetOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersProvidersGetOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersGetOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersGetOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutputAuthCredentials: + return MagicMcpServersProvidersGetOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersGetOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersProvidersGetOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutputConfig: @@ -95,7 +291,14 @@ class mapMagicMcpServersProvidersGetOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutputAuthConfig: return MagicMcpServersProvidersGetOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersGetOutput: object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersProvidersGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapMagicMcpServersProvidersGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersProvidersGetOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersProvidersGetOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapMagicMcpServersProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapMagicMcpServersProvidersGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/list.py index 79c7a6eb..0804c140 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/list.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class MagicMcpServersProvidersListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class MagicMcpServersProvidersListOutputItemsDeployment: object: str @@ -15,6 +24,52 @@ class MagicMcpServersProvidersListOutputItemsDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class MagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersListOutputItemsAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersProvidersListOutputItemsAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersProvidersListOutputItemsAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersProvidersListOutputItemsAuthMethodScopes]] = None +@dataclass +class MagicMcpServersProvidersListOutputItemsAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class MagicMcpServersProvidersListOutputItemsConfig: object: str id: str @@ -29,19 +84,33 @@ class MagicMcpServersProvidersListOutputItemsConfig: class MagicMcpServersProvidersListOutputItemsAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class MagicMcpServersProvidersListOutputItems: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersProvidersListOutputItemsProvider deployment: MagicMcpServersProvidersListOutputItemsDeployment - config: MagicMcpServersProvidersListOutputItemsConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersProvidersListOutputItemsAuthMethod] = None + auth_credentials: Optional[MagicMcpServersProvidersListOutputItemsAuthCredentials] = None + config: Optional[MagicMcpServersProvidersListOutputItemsConfig] = None auth_config: Optional[MagicMcpServersProvidersListOutputItemsAuthConfig] = None + archived_at: Optional[datetime] = None @dataclass class MagicMcpServersProvidersListOutputPagination: has_more_before: bool @@ -52,6 +121,27 @@ class MagicMcpServersProvidersListOutput: pagination: MagicMcpServersProvidersListOutputPagination +class mapMagicMcpServersProvidersListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsProvider: + return MagicMcpServersProvidersListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersProvidersListOutputItemsDeployment: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsDeployment: @@ -75,6 +165,112 @@ def to_dict(value: Union[MagicMcpServersProvidersListOutputItemsDeployment, Dict return value return dataclasses.asdict(value) +class mapMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + return MagicMcpServersProvidersListOutputItemsAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersListOutputItemsAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + return MagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersListOutputItemsAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsAuthMethodScopes: + return MagicMcpServersProvidersListOutputItemsAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersListOutputItemsAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersListOutputItemsAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsAuthMethod: + return MagicMcpServersProvidersListOutputItemsAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersProvidersListOutputItemsAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersListOutputItemsAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersListOutputItemsAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsAuthCredentials: + return MagicMcpServersProvidersListOutputItemsAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersListOutputItemsAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersProvidersListOutputItemsConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsConfig: @@ -103,7 +299,14 @@ class mapMagicMcpServersProvidersListOutputItemsAuthConfig: def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItemsAuthConfig: return MagicMcpServersProvidersListOutputItemsAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -121,14 +324,21 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListOutputItems: object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersProvidersListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapMagicMcpServersProvidersListOutputItemsDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersProvidersListOutputItemsAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersProvidersListOutputItemsAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapMagicMcpServersProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapMagicMcpServersProvidersListOutputItemsAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -190,6 +400,8 @@ class MagicMcpServersProvidersListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_id: Optional[Union[str, List[str]]] = None provider_auth_config_id: Optional[Union[str, List[str]]] = None @@ -209,6 +421,8 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersListQuery: status=data.get('status'), id=data.get('id'), provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), provider_auth_config_id=data.get('provider_auth_config_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/update.py index bdf9b331..3ad5745e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/providers/update.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class MagicMcpServersProvidersUpdateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class MagicMcpServersProvidersUpdateOutputDeployment: object: str @@ -15,6 +24,52 @@ class MagicMcpServersProvidersUpdateOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class MagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersProvidersUpdateOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersProvidersUpdateOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersProvidersUpdateOutputAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersProvidersUpdateOutputAuthMethodScopes]] = None +@dataclass +class MagicMcpServersProvidersUpdateOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class MagicMcpServersProvidersUpdateOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class MagicMcpServersProvidersUpdateOutputConfig: class MagicMcpServersProvidersUpdateOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class MagicMcpServersProvidersUpdateOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersProvidersUpdateOutputProvider deployment: MagicMcpServersProvidersUpdateOutputDeployment - config: MagicMcpServersProvidersUpdateOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersProvidersUpdateOutputAuthMethod] = None + auth_credentials: Optional[MagicMcpServersProvidersUpdateOutputAuthCredentials] = None + config: Optional[MagicMcpServersProvidersUpdateOutputConfig] = None auth_config: Optional[MagicMcpServersProvidersUpdateOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapMagicMcpServersProvidersUpdateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutputProvider: + return MagicMcpServersProvidersUpdateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersUpdateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapMagicMcpServersProvidersUpdateOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[MagicMcpServersProvidersUpdateOutputDeployment, Dict[st return value return dataclasses.asdict(value) +class mapMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + return MagicMcpServersProvidersUpdateOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersUpdateOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + return MagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersUpdateOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutputAuthMethodScopes: + return MagicMcpServersProvidersUpdateOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersUpdateOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersUpdateOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutputAuthMethod: + return MagicMcpServersProvidersUpdateOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersProvidersUpdateOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersUpdateOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersProvidersUpdateOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutputAuthCredentials: + return MagicMcpServersProvidersUpdateOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersProvidersUpdateOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersProvidersUpdateOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutputConfig: @@ -95,7 +291,14 @@ class mapMagicMcpServersProvidersUpdateOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutputAuthConfig: return MagicMcpServersProvidersUpdateOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateOutput: object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersProvidersUpdateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapMagicMcpServersProvidersUpdateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersProvidersUpdateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersProvidersUpdateOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapMagicMcpServersProvidersUpdateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapMagicMcpServersProvidersUpdateOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -134,6 +344,9 @@ def to_dict(value: Union[MagicMcpServersProvidersUpdateOutput, Dict[str, Any], N @dataclass class MagicMcpServersProvidersUpdateBody: + provider_deployment_id: Optional[str] = None + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @@ -141,6 +354,9 @@ class mapMagicMcpServersProvidersUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersProvidersUpdateBody: return MagicMcpServersProvidersUpdateBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), tool_filters=data.get('tool_filters') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/update.py index 9fbb536c..7ba64bff 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/update.py @@ -9,12 +9,122 @@ class MagicMcpServersUpdateOutputEndpoints: alias: str url: str @dataclass +class MagicMcpServersUpdateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class MagicMcpServersUpdateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpServersUpdateOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpServersUpdateOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpServersUpdateOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpServersUpdateOutputProvidersAuthMethodScopes]] = None +@dataclass +class MagicMcpServersUpdateOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class MagicMcpServersUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersUpdateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpServersUpdateOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpServersUpdateOutputProvidersProvider + deployment: MagicMcpServersUpdateOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpServersUpdateOutputProvidersAuthMethod] = None + auth_credentials: Optional[MagicMcpServersUpdateOutputProvidersAuthCredentials] = None + config: Optional[MagicMcpServersUpdateOutputProvidersConfig] = None + auth_config: Optional[MagicMcpServersUpdateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class MagicMcpServersUpdateOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[MagicMcpServersUpdateOutputEndpoints] + providers: List[MagicMcpServersUpdateOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[MagicMcpServersUpdateOutputEndpoints, Dict[str, Any], N return value return dataclasses.asdict(value) +class mapMagicMcpServersUpdateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersProvider: + return MagicMcpServersUpdateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersDeployment: + return MagicMcpServersUpdateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + return MagicMcpServersUpdateOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + return MagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersAuthMethodScopes: + return MagicMcpServersUpdateOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersAuthMethod: + return MagicMcpServersUpdateOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpServersUpdateOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersAuthCredentials: + return MagicMcpServersUpdateOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersConfig: + return MagicMcpServersUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProvidersAuthConfig: + return MagicMcpServersUpdateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpServersUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutputProviders: + return MagicMcpServersUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpServersUpdateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapMagicMcpServersUpdateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpServersUpdateOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpServersUpdateOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapMagicMcpServersUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapMagicMcpServersUpdateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpServersUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpServersUpdateOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateOutput: id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapMagicMcpServersUpdateOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapMagicMcpServersUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -72,7 +412,6 @@ class MagicMcpServersUpdateBody: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None aliases: Optional[List[str]] = None - session_template_id: Optional[str] = None class mapMagicMcpServersUpdateBody: @@ -82,8 +421,7 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersUpdateBody: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - aliases=data.get('aliases', []), - session_template_id=data.get('session_template_id') + aliases=data.get('aliases', []) ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_sessions/get.py index 30bfd2b8..ca2064c9 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_sessions/get.py @@ -9,12 +9,122 @@ class MagicMcpSessionsGetOutputMagicMcpServerEndpoints: alias: str url: str @dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes]] = None +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpSessionsGetOutputMagicMcpServerProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpSessionsGetOutputMagicMcpServerProvidersProvider + deployment: MagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod] = None + auth_credentials: Optional[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials] = None + config: Optional[MagicMcpSessionsGetOutputMagicMcpServerProvidersConfig] = None + auth_config: Optional[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class MagicMcpSessionsGetOutputMagicMcpServer: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[MagicMcpSessionsGetOutputMagicMcpServerEndpoints] + providers: List[MagicMcpSessionsGetOutputMagicMcpServerProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -32,9 +142,6 @@ class MagicMcpSessionsGetOutputMagicMcpEndpoint: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -68,6 +175,234 @@ def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerEndpoints, Dict[ return value return dataclasses.asdict(value) +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + return MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsGetOutputMagicMcpServerProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServerProviders: + return MagicMcpSessionsGetOutputMagicMcpServerProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsGetOutputMagicMcpServerProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpSessionsGetOutputMagicMcpServer: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServer: @@ -76,8 +411,10 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpServer: id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapMagicMcpSessionsGetOutputMagicMcpServerEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapMagicMcpSessionsGetOutputMagicMcpServerProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -102,9 +439,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsGetOutputMagicMcpEndpoint status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_sessions/list.py index f7c00a1d..eeb48456 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_sessions/list.py @@ -9,12 +9,122 @@ class MagicMcpSessionsListOutputItemsMagicMcpServerEndpoints: alias: str url: str @dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema] = None + output_schema: Optional[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes]] = None +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class MagicMcpSessionsListOutputItemsMagicMcpServerProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: MagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider + deployment: MagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod] = None + auth_credentials: Optional[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials] = None + config: Optional[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig] = None + auth_config: Optional[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class MagicMcpSessionsListOutputItemsMagicMcpServer: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[MagicMcpSessionsListOutputItemsMagicMcpServerEndpoints] + providers: List[MagicMcpSessionsListOutputItemsMagicMcpServerProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -32,9 +142,6 @@ class MagicMcpSessionsListOutputItemsMagicMcpEndpoint: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -76,6 +183,234 @@ def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerEndpoints, return value return dataclasses.asdict(value) +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + return MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapMagicMcpSessionsListOutputItemsMagicMcpServerProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServerProviders: + return MagicMcpSessionsListOutputItemsMagicMcpServerProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[MagicMcpSessionsListOutputItemsMagicMcpServerProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapMagicMcpSessionsListOutputItemsMagicMcpServer: @staticmethod def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpServer: @@ -84,8 +419,10 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpSe id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapMagicMcpSessionsListOutputItemsMagicMcpServerEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapMagicMcpSessionsListOutputItemsMagicMcpServerProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -110,9 +447,6 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpSessionsListOutputItemsMagicMcpEn status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/__init__.py index b623fbdc..01f9b497 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/__init__.py @@ -1,12 +1,16 @@ +from .agents import * +from .assistants import * from .callbacks import * from .consumer_surfaces import * from .consumers import * +from .conversations import * from .custom_providers import * -from .file_links import * +from .documents import * from .files import * from .identities import * from .identity_actors import * from .instance import * +from .integrations import * from .magic_mcp_endpoints import * from .magic_mcp_groups import * from .magic_mcp_servers import * @@ -24,4 +28,6 @@ from .publishers import * from .session_templates import * from .sessions import * +from .skills import * +from .stores import * from .tool_calls import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/__init__.py new file mode 100644 index 00000000..b677ea98 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .instances import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/get.py new file mode 100644 index 00000000..e71d10b2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/get.py @@ -0,0 +1,48 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceAgentsGetOutput: + object: str + id: str + type: str + status: str + name: str + slug: str + actor_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceAgentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsGetOutput: + return ManagementInstanceAgentsGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + metadata=data.get('metadata'), + actor_id=data.get('actor_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/get.py new file mode 100644 index 00000000..95504f78 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/get.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceAgentsInstancesGetOutputAgentClient: + object: str + id: str + type: str + name: str + created_at: datetime + updated_at: datetime + last_connected_at: Optional[datetime] = None +@dataclass +class ManagementInstanceAgentsInstancesGetOutput: + object: str + id: str + type: str + name: str + agent_id: str + created_at: datetime + updated_at: datetime + version: Optional[str] = None + description: Optional[str] = None + agent_client: Optional[ManagementInstanceAgentsInstancesGetOutputAgentClient] = None + last_connected_at: Optional[datetime] = None + + +class mapManagementInstanceAgentsInstancesGetOutputAgentClient: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsInstancesGetOutputAgentClient: + return ManagementInstanceAgentsInstancesGetOutputAgentClient( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsInstancesGetOutputAgentClient, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAgentsInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsInstancesGetOutput: + return ManagementInstanceAgentsInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + version=data.get('version'), + description=data.get('description'), + agent_id=data.get('agent_id'), + agent_client=mapManagementInstanceAgentsInstancesGetOutputAgentClient.from_dict(data.get('agent_client')) if data.get('agent_client') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/list.py new file mode 100644 index 00000000..47505101 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/instances/list.py @@ -0,0 +1,163 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceAgentsInstancesListOutputItemsAgentClient: + object: str + id: str + type: str + name: str + created_at: datetime + updated_at: datetime + last_connected_at: Optional[datetime] = None +@dataclass +class ManagementInstanceAgentsInstancesListOutputItems: + object: str + id: str + type: str + name: str + agent_id: str + created_at: datetime + updated_at: datetime + version: Optional[str] = None + description: Optional[str] = None + agent_client: Optional[ManagementInstanceAgentsInstancesListOutputItemsAgentClient] = None + last_connected_at: Optional[datetime] = None +@dataclass +class ManagementInstanceAgentsInstancesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceAgentsInstancesListOutput: + items: List[ManagementInstanceAgentsInstancesListOutputItems] + pagination: ManagementInstanceAgentsInstancesListOutputPagination + + +class mapManagementInstanceAgentsInstancesListOutputItemsAgentClient: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsInstancesListOutputItemsAgentClient: + return ManagementInstanceAgentsInstancesListOutputItemsAgentClient( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsInstancesListOutputItemsAgentClient, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAgentsInstancesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsInstancesListOutputItems: + return ManagementInstanceAgentsInstancesListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + name=data.get('name'), + version=data.get('version'), + description=data.get('description'), + agent_id=data.get('agent_id'), + agent_client=mapManagementInstanceAgentsInstancesListOutputItemsAgentClient.from_dict(data.get('agent_client')) if data.get('agent_client') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + last_connected_at=datetime.fromisoformat(data.get('last_connected_at').replace('Z', '+00:00')) if data.get('last_connected_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsInstancesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAgentsInstancesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsInstancesListOutputPagination: + return ManagementInstanceAgentsInstancesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsInstancesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAgentsInstancesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsInstancesListOutput: + return ManagementInstanceAgentsInstancesListOutput( + items=[mapManagementInstanceAgentsInstancesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceAgentsInstancesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsInstancesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceAgentsInstancesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceAgentsInstancesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceAgentsInstancesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + agent_client_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceAgentsInstancesListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceAgentsInstancesListQueryUpdatedAt] = None + + +class mapManagementInstanceAgentsInstancesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsInstancesListQuery: + return ManagementInstanceAgentsInstancesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + type=data.get('type'), + id=data.get('id'), + agent_client_id=data.get('agent_client_id'), + created_at=mapManagementInstanceAgentsInstancesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceAgentsInstancesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsInstancesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/list.py new file mode 100644 index 00000000..45a49665 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/agents/list.py @@ -0,0 +1,137 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceAgentsListOutputItems: + object: str + id: str + type: str + status: str + name: str + slug: str + actor_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceAgentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceAgentsListOutput: + items: List[ManagementInstanceAgentsListOutputItems] + pagination: ManagementInstanceAgentsListOutputPagination + + +class mapManagementInstanceAgentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsListOutputItems: + return ManagementInstanceAgentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + metadata=data.get('metadata'), + actor_id=data.get('actor_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAgentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsListOutputPagination: + return ManagementInstanceAgentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAgentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsListOutput: + return ManagementInstanceAgentsListOutput( + items=[mapManagementInstanceAgentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceAgentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceAgentsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceAgentsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceAgentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceAgentsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceAgentsListQueryUpdatedAt] = None + + +class mapManagementInstanceAgentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAgentsListQuery: + return ManagementInstanceAgentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + type=data.get('type'), + id=data.get('id'), + created_at=mapManagementInstanceAgentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceAgentsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAgentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/get.py new file mode 100644 index 00000000..e881c9fd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/get.py @@ -0,0 +1,152 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceAssistantsGetOutputDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceAssistantsGetOutputDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceAssistantsGetOutputDefaultModelProvider +@dataclass +class ManagementInstanceAssistantsGetOutputAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceAssistantsGetOutputAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceAssistantsGetOutputAvailableModelsProvider +@dataclass +class ManagementInstanceAssistantsGetOutput: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ManagementInstanceAssistantsGetOutputAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ManagementInstanceAssistantsGetOutputDefaultModel] = None + + +class mapManagementInstanceAssistantsGetOutputDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsGetOutputDefaultModelProvider: + return ManagementInstanceAssistantsGetOutputDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsGetOutputDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsGetOutputDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsGetOutputDefaultModel: + return ManagementInstanceAssistantsGetOutputDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceAssistantsGetOutputDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsGetOutputDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsGetOutputAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsGetOutputAvailableModelsProvider: + return ManagementInstanceAssistantsGetOutputAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsGetOutputAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsGetOutputAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsGetOutputAvailableModels: + return ManagementInstanceAssistantsGetOutputAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceAssistantsGetOutputAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsGetOutputAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsGetOutput: + return ManagementInstanceAssistantsGetOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapManagementInstanceAssistantsGetOutputDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapManagementInstanceAssistantsGetOutputAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/list.py new file mode 100644 index 00000000..8aea1228 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/assistants/list.py @@ -0,0 +1,221 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceAssistantsListOutputItemsDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceAssistantsListOutputItemsDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceAssistantsListOutputItemsDefaultModelProvider +@dataclass +class ManagementInstanceAssistantsListOutputItemsAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceAssistantsListOutputItemsAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceAssistantsListOutputItemsAvailableModelsProvider +@dataclass +class ManagementInstanceAssistantsListOutputItems: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ManagementInstanceAssistantsListOutputItemsAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ManagementInstanceAssistantsListOutputItemsDefaultModel] = None +@dataclass +class ManagementInstanceAssistantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceAssistantsListOutput: + items: List[ManagementInstanceAssistantsListOutputItems] + pagination: ManagementInstanceAssistantsListOutputPagination + + +class mapManagementInstanceAssistantsListOutputItemsDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsListOutputItemsDefaultModelProvider: + return ManagementInstanceAssistantsListOutputItemsDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsListOutputItemsDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsListOutputItemsDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsListOutputItemsDefaultModel: + return ManagementInstanceAssistantsListOutputItemsDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceAssistantsListOutputItemsDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsListOutputItemsDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsListOutputItemsAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsListOutputItemsAvailableModelsProvider: + return ManagementInstanceAssistantsListOutputItemsAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsListOutputItemsAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsListOutputItemsAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsListOutputItemsAvailableModels: + return ManagementInstanceAssistantsListOutputItemsAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceAssistantsListOutputItemsAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsListOutputItemsAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsListOutputItems: + return ManagementInstanceAssistantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapManagementInstanceAssistantsListOutputItemsDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapManagementInstanceAssistantsListOutputItemsAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsListOutputPagination: + return ManagementInstanceAssistantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceAssistantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsListOutput: + return ManagementInstanceAssistantsListOutput( + items=[mapManagementInstanceAssistantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceAssistantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceAssistantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceAssistantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceAssistantsListQuery: + return ManagementInstanceAssistantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceAssistantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/callbacks/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/callbacks/instances/__init__.py index 6ad40c80..26672d14 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/callbacks/instances/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/callbacks/instances/__init__.py @@ -1,3 +1,4 @@ from .create import * from .delete import * +from .get import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/callbacks/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/callbacks/instances/get.py new file mode 100644 index 00000000..80320814 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/callbacks/instances/get.py @@ -0,0 +1,258 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceCallbacksInstancesGetOutputDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceCallbacksInstancesGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceCallbacksInstancesGetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTrigger: + object: str + id: str + key: str + name: str + invocation: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema] = None + output_schema: Optional[ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema] = None +@dataclass +class ManagementInstanceCallbacksInstancesGetOutputTriggers: + object: str + id: str + source: str + poll_interval_seconds: Optional[float] = None + next_poll_at: Optional[datetime] = None + last_polled_at: Optional[datetime] = None + webhook_url: Optional[str] = None + is_webhook_registered: Optional[bool] = None + provider_trigger: Optional[ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTrigger] = None +@dataclass +class ManagementInstanceCallbacksInstancesGetOutput: + object: str + id: str + status: str + deployment: ManagementInstanceCallbacksInstancesGetOutputDeployment + config: ManagementInstanceCallbacksInstancesGetOutputConfig + triggers: List[ManagementInstanceCallbacksInstancesGetOutputTriggers] + created_at: datetime + updated_at: datetime + auth_config: Optional[ManagementInstanceCallbacksInstancesGetOutputAuthConfig] = None + + +class mapManagementInstanceCallbacksInstancesGetOutputDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCallbacksInstancesGetOutputDeployment: + return ManagementInstanceCallbacksInstancesGetOutputDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCallbacksInstancesGetOutputDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceCallbacksInstancesGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCallbacksInstancesGetOutputConfig: + return ManagementInstanceCallbacksInstancesGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCallbacksInstancesGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceCallbacksInstancesGetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCallbacksInstancesGetOutputAuthConfig: + return ManagementInstanceCallbacksInstancesGetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCallbacksInstancesGetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema: + return ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema: + return ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceCallbacksInstancesGetOutputTriggersProviderTrigger: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTrigger: + return ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTrigger( + object=data.get('object'), + id=data.get('id'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + input_schema=mapManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceCallbacksInstancesGetOutputTriggersProviderTriggerOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + invocation=data.get('invocation'), + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCallbacksInstancesGetOutputTriggersProviderTrigger, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceCallbacksInstancesGetOutputTriggers: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCallbacksInstancesGetOutputTriggers: + return ManagementInstanceCallbacksInstancesGetOutputTriggers( + object=data.get('object'), + id=data.get('id'), + source=data.get('source'), + poll_interval_seconds=data.get('poll_interval_seconds'), + next_poll_at=datetime.fromisoformat(data.get('next_poll_at').replace('Z', '+00:00')) if data.get('next_poll_at') else None, + last_polled_at=datetime.fromisoformat(data.get('last_polled_at').replace('Z', '+00:00')) if data.get('last_polled_at') else None, + webhook_url=data.get('webhook_url'), + is_webhook_registered=data.get('is_webhook_registered'), + provider_trigger=mapManagementInstanceCallbacksInstancesGetOutputTriggersProviderTrigger.from_dict(data.get('provider_trigger')) if data.get('provider_trigger') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCallbacksInstancesGetOutputTriggers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceCallbacksInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCallbacksInstancesGetOutput: + return ManagementInstanceCallbacksInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + deployment=mapManagementInstanceCallbacksInstancesGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapManagementInstanceCallbacksInstancesGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceCallbacksInstancesGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + triggers=[mapManagementInstanceCallbacksInstancesGetOutputTriggers.from_dict(item) for item in data.get('triggers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCallbacksInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/get.py index d1c541b8..b8531740 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/get.py @@ -3,6 +3,13 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceConsumerSurfacesGetOutputSkillConfiguration: + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ManagementInstanceConsumerSurfacesGetOutputAuth: object: str @@ -14,12 +21,34 @@ class ManagementInstanceConsumerSurfacesGetOutput: id: str status: str name: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ManagementInstanceConsumerSurfacesGetOutputSkillConfiguration auth: ManagementInstanceConsumerSurfacesGetOutputAuth created_at: datetime updated_at: datetime description: Optional[str] = None +class mapManagementInstanceConsumerSurfacesGetOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesGetOutputSkillConfiguration: + return ManagementInstanceConsumerSurfacesGetOutputSkillConfiguration( + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesGetOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceConsumerSurfacesGetOutputAuth: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesGetOutputAuth: @@ -46,6 +75,9 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesGetOutp status=data.get('status'), name=data.get('name'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapManagementInstanceConsumerSurfacesGetOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapManagementInstanceConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/list.py index bc533237..bc410d58 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/list.py @@ -3,6 +3,13 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceConsumerSurfacesListOutputItemsSkillConfiguration: + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ManagementInstanceConsumerSurfacesListOutputItemsAuth: object: str @@ -14,6 +21,9 @@ class ManagementInstanceConsumerSurfacesListOutputItems: id: str status: str name: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ManagementInstanceConsumerSurfacesListOutputItemsSkillConfiguration auth: ManagementInstanceConsumerSurfacesListOutputItemsAuth created_at: datetime updated_at: datetime @@ -28,6 +38,25 @@ class ManagementInstanceConsumerSurfacesListOutput: pagination: ManagementInstanceConsumerSurfacesListOutputPagination +class mapManagementInstanceConsumerSurfacesListOutputItemsSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutputItemsSkillConfiguration: + return ManagementInstanceConsumerSurfacesListOutputItemsSkillConfiguration( + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutputItemsSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceConsumerSurfacesListOutputItemsAuth: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutputItemsAuth: @@ -54,6 +83,9 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOut status=data.get('status'), name=data.get('name'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapManagementInstanceConsumerSurfacesListOutputItemsSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapManagementInstanceConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/create.py index 579fff17..344a4b2e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/create.py @@ -9,6 +9,7 @@ class ManagementInstanceConsumersCreateOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersCreateOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get.py index d43261e5..81a34a54 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get.py @@ -9,6 +9,7 @@ class ManagementInstanceConsumersGetOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersGetOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get_member_consumer.py index 990c9559..7a0eddbd 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get_member_consumer.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get_member_consumer.py @@ -3,43 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class ManagementInstanceConsumersGetMemberConsumerOutputProfileGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class ManagementInstanceConsumersGetMemberConsumerOutputProfileGroups: - object: str - group: ManagementInstanceConsumersGetMemberConsumerOutputProfileGroupsGroup - assigned_via: str -@dataclass -class ManagementInstanceConsumersGetMemberConsumerOutputProfile: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - status: str - created_at: datetime - updated_at: datetime - groups: Optional[List[ManagementInstanceConsumersGetMemberConsumerOutputProfileGroups]] = None @dataclass class ManagementInstanceConsumersGetMemberConsumerOutput: object: str id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime - profile: ManagementInstanceConsumersGetMemberConsumerOutputProfile + profile: Dict[str, Any] class mapManagementInstanceConsumersGetMemberConsumerOutput: @@ -50,9 +23,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersGetMemberConsu id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - profile=mapManagementInstanceConsumersGetMemberConsumerOutputProfile.from_dict(data.get('profile')) if data.get('profile') else None + profile=data.get('profile') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/list.py index 427bb9c5..4e2f11a5 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/list.py @@ -9,6 +9,7 @@ class ManagementInstanceConsumersListOutputItems: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @dataclass @@ -29,6 +30,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersListOutputItem id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/get.py index 265c021b..9ccea243 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/get.py @@ -33,46 +33,6 @@ class ManagementInstanceConsumersProfilesGetOutput: groups: Optional[List[ManagementInstanceConsumersProfilesGetOutputGroups]] = None -class mapManagementInstanceConsumersProfilesGetOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesGetOutputGroupsGroup: - return ManagementInstanceConsumersProfilesGetOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstanceConsumersProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapManagementInstanceConsumersProfilesGetOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesGetOutputGroups: - return ManagementInstanceConsumersProfilesGetOutputGroups( - object=data.get('object'), - group=mapManagementInstanceConsumersProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ManagementInstanceConsumersProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapManagementInstanceConsumersProfilesGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesGetOutput: @@ -82,11 +42,11 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesGetOut name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - groups=[mapManagementInstanceConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), status=data.get('status'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapManagementInstanceConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/list.py index 26752568..ca0e26c0 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/list.py @@ -3,108 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class ManagementInstanceConsumersProfilesListOutputItemsGroups: - object: str - group: ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup - assigned_via: str -@dataclass -class ManagementInstanceConsumersProfilesListOutputItems: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - status: str - created_at: datetime - updated_at: datetime - groups: Optional[List[ManagementInstanceConsumersProfilesListOutputItemsGroups]] = None @dataclass class ManagementInstanceConsumersProfilesListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class ManagementInstanceConsumersProfilesListOutput: - items: List[ManagementInstanceConsumersProfilesListOutputItems] + items: List[Dict[str, Any]] pagination: ManagementInstanceConsumersProfilesListOutputPagination -class mapManagementInstanceConsumersProfilesListOutputItemsGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup: - return ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapManagementInstanceConsumersProfilesListOutputItemsGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputItemsGroups: - return ManagementInstanceConsumersProfilesListOutputItemsGroups( - object=data.get('object'), - group=mapManagementInstanceConsumersProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapManagementInstanceConsumersProfilesListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputItems: - return ManagementInstanceConsumersProfilesListOutputItems( - object=data.get('object'), - id=data.get('id'), - name=data.get('name'), - email=data.get('email'), - image_url=data.get('image_url'), - groups=[mapManagementInstanceConsumersProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], - consumer_id=data.get('consumer_id'), - status=data.get('status'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapManagementInstanceConsumersProfilesListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputPagination: @@ -125,7 +33,7 @@ class mapManagementInstanceConsumersProfilesListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutput: return ManagementInstanceConsumersProfilesListOutput( - items=[mapManagementInstanceConsumersProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapManagementInstanceConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/update.py index b7b29b9d..8604500f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/update.py @@ -9,6 +9,7 @@ class ManagementInstanceConsumersUpdateOutput: id: str name: str email: str + image_url: str created_at: datetime updated_at: datetime @@ -21,6 +22,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersUpdateOutput: id=data.get('id'), name=data.get('name'), email=data.get('email'), + image_url=data.get('image_url'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/__init__.py new file mode 100644 index 00000000..e1927704 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .get import * +from .list import * +from .messages import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/create.py new file mode 100644 index 00000000..9d847a84 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/create.py @@ -0,0 +1,335 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceConversationsCreateOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsCreateOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActor] = None + consumer: Optional[ManagementInstanceConversationsCreateOutputCreatedByActorConsumer] = None +@dataclass +class ManagementInstanceConversationsCreateOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsCreateOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsCreateOutputAssistantDefaultModelProvider +@dataclass +class ManagementInstanceConversationsCreateOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsCreateOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsCreateOutputAssistantAvailableModelsProvider +@dataclass +class ManagementInstanceConversationsCreateOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ManagementInstanceConversationsCreateOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ManagementInstanceConversationsCreateOutputAssistantDefaultModel] = None +@dataclass +class ManagementInstanceConversationsCreateOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: ManagementInstanceConversationsCreateOutputCreatedByActor + root_message_id: str + assistant: ManagementInstanceConversationsCreateOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams: + return ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActor: + return ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputCreatedByActorConsumer: + return ManagementInstanceConversationsCreateOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputCreatedByActor: + return ManagementInstanceConversationsCreateOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceConversationsCreateOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceConversationsCreateOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputAssistantDefaultModelProvider: + return ManagementInstanceConversationsCreateOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputAssistantDefaultModel: + return ManagementInstanceConversationsCreateOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsCreateOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputAssistantAvailableModelsProvider: + return ManagementInstanceConversationsCreateOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputAssistantAvailableModels: + return ManagementInstanceConversationsCreateOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsCreateOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutputAssistant: + return ManagementInstanceConversationsCreateOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapManagementInstanceConversationsCreateOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapManagementInstanceConversationsCreateOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateOutput: + return ManagementInstanceConversationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapManagementInstanceConversationsCreateOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapManagementInstanceConversationsCreateOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConversationsCreateBody: + assistant_id: str + title: Optional[str] = None + + +class mapManagementInstanceConversationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsCreateBody: + return ManagementInstanceConversationsCreateBody( + assistant_id=data.get('assistant_id'), + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/get.py new file mode 100644 index 00000000..0ef1b2b2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/get.py @@ -0,0 +1,312 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceConversationsGetOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsGetOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActor] = None + consumer: Optional[ManagementInstanceConversationsGetOutputCreatedByActorConsumer] = None +@dataclass +class ManagementInstanceConversationsGetOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsGetOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsGetOutputAssistantDefaultModelProvider +@dataclass +class ManagementInstanceConversationsGetOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsGetOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsGetOutputAssistantAvailableModelsProvider +@dataclass +class ManagementInstanceConversationsGetOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ManagementInstanceConversationsGetOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ManagementInstanceConversationsGetOutputAssistantDefaultModel] = None +@dataclass +class ManagementInstanceConversationsGetOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: ManagementInstanceConversationsGetOutputCreatedByActor + root_message_id: str + assistant: ManagementInstanceConversationsGetOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapManagementInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams: + return ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActor: + return ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceConversationsGetOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputCreatedByActorConsumer: + return ManagementInstanceConversationsGetOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputCreatedByActor: + return ManagementInstanceConversationsGetOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceConversationsGetOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceConversationsGetOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputAssistantDefaultModelProvider: + return ManagementInstanceConversationsGetOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputAssistantDefaultModel: + return ManagementInstanceConversationsGetOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsGetOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputAssistantAvailableModelsProvider: + return ManagementInstanceConversationsGetOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputAssistantAvailableModels: + return ManagementInstanceConversationsGetOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsGetOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutputAssistant: + return ManagementInstanceConversationsGetOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapManagementInstanceConversationsGetOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapManagementInstanceConversationsGetOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsGetOutput: + return ManagementInstanceConversationsGetOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapManagementInstanceConversationsGetOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapManagementInstanceConversationsGetOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/list.py new file mode 100644 index 00000000..5c61181d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/list.py @@ -0,0 +1,383 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceConversationsListOutputItemsCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsListOutputItemsCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActor] = None + consumer: Optional[ManagementInstanceConversationsListOutputItemsCreatedByActorConsumer] = None +@dataclass +class ManagementInstanceConversationsListOutputItemsAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsListOutputItemsAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsListOutputItemsAssistantDefaultModelProvider +@dataclass +class ManagementInstanceConversationsListOutputItemsAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsListOutputItemsAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsListOutputItemsAssistantAvailableModelsProvider +@dataclass +class ManagementInstanceConversationsListOutputItemsAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ManagementInstanceConversationsListOutputItemsAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ManagementInstanceConversationsListOutputItemsAssistantDefaultModel] = None +@dataclass +class ManagementInstanceConversationsListOutputItems: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: ManagementInstanceConversationsListOutputItemsCreatedByActor + root_message_id: str + assistant: ManagementInstanceConversationsListOutputItemsAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None +@dataclass +class ManagementInstanceConversationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceConversationsListOutput: + items: List[ManagementInstanceConversationsListOutputItems] + pagination: ManagementInstanceConversationsListOutputPagination + + +class mapManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams: + return ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActor: + return ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItemsCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsCreatedByActorConsumer: + return ManagementInstanceConversationsListOutputItemsCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItemsCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsCreatedByActor: + return ManagementInstanceConversationsListOutputItemsCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceConversationsListOutputItemsCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceConversationsListOutputItemsCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItemsAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsAssistantDefaultModelProvider: + return ManagementInstanceConversationsListOutputItemsAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItemsAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsAssistantDefaultModel: + return ManagementInstanceConversationsListOutputItemsAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsListOutputItemsAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItemsAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsAssistantAvailableModelsProvider: + return ManagementInstanceConversationsListOutputItemsAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItemsAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsAssistantAvailableModels: + return ManagementInstanceConversationsListOutputItemsAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsListOutputItemsAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItemsAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItemsAssistant: + return ManagementInstanceConversationsListOutputItemsAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapManagementInstanceConversationsListOutputItemsAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapManagementInstanceConversationsListOutputItemsAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItemsAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputItems: + return ManagementInstanceConversationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapManagementInstanceConversationsListOutputItemsCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapManagementInstanceConversationsListOutputItemsAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutputPagination: + return ManagementInstanceConversationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListOutput: + return ManagementInstanceConversationsListOutput( + items=[mapManagementInstanceConversationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceConversationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConversationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + assistant_id: Optional[Union[str, List[str]]] = None + + +class mapManagementInstanceConversationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsListQuery: + return ManagementInstanceConversationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + assistant_id=data.get('assistant_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/create.py new file mode 100644 index 00000000..f64db297 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/create.py @@ -0,0 +1,291 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConversationsMessagesCreateOutputModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsMessagesCreateOutputModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsMessagesCreateOutputModelProvider +@dataclass +class ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceConversationsMessagesCreateOutputRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsMessagesCreateOutputRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor] = None + consumer: Optional[ManagementInstanceConversationsMessagesCreateOutputRequestActorConsumer] = None +@dataclass +class ManagementInstanceConversationsMessagesCreateOutputRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[ManagementInstanceConversationsMessagesCreateOutputRequestActor] = None +@dataclass +class ManagementInstanceConversationsMessagesCreateOutput: + object: str + id: str + conversation_item_id: str + type: str + request: ManagementInstanceConversationsMessagesCreateOutputRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[ManagementInstanceConversationsMessagesCreateOutputModel] = None + + +class mapManagementInstanceConversationsMessagesCreateOutputModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateOutputModelProvider: + return ManagementInstanceConversationsMessagesCreateOutputModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateOutputModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesCreateOutputModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateOutputModel: + return ManagementInstanceConversationsMessagesCreateOutputModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsMessagesCreateOutputModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateOutputModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams: + return ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor: + return ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesCreateOutputRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateOutputRequestActorConsumer: + return ManagementInstanceConversationsMessagesCreateOutputRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateOutputRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesCreateOutputRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateOutputRequestActor: + return ManagementInstanceConversationsMessagesCreateOutputRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceConversationsMessagesCreateOutputRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceConversationsMessagesCreateOutputRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateOutputRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesCreateOutputRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateOutputRequest: + return ManagementInstanceConversationsMessagesCreateOutputRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapManagementInstanceConversationsMessagesCreateOutputRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateOutputRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateOutput: + return ManagementInstanceConversationsMessagesCreateOutput( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapManagementInstanceConversationsMessagesCreateOutputModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapManagementInstanceConversationsMessagesCreateOutputRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConversationsMessagesCreateBodyMessage: + parts: List[Dict[str, Any]] +@dataclass +class ManagementInstanceConversationsMessagesCreateBody: + message: ManagementInstanceConversationsMessagesCreateBodyMessage + parent_message_id: Optional[str] = None + model_id: Optional[str] = None + + +class mapManagementInstanceConversationsMessagesCreateBodyMessage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateBodyMessage: + return ManagementInstanceConversationsMessagesCreateBodyMessage( + parts=data.get('parts', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateBodyMessage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesCreateBody: + return ManagementInstanceConversationsMessagesCreateBody( + message=mapManagementInstanceConversationsMessagesCreateBodyMessage.from_dict(data.get('message')) if data.get('message') else None, + parent_message_id=data.get('parent_message_id'), + model_id=data.get('model_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/get.py new file mode 100644 index 00000000..561d632c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/get.py @@ -0,0 +1,248 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConversationsMessagesGetOutputModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsMessagesGetOutputModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsMessagesGetOutputModelProvider +@dataclass +class ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceConversationsMessagesGetOutputRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsMessagesGetOutputRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActor] = None + consumer: Optional[ManagementInstanceConversationsMessagesGetOutputRequestActorConsumer] = None +@dataclass +class ManagementInstanceConversationsMessagesGetOutputRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[ManagementInstanceConversationsMessagesGetOutputRequestActor] = None +@dataclass +class ManagementInstanceConversationsMessagesGetOutput: + object: str + id: str + conversation_item_id: str + type: str + request: ManagementInstanceConversationsMessagesGetOutputRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[ManagementInstanceConversationsMessagesGetOutputModel] = None + + +class mapManagementInstanceConversationsMessagesGetOutputModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesGetOutputModelProvider: + return ManagementInstanceConversationsMessagesGetOutputModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesGetOutputModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesGetOutputModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesGetOutputModel: + return ManagementInstanceConversationsMessagesGetOutputModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsMessagesGetOutputModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesGetOutputModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams: + return ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActor: + return ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesGetOutputRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesGetOutputRequestActorConsumer: + return ManagementInstanceConversationsMessagesGetOutputRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesGetOutputRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesGetOutputRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesGetOutputRequestActor: + return ManagementInstanceConversationsMessagesGetOutputRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceConversationsMessagesGetOutputRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceConversationsMessagesGetOutputRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesGetOutputRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesGetOutputRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesGetOutputRequest: + return ManagementInstanceConversationsMessagesGetOutputRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapManagementInstanceConversationsMessagesGetOutputRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesGetOutputRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesGetOutput: + return ManagementInstanceConversationsMessagesGetOutput( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapManagementInstanceConversationsMessagesGetOutputModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapManagementInstanceConversationsMessagesGetOutputRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/list.py new file mode 100644 index 00000000..054e1dfe --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/messages/list.py @@ -0,0 +1,317 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConversationsMessagesListOutputItemsModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsMessagesListOutputItemsModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsMessagesListOutputItemsModelProvider +@dataclass +class ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceConversationsMessagesListOutputItemsRequestActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsMessagesListOutputItemsRequestActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor] = None + consumer: Optional[ManagementInstanceConversationsMessagesListOutputItemsRequestActorConsumer] = None +@dataclass +class ManagementInstanceConversationsMessagesListOutputItemsRequest: + object: str + id: str + status: str + created_at: datetime + updated_at: datetime + actor: Optional[ManagementInstanceConversationsMessagesListOutputItemsRequestActor] = None +@dataclass +class ManagementInstanceConversationsMessagesListOutputItems: + object: str + id: str + conversation_item_id: str + type: str + request: ManagementInstanceConversationsMessagesListOutputItemsRequest + items: List[Dict[str, Any]] + created_at: datetime + assistant_id: Optional[str] = None + parent_message_id: Optional[str] = None + model: Optional[ManagementInstanceConversationsMessagesListOutputItemsModel] = None +@dataclass +class ManagementInstanceConversationsMessagesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceConversationsMessagesListOutput: + items: List[ManagementInstanceConversationsMessagesListOutputItems] + pagination: ManagementInstanceConversationsMessagesListOutputPagination + + +class mapManagementInstanceConversationsMessagesListOutputItemsModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputItemsModelProvider: + return ManagementInstanceConversationsMessagesListOutputItemsModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputItemsModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutputItemsModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputItemsModel: + return ManagementInstanceConversationsMessagesListOutputItemsModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsMessagesListOutputItemsModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputItemsModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams: + return ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor: + return ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutputItemsRequestActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputItemsRequestActorConsumer: + return ManagementInstanceConversationsMessagesListOutputItemsRequestActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputItemsRequestActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutputItemsRequestActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputItemsRequestActor: + return ManagementInstanceConversationsMessagesListOutputItemsRequestActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceConversationsMessagesListOutputItemsRequestActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceConversationsMessagesListOutputItemsRequestActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputItemsRequestActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutputItemsRequest: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputItemsRequest: + return ManagementInstanceConversationsMessagesListOutputItemsRequest( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + actor=mapManagementInstanceConversationsMessagesListOutputItemsRequestActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputItemsRequest, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputItems: + return ManagementInstanceConversationsMessagesListOutputItems( + object=data.get('object'), + id=data.get('id'), + conversation_item_id=data.get('conversation_item_id'), + type=data.get('type'), + assistant_id=data.get('assistant_id'), + parent_message_id=data.get('parent_message_id'), + model=mapManagementInstanceConversationsMessagesListOutputItemsModel.from_dict(data.get('model')) if data.get('model') else None, + request=mapManagementInstanceConversationsMessagesListOutputItemsRequest.from_dict(data.get('request')) if data.get('request') else None, + items=data.get('items', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutputPagination: + return ManagementInstanceConversationsMessagesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsMessagesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListOutput: + return ManagementInstanceConversationsMessagesListOutput( + items=[mapManagementInstanceConversationsMessagesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceConversationsMessagesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConversationsMessagesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceConversationsMessagesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsMessagesListQuery: + return ManagementInstanceConversationsMessagesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsMessagesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/update.py new file mode 100644 index 00000000..d0e16641 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/conversations/update.py @@ -0,0 +1,333 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceConversationsUpdateOutputCreatedByActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConversationsUpdateOutputCreatedByActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActor] = None + consumer: Optional[ManagementInstanceConversationsUpdateOutputCreatedByActorConsumer] = None +@dataclass +class ManagementInstanceConversationsUpdateOutputAssistantDefaultModelProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsUpdateOutputAssistantDefaultModel: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsUpdateOutputAssistantDefaultModelProvider +@dataclass +class ManagementInstanceConversationsUpdateOutputAssistantAvailableModelsProvider: + object: str + id: str + slug: str + name: str + image_url: str +@dataclass +class ManagementInstanceConversationsUpdateOutputAssistantAvailableModels: + object: str + id: str + slug: str + name: str + context_window: float + provider: ManagementInstanceConversationsUpdateOutputAssistantAvailableModelsProvider +@dataclass +class ManagementInstanceConversationsUpdateOutputAssistant: + object: str + id: str + slug: str + name: str + owner_type: str + available_models: List[ManagementInstanceConversationsUpdateOutputAssistantAvailableModels] + created_at: datetime + updated_at: datetime + organization_id: Optional[str] = None + default_model: Optional[ManagementInstanceConversationsUpdateOutputAssistantDefaultModel] = None +@dataclass +class ManagementInstanceConversationsUpdateOutput: + object: str + id: str + assistant_id: str + instance_id: str + organization_id: str + created_by_actor: ManagementInstanceConversationsUpdateOutputCreatedByActor + root_message_id: str + assistant: ManagementInstanceConversationsUpdateOutputAssistant + created_at: datetime + updated_at: datetime + title: Optional[str] = None + + +class mapManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams: + return ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActor: + return ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutputCreatedByActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputCreatedByActorConsumer: + return ManagementInstanceConversationsUpdateOutputCreatedByActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputCreatedByActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutputCreatedByActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputCreatedByActor: + return ManagementInstanceConversationsUpdateOutputCreatedByActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceConversationsUpdateOutputCreatedByActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceConversationsUpdateOutputCreatedByActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputCreatedByActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutputAssistantDefaultModelProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputAssistantDefaultModelProvider: + return ManagementInstanceConversationsUpdateOutputAssistantDefaultModelProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputAssistantDefaultModelProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutputAssistantDefaultModel: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputAssistantDefaultModel: + return ManagementInstanceConversationsUpdateOutputAssistantDefaultModel( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsUpdateOutputAssistantDefaultModelProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputAssistantDefaultModel, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutputAssistantAvailableModelsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputAssistantAvailableModelsProvider: + return ManagementInstanceConversationsUpdateOutputAssistantAvailableModelsProvider( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputAssistantAvailableModelsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutputAssistantAvailableModels: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputAssistantAvailableModels: + return ManagementInstanceConversationsUpdateOutputAssistantAvailableModels( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + context_window=data.get('context_window'), + provider=mapManagementInstanceConversationsUpdateOutputAssistantAvailableModelsProvider.from_dict(data.get('provider')) if data.get('provider') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputAssistantAvailableModels, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutputAssistant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutputAssistant: + return ManagementInstanceConversationsUpdateOutputAssistant( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + owner_type=data.get('owner_type'), + organization_id=data.get('organization_id'), + default_model=mapManagementInstanceConversationsUpdateOutputAssistantDefaultModel.from_dict(data.get('default_model')) if data.get('default_model') else None, + available_models=[mapManagementInstanceConversationsUpdateOutputAssistantAvailableModels.from_dict(item) for item in data.get('available_models', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutputAssistant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConversationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateOutput: + return ManagementInstanceConversationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + title=data.get('title'), + assistant_id=data.get('assistant_id'), + instance_id=data.get('instance_id'), + organization_id=data.get('organization_id'), + created_by_actor=mapManagementInstanceConversationsUpdateOutputCreatedByActor.from_dict(data.get('created_by_actor')) if data.get('created_by_actor') else None, + root_message_id=data.get('root_message_id'), + assistant=mapManagementInstanceConversationsUpdateOutputAssistant.from_dict(data.get('assistant')) if data.get('assistant') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConversationsUpdateBody: + title: Optional[str] = None + + +class mapManagementInstanceConversationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConversationsUpdateBody: + return ManagementInstanceConversationsUpdateBody( + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConversationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/__init__.py index 0d9390f8..0b79d12c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/__init__.py @@ -3,6 +3,7 @@ from .deployments import * from .environments import * from .get import * +from .get_env import * from .list import * from .update import * from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/get_env.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/get_env.py new file mode 100644 index 00000000..163cc145 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/get_env.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceCustomProvidersGetEnvOutput: + object: str + env: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceCustomProvidersGetEnvOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCustomProvidersGetEnvOutput: + return ManagementInstanceCustomProvidersGetEnvOutput( + object=data.get('object'), + env=data.get('env') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCustomProvidersGetEnvOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/versions/__init__.py index f8b85669..751514d8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/versions/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/versions/__init__.py @@ -1,3 +1,4 @@ from .create import * from .get import * +from .get_env import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/versions/get_env.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/versions/get_env.py new file mode 100644 index 00000000..5220999f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/custom_providers/versions/get_env.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceCustomProvidersVersionsGetEnvOutput: + object: str + env: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceCustomProvidersVersionsGetEnvOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceCustomProvidersVersionsGetEnvOutput: + return ManagementInstanceCustomProvidersVersionsGetEnvOutput( + object=data.get('object'), + env=data.get('env') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceCustomProvidersVersionsGetEnvOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/__init__.py new file mode 100644 index 00000000..0b172ea4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/__init__.py @@ -0,0 +1,9 @@ +from .clone import * +from .create import * +from .delete import * +from .get import * +from .list import * +from .participants import * +from .permissions import * +from .update import * +from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/clone.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/clone.py new file mode 100644 index 00000000..50aede66 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/clone.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsCloneOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsCloneOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsCloneOutputCreatedByConsumer] = None +@dataclass +class ManagementInstanceDocumentsCloneOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceDocumentsCloneOutputCreatedBy] = None + + +class mapManagementInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams: + return ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsCloneOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActor: + return ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsCloneOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCloneOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsCloneOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCloneOutputCreatedByConsumer: + return ManagementInstanceDocumentsCloneOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCloneOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsCloneOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCloneOutputCreatedBy: + return ManagementInstanceDocumentsCloneOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsCloneOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsCloneOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCloneOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsCloneOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCloneOutput: + return ManagementInstanceDocumentsCloneOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceDocumentsCloneOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCloneOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceDocumentsCloneBody: + target_document_id: Optional[str] = None + title: Optional[str] = None + + +class mapManagementInstanceDocumentsCloneBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCloneBody: + return ManagementInstanceDocumentsCloneBody( + target_document_id=data.get('target_document_id'), + title=data.get('title') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCloneBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/create.py new file mode 100644 index 00000000..7d429942 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/create.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsCreateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsCreateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsCreateOutputCreatedByConsumer] = None +@dataclass +class ManagementInstanceDocumentsCreateOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceDocumentsCreateOutputCreatedBy] = None + + +class mapManagementInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams: + return ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsCreateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActor: + return ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsCreateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCreateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsCreateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCreateOutputCreatedByConsumer: + return ManagementInstanceDocumentsCreateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCreateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsCreateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCreateOutputCreatedBy: + return ManagementInstanceDocumentsCreateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsCreateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsCreateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCreateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCreateOutput: + return ManagementInstanceDocumentsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceDocumentsCreateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceDocumentsCreateBody: + title: str + content: str + + +class mapManagementInstanceDocumentsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsCreateBody: + return ManagementInstanceDocumentsCreateBody( + title=data.get('title'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/delete.py new file mode 100644 index 00000000..72b6b958 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/delete.py @@ -0,0 +1,168 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsDeleteOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsDeleteOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsDeleteOutputCreatedByConsumer] = None +@dataclass +class ManagementInstanceDocumentsDeleteOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceDocumentsDeleteOutputCreatedBy] = None + + +class mapManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams: + return ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActor: + return ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsDeleteOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsDeleteOutputCreatedByConsumer: + return ManagementInstanceDocumentsDeleteOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsDeleteOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsDeleteOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsDeleteOutputCreatedBy: + return ManagementInstanceDocumentsDeleteOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsDeleteOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsDeleteOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsDeleteOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsDeleteOutput: + return ManagementInstanceDocumentsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceDocumentsDeleteOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/get.py new file mode 100644 index 00000000..6bf06e82 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/get.py @@ -0,0 +1,168 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsGetOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsGetOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsGetOutputCreatedByConsumer] = None +@dataclass +class ManagementInstanceDocumentsGetOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceDocumentsGetOutputCreatedBy] = None + + +class mapManagementInstanceDocumentsGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsGetOutputCreatedByOrganizationActorTeams: + return ManagementInstanceDocumentsGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsGetOutputCreatedByOrganizationActor: + return ManagementInstanceDocumentsGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsGetOutputCreatedByConsumer: + return ManagementInstanceDocumentsGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsGetOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsGetOutputCreatedBy: + return ManagementInstanceDocumentsGetOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsGetOutput: + return ManagementInstanceDocumentsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceDocumentsGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/list.py new file mode 100644 index 00000000..855e4606 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/list.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsListOutputItemsCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsListOutputItemsCreatedByConsumer] = None +@dataclass +class ManagementInstanceDocumentsListOutputItems: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceDocumentsListOutputItemsCreatedBy] = None +@dataclass +class ManagementInstanceDocumentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceDocumentsListOutput: + items: List[ManagementInstanceDocumentsListOutputItems] + pagination: ManagementInstanceDocumentsListOutputPagination + + +class mapManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams: + return ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActor: + return ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsListOutputItemsCreatedByConsumer: + return ManagementInstanceDocumentsListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsListOutputItemsCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsListOutputItemsCreatedBy: + return ManagementInstanceDocumentsListOutputItemsCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsListOutputItems: + return ManagementInstanceDocumentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceDocumentsListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsListOutputPagination: + return ManagementInstanceDocumentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsListOutput: + return ManagementInstanceDocumentsListOutput( + items=[mapManagementInstanceDocumentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceDocumentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceDocumentsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceDocumentsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceDocumentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + file_id: Optional[Union[str, List[str]]] = None + store_id: Optional[Union[str, List[str]]] = None + parent_document_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceDocumentsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceDocumentsListQueryUpdatedAt] = None + + +class mapManagementInstanceDocumentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsListQuery: + return ManagementInstanceDocumentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + file_id=data.get('file_id'), + store_id=data.get('store_id'), + parent_document_id=data.get('parent_document_id'), + created_at=mapManagementInstanceDocumentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceDocumentsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/get.py new file mode 100644 index 00000000..2b234d3e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/get.py @@ -0,0 +1,162 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsParticipantsGetOutputActorConsumer] = None +@dataclass +class ManagementInstanceDocumentsParticipantsGetOutput: + object: str + id: str + role: str + edit_count: float + actor: ManagementInstanceDocumentsParticipantsGetOutputActor + created_at: datetime + last_edited_at: Optional[datetime] = None + last_viewed_at: Optional[datetime] = None + + +class mapManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams: + return ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActor: + return ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsGetOutputActorConsumer: + return ManagementInstanceDocumentsParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsGetOutputActor: + return ManagementInstanceDocumentsParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsGetOutput: + return ManagementInstanceDocumentsParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + role=data.get('role'), + edit_count=data.get('edit_count'), + last_edited_at=datetime.fromisoformat(data.get('last_edited_at').replace('Z', '+00:00')) if data.get('last_edited_at') else None, + last_viewed_at=datetime.fromisoformat(data.get('last_viewed_at').replace('Z', '+00:00')) if data.get('last_viewed_at') else None, + actor=mapManagementInstanceDocumentsParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/list.py new file mode 100644 index 00000000..c7774b85 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/participants/list.py @@ -0,0 +1,245 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsParticipantsListOutputItemsActorConsumer] = None +@dataclass +class ManagementInstanceDocumentsParticipantsListOutputItems: + object: str + id: str + role: str + edit_count: float + actor: ManagementInstanceDocumentsParticipantsListOutputItemsActor + created_at: datetime + last_edited_at: Optional[datetime] = None + last_viewed_at: Optional[datetime] = None +@dataclass +class ManagementInstanceDocumentsParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceDocumentsParticipantsListOutput: + items: List[ManagementInstanceDocumentsParticipantsListOutputItems] + pagination: ManagementInstanceDocumentsParticipantsListOutputPagination + + +class mapManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams: + return ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor: + return ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsListOutputItemsActorConsumer: + return ManagementInstanceDocumentsParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsListOutputItemsActor: + return ManagementInstanceDocumentsParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsListOutputItems: + return ManagementInstanceDocumentsParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + role=data.get('role'), + edit_count=data.get('edit_count'), + last_edited_at=datetime.fromisoformat(data.get('last_edited_at').replace('Z', '+00:00')) if data.get('last_edited_at') else None, + last_viewed_at=datetime.fromisoformat(data.get('last_viewed_at').replace('Z', '+00:00')) if data.get('last_viewed_at') else None, + actor=mapManagementInstanceDocumentsParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsListOutputPagination: + return ManagementInstanceDocumentsParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsListOutput: + return ManagementInstanceDocumentsParticipantsListOutput( + items=[mapManagementInstanceDocumentsParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceDocumentsParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceDocumentsParticipantsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceDocumentsParticipantsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceDocumentsParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceDocumentsParticipantsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceDocumentsParticipantsListQueryUpdatedAt] = None + + +class mapManagementInstanceDocumentsParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsParticipantsListQuery: + return ManagementInstanceDocumentsParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapManagementInstanceDocumentsParticipantsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceDocumentsParticipantsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/permissions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/permissions/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/permissions/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/permissions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/permissions/get.py new file mode 100644 index 00000000..e38a0e76 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/permissions/get.py @@ -0,0 +1,40 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsPermissionsGetOutput: + object: str + document_id: str + is_owner: bool + has_full_access: bool + permissions: List[str] + relevant_store_ids: List[str] + readable_store_ids: List[str] + writable_store_ids: List[str] + + +class mapManagementInstanceDocumentsPermissionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsPermissionsGetOutput: + return ManagementInstanceDocumentsPermissionsGetOutput( + object=data.get('object'), + document_id=data.get('document_id'), + is_owner=data.get('is_owner'), + has_full_access=data.get('has_full_access'), + permissions=data.get('permissions', []), + relevant_store_ids=data.get('relevant_store_ids', []), + readable_store_ids=data.get('readable_store_ids', []), + writable_store_ids=data.get('writable_store_ids', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsPermissionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/update.py new file mode 100644 index 00000000..0f12425e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/update.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsUpdateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsUpdateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsUpdateOutputCreatedByConsumer] = None +@dataclass +class ManagementInstanceDocumentsUpdateOutput: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceDocumentsUpdateOutputCreatedBy] = None + + +class mapManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams: + return ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActor: + return ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsUpdateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsUpdateOutputCreatedByConsumer: + return ManagementInstanceDocumentsUpdateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsUpdateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsUpdateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsUpdateOutputCreatedBy: + return ManagementInstanceDocumentsUpdateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsUpdateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsUpdateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsUpdateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsUpdateOutput: + return ManagementInstanceDocumentsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceDocumentsUpdateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceDocumentsUpdateBody: + title: Optional[str] = None + content: Optional[str] = None + + +class mapManagementInstanceDocumentsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsUpdateBody: + return ManagementInstanceDocumentsUpdateBody( + title=data.get('title'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/get.py new file mode 100644 index 00000000..599b5a72 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/get.py @@ -0,0 +1,164 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsVersionsGetOutputEditorsConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsVersionsGetOutputEditors: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsVersionsGetOutputEditorsConsumer] = None +@dataclass +class ManagementInstanceDocumentsVersionsGetOutput: + object: str + id: str + document_id: str + version_number: float + content: str + editors: List[ManagementInstanceDocumentsVersionsGetOutputEditors] + created_at: datetime + previous_version_id: Optional[str] = None + list_edited_at: Optional[datetime] = None + + +class mapManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams: + return ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActor: + return ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsGetOutputEditorsConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsGetOutputEditorsConsumer: + return ManagementInstanceDocumentsVersionsGetOutputEditorsConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsGetOutputEditorsConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsGetOutputEditors: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsGetOutputEditors: + return ManagementInstanceDocumentsVersionsGetOutputEditors( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsVersionsGetOutputEditorsOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsVersionsGetOutputEditorsConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsGetOutputEditors, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsGetOutput: + return ManagementInstanceDocumentsVersionsGetOutput( + object=data.get('object'), + id=data.get('id'), + document_id=data.get('document_id'), + version_number=data.get('version_number'), + previous_version_id=data.get('previous_version_id'), + list_edited_at=datetime.fromisoformat(data.get('list_edited_at').replace('Z', '+00:00')) if data.get('list_edited_at') else None, + content=data.get('content'), + editors=[mapManagementInstanceDocumentsVersionsGetOutputEditors.from_dict(item) for item in data.get('editors', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/list.py new file mode 100644 index 00000000..a067f4b6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/documents/versions/list.py @@ -0,0 +1,247 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceDocumentsVersionsListOutputItemsEditorsConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceDocumentsVersionsListOutputItemsEditors: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor] = None + consumer: Optional[ManagementInstanceDocumentsVersionsListOutputItemsEditorsConsumer] = None +@dataclass +class ManagementInstanceDocumentsVersionsListOutputItems: + object: str + id: str + document_id: str + version_number: float + content: str + editors: List[ManagementInstanceDocumentsVersionsListOutputItemsEditors] + created_at: datetime + previous_version_id: Optional[str] = None + list_edited_at: Optional[datetime] = None +@dataclass +class ManagementInstanceDocumentsVersionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceDocumentsVersionsListOutput: + items: List[ManagementInstanceDocumentsVersionsListOutputItems] + pagination: ManagementInstanceDocumentsVersionsListOutputPagination + + +class mapManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams: + return ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor: + return ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsListOutputItemsEditorsConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsListOutputItemsEditorsConsumer: + return ManagementInstanceDocumentsVersionsListOutputItemsEditorsConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsListOutputItemsEditorsConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsListOutputItemsEditors: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsListOutputItemsEditors: + return ManagementInstanceDocumentsVersionsListOutputItemsEditors( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceDocumentsVersionsListOutputItemsEditorsOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceDocumentsVersionsListOutputItemsEditorsConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsListOutputItemsEditors, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsListOutputItems: + return ManagementInstanceDocumentsVersionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + document_id=data.get('document_id'), + version_number=data.get('version_number'), + previous_version_id=data.get('previous_version_id'), + list_edited_at=datetime.fromisoformat(data.get('list_edited_at').replace('Z', '+00:00')) if data.get('list_edited_at') else None, + content=data.get('content'), + editors=[mapManagementInstanceDocumentsVersionsListOutputItemsEditors.from_dict(item) for item in data.get('editors', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsListOutputPagination: + return ManagementInstanceDocumentsVersionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceDocumentsVersionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsListOutput: + return ManagementInstanceDocumentsVersionsListOutput( + items=[mapManagementInstanceDocumentsVersionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceDocumentsVersionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceDocumentsVersionsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceDocumentsVersionsListQueryLastEditedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceDocumentsVersionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceDocumentsVersionsListQueryCreatedAt] = None + last_edited_at: Optional[ManagementInstanceDocumentsVersionsListQueryLastEditedAt] = None + + +class mapManagementInstanceDocumentsVersionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceDocumentsVersionsListQuery: + return ManagementInstanceDocumentsVersionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapManagementInstanceDocumentsVersionsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + last_edited_at=mapManagementInstanceDocumentsVersionsListQueryLastEditedAt.from_dict(data.get('last_edited_at')) if data.get('last_edited_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceDocumentsVersionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/__init__.py index 68407627..79c91449 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/__init__.py @@ -1,3 +1,4 @@ from .delete import * from .get import * +from .links import * from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/delete.py index ad16f598..66813b4a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/delete.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class ManagementInstanceFilesDeleteOutputPurpose: +class ManagementInstanceFilesDeleteOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceFilesDeleteOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceFilesDeleteOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceFilesDeleteOutputCreatedByConsumer: + object: str + id: str name: str - identifier: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceFilesDeleteOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceFilesDeleteOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceFilesDeleteOutputCreatedByConsumer] = None @dataclass class ManagementInstanceFilesDeleteOutput: object: str @@ -15,22 +48,92 @@ class ManagementInstanceFilesDeleteOutput: file_name: str file_size: float file_type: str - purpose: ManagementInstanceFilesDeleteOutputPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[ManagementInstanceFilesDeleteOutputCreatedBy] = None + +class mapManagementInstanceFilesDeleteOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesDeleteOutputCreatedByOrganizationActorTeams: + return ManagementInstanceFilesDeleteOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesDeleteOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceFilesDeleteOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesDeleteOutputCreatedByOrganizationActor: + return ManagementInstanceFilesDeleteOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceFilesDeleteOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesDeleteOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceFilesDeleteOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesDeleteOutputCreatedByConsumer: + return ManagementInstanceFilesDeleteOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesDeleteOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) -class mapManagementInstanceFilesDeleteOutputPurpose: +class mapManagementInstanceFilesDeleteOutputCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesDeleteOutputPurpose: - return ManagementInstanceFilesDeleteOutputPurpose( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesDeleteOutputCreatedBy: + return ManagementInstanceFilesDeleteOutputCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceFilesDeleteOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceFilesDeleteOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[ManagementInstanceFilesDeleteOutputPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesDeleteOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -48,7 +151,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesDeleteOutput: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapManagementInstanceFilesDeleteOutputPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapManagementInstanceFilesDeleteOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/get.py index 9da3075b..0fa8f0b3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/get.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class ManagementInstanceFilesGetOutputPurpose: +class ManagementInstanceFilesGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceFilesGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceFilesGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceFilesGetOutputCreatedByConsumer: + object: str + id: str name: str - identifier: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceFilesGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceFilesGetOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceFilesGetOutputCreatedByConsumer] = None @dataclass class ManagementInstanceFilesGetOutput: object: str @@ -15,22 +48,92 @@ class ManagementInstanceFilesGetOutput: file_name: str file_size: float file_type: str - purpose: ManagementInstanceFilesGetOutputPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[ManagementInstanceFilesGetOutputCreatedBy] = None + +class mapManagementInstanceFilesGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesGetOutputCreatedByOrganizationActorTeams: + return ManagementInstanceFilesGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceFilesGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesGetOutputCreatedByOrganizationActor: + return ManagementInstanceFilesGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceFilesGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceFilesGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesGetOutputCreatedByConsumer: + return ManagementInstanceFilesGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) -class mapManagementInstanceFilesGetOutputPurpose: +class mapManagementInstanceFilesGetOutputCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesGetOutputPurpose: - return ManagementInstanceFilesGetOutputPurpose( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesGetOutputCreatedBy: + return ManagementInstanceFilesGetOutputCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceFilesGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceFilesGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[ManagementInstanceFilesGetOutputPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -48,7 +151,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesGetOutput: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapManagementInstanceFilesGetOutputPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapManagementInstanceFilesGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/create.py similarity index 71% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/create.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/create.py index b81fa215..04db36f8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/create.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ManagementInstanceFileLinksCreateOutput: +class ManagementInstanceFilesLinksCreateOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class ManagementInstanceFileLinksCreateOutput: expires_at: Optional[datetime] = None -class mapManagementInstanceFileLinksCreateOutput: +class mapManagementInstanceFilesLinksCreateOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksCreateOutput: - return ManagementInstanceFileLinksCreateOutput( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesLinksCreateOutput: + return ManagementInstanceFilesLinksCreateOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksCreateOutput: ) @staticmethod - def to_dict(value: Union[ManagementInstanceFileLinksCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesLinksCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -35,21 +35,21 @@ def to_dict(value: Union[ManagementInstanceFileLinksCreateOutput, Dict[str, Any] return dataclasses.asdict(value) @dataclass -class ManagementInstanceFileLinksCreateBody: +class ManagementInstanceFilesLinksCreateBody: file_id: str expires_at: Optional[datetime] = None -class mapManagementInstanceFileLinksCreateBody: +class mapManagementInstanceFilesLinksCreateBody: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksCreateBody: - return ManagementInstanceFileLinksCreateBody( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesLinksCreateBody: + return ManagementInstanceFilesLinksCreateBody( file_id=data.get('file_id'), expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None ) @staticmethod - def to_dict(value: Union[ManagementInstanceFileLinksCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesLinksCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/delete.py similarity index 76% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/delete.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/delete.py index a2cb75fc..f731211c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/delete.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ManagementInstanceFileLinksDeleteOutput: +class ManagementInstanceFilesLinksDeleteOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class ManagementInstanceFileLinksDeleteOutput: expires_at: Optional[datetime] = None -class mapManagementInstanceFileLinksDeleteOutput: +class mapManagementInstanceFilesLinksDeleteOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksDeleteOutput: - return ManagementInstanceFileLinksDeleteOutput( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesLinksDeleteOutput: + return ManagementInstanceFilesLinksDeleteOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksDeleteOutput: ) @staticmethod - def to_dict(value: Union[ManagementInstanceFileLinksDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesLinksDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/get.py similarity index 77% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/get.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/get.py index ef25e0d6..a02ef989 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/file_links/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/get.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ManagementInstanceFileLinksGetOutput: +class ManagementInstanceFilesLinksGetOutput: object: str id: str file_id: str @@ -13,10 +13,10 @@ class ManagementInstanceFileLinksGetOutput: expires_at: Optional[datetime] = None -class mapManagementInstanceFileLinksGetOutput: +class mapManagementInstanceFilesLinksGetOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksGetOutput: - return ManagementInstanceFileLinksGetOutput( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesLinksGetOutput: + return ManagementInstanceFilesLinksGetOutput( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -26,7 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFileLinksGetOutput: ) @staticmethod - def to_dict(value: Union[ManagementInstanceFileLinksGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesLinksGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/list.py similarity index 53% rename from src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/list.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/list.py index fd5b385e..1f2d39bf 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/file_links/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/links/list.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class DashboardInstanceFileLinksListOutputItems: +class ManagementInstanceFilesLinksListOutputItems: object: str id: str file_id: str @@ -12,19 +12,19 @@ class DashboardInstanceFileLinksListOutputItems: created_at: datetime expires_at: Optional[datetime] = None @dataclass -class DashboardInstanceFileLinksListOutputPagination: +class ManagementInstanceFilesLinksListOutputPagination: has_more_before: bool has_more_after: bool @dataclass -class DashboardInstanceFileLinksListOutput: - items: List[DashboardInstanceFileLinksListOutputItems] - pagination: DashboardInstanceFileLinksListOutputPagination +class ManagementInstanceFilesLinksListOutput: + items: List[ManagementInstanceFilesLinksListOutputItems] + pagination: ManagementInstanceFilesLinksListOutputPagination -class mapDashboardInstanceFileLinksListOutputItems: +class mapManagementInstanceFilesLinksListOutputItems: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksListOutputItems: - return DashboardInstanceFileLinksListOutputItems( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesLinksListOutputItems: + return ManagementInstanceFilesLinksListOutputItems( object=data.get('object'), id=data.get('id'), file_id=data.get('file_id'), @@ -34,39 +34,39 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksListOutputItems ) @staticmethod - def to_dict(value: Union[DashboardInstanceFileLinksListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesLinksListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapDashboardInstanceFileLinksListOutputPagination: +class mapManagementInstanceFilesLinksListOutputPagination: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksListOutputPagination: - return DashboardInstanceFileLinksListOutputPagination( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesLinksListOutputPagination: + return ManagementInstanceFilesLinksListOutputPagination( has_more_before=data.get('has_more_before'), has_more_after=data.get('has_more_after') ) @staticmethod - def to_dict(value: Union[DashboardInstanceFileLinksListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesLinksListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapDashboardInstanceFileLinksListOutput: +class mapManagementInstanceFilesLinksListOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksListOutput: - return DashboardInstanceFileLinksListOutput( - items=[mapDashboardInstanceFileLinksListOutputItems.from_dict(item) for item in data.get('items', []) if item], - pagination=mapDashboardInstanceFileLinksListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesLinksListOutput: + return ManagementInstanceFilesLinksListOutput( + items=[mapManagementInstanceFilesLinksListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceFilesLinksListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) @staticmethod - def to_dict(value: Union[DashboardInstanceFileLinksListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesLinksListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -75,7 +75,7 @@ def to_dict(value: Union[DashboardInstanceFileLinksListOutput, Dict[str, Any], N return dataclasses.asdict(value) @dataclass -class DashboardInstanceFileLinksListQuery: +class ManagementInstanceFilesLinksListQuery: limit: Optional[float] = None after: Optional[str] = None before: Optional[str] = None @@ -84,10 +84,10 @@ class DashboardInstanceFileLinksListQuery: file_id: Optional[str] = None -class mapDashboardInstanceFileLinksListQuery: +class mapManagementInstanceFilesLinksListQuery: @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksListQuery: - return DashboardInstanceFileLinksListQuery( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesLinksListQuery: + return ManagementInstanceFilesLinksListQuery( limit=data.get('limit'), after=data.get('after'), before=data.get('before'), @@ -97,7 +97,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceFileLinksListQuery: ) @staticmethod - def to_dict(value: Union[DashboardInstanceFileLinksListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesLinksListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/list.py index e92ae47f..b34e39db 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/files/list.py @@ -4,9 +4,42 @@ import dataclasses @dataclass -class ManagementInstanceFilesListOutputItemsPurpose: +class ManagementInstanceFilesListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceFilesListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceFilesListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceFilesListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceFilesListOutputItemsCreatedBy: + type: str name: str - identifier: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceFilesListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceFilesListOutputItemsCreatedByConsumer] = None @dataclass class ManagementInstanceFilesListOutputItems: object: str @@ -15,10 +48,11 @@ class ManagementInstanceFilesListOutputItems: file_name: str file_size: float file_type: str - purpose: ManagementInstanceFilesListOutputItemsPurpose + title: str + purpose: str created_at: datetime updated_at: datetime - title: Optional[str] = None + created_by: Optional[ManagementInstanceFilesListOutputItemsCreatedBy] = None @dataclass class ManagementInstanceFilesListOutputPagination: has_more_before: bool @@ -29,16 +63,85 @@ class ManagementInstanceFilesListOutput: pagination: ManagementInstanceFilesListOutputPagination -class mapManagementInstanceFilesListOutputItemsPurpose: +class mapManagementInstanceFilesListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesListOutputItemsCreatedByOrganizationActorTeams: + return ManagementInstanceFilesListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceFilesListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesListOutputItemsCreatedByOrganizationActor: + return ManagementInstanceFilesListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceFilesListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceFilesListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesListOutputItemsCreatedByConsumer: + return ManagementInstanceFilesListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceFilesListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceFilesListOutputItemsCreatedBy: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesListOutputItemsPurpose: - return ManagementInstanceFilesListOutputItemsPurpose( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesListOutputItemsCreatedBy: + return ManagementInstanceFilesListOutputItemsCreatedBy( + type=data.get('type'), name=data.get('name'), - identifier=data.get('identifier') + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceFilesListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceFilesListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None ) @staticmethod - def to_dict(value: Union[ManagementInstanceFilesListOutputItemsPurpose, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceFilesListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -56,7 +159,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesListOutputItems: file_size=data.get('file_size'), file_type=data.get('file_type'), title=data.get('title'), - purpose=mapManagementInstanceFilesListOutputItemsPurpose.from_dict(data.get('purpose')) if data.get('purpose') else None, + purpose=data.get('purpose'), + created_by=mapManagementInstanceFilesListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -103,13 +207,27 @@ def to_dict(value: Union[ManagementInstanceFilesListOutput, Dict[str, Any], None return dataclasses.asdict(value) @dataclass +class ManagementInstanceFilesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceFilesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass class ManagementInstanceFilesListQuery: limit: Optional[float] = None after: Optional[str] = None before: Optional[str] = None cursor: Optional[str] = None order: Optional[str] = None - purpose: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + purpose: Optional[Union[str, List[str]]] = None + store_id: Optional[Union[str, List[str]]] = None + document_id: Optional[Union[str, List[str]]] = None + file_link_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceFilesListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceFilesListQueryUpdatedAt] = None class mapManagementInstanceFilesListQuery: @@ -121,7 +239,13 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceFilesListQuery: before=data.get('before'), cursor=data.get('cursor'), order=data.get('order'), - purpose=data.get('purpose') + id=data.get('id'), + purpose=data.get('purpose'), + store_id=data.get('store_id'), + document_id=data.get('document_id'), + file_link_id=data.get('file_link_id'), + created_at=mapManagementInstanceFilesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceFilesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/__init__.py new file mode 100644 index 00000000..5eaf3896 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/__init__.py @@ -0,0 +1,9 @@ +from .create import * +from .delete import * +from .get import * +from .instance_groups import * +from .instances import * +from .list import * +from .providers import * +from .setup_sessions import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/create.py new file mode 100644 index 00000000..612d1bc5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/create.py @@ -0,0 +1,185 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsCreateOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceIntegrationsCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsCreateOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsCreateOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsCreateOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: ManagementInstanceIntegrationsCreateOutputConfiguration + providers: List[ManagementInstanceIntegrationsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsCreateOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsCreateOutputConfiguration: + return ManagementInstanceIntegrationsCreateOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsCreateOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsCreateOutputProvidersConfig: + return ManagementInstanceIntegrationsCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsCreateOutputProviders: + return ManagementInstanceIntegrationsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsCreateOutput: + return ManagementInstanceIntegrationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceIntegrationsCreateOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapManagementInstanceIntegrationsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + can_attach_custom_tool_filters: Optional[bool] = None + can_attach_custom_provider_config: Optional[bool] = None + can_override_tool_filters: Optional[bool] = None + + +class mapManagementInstanceIntegrationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsCreateBody: + return ManagementInstanceIntegrationsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/delete.py new file mode 100644 index 00000000..a79d5f5b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/delete.py @@ -0,0 +1,154 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsDeleteOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceIntegrationsDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsDeleteOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsDeleteOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsDeleteOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: ManagementInstanceIntegrationsDeleteOutputConfiguration + providers: List[ManagementInstanceIntegrationsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsDeleteOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsDeleteOutputConfiguration: + return ManagementInstanceIntegrationsDeleteOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsDeleteOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsDeleteOutputProvidersConfig: + return ManagementInstanceIntegrationsDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsDeleteOutputProviders: + return ManagementInstanceIntegrationsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsDeleteOutput: + return ManagementInstanceIntegrationsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceIntegrationsDeleteOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapManagementInstanceIntegrationsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/get.py new file mode 100644 index 00000000..1aeb10f9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/get.py @@ -0,0 +1,154 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsGetOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceIntegrationsGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsGetOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsGetOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsGetOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: ManagementInstanceIntegrationsGetOutputConfiguration + providers: List[ManagementInstanceIntegrationsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsGetOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsGetOutputConfiguration: + return ManagementInstanceIntegrationsGetOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsGetOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsGetOutputProvidersConfig: + return ManagementInstanceIntegrationsGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsGetOutputProviders: + return ManagementInstanceIntegrationsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsGetOutput: + return ManagementInstanceIntegrationsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceIntegrationsGetOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapManagementInstanceIntegrationsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/__init__.py new file mode 100644 index 00000000..2c33b5a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .create_session import * +from .create_session_template import * +from .delete import * +from .get import * +from .list import * +from .providers import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create.py new file mode 100644 index 00000000..1b50123a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateOutput: + object: str + id: str + status: str + name: str + providers: List[ManagementInstanceIntegrationsInstanceGroupsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[ManagementInstanceIntegrationsInstanceGroupsCreateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsCreateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateOutputImplementation: + return ManagementInstanceIntegrationsInstanceGroupsCreateOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateOutputProviders: + return ManagementInstanceIntegrationsInstanceGroupsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateOutput: + return ManagementInstanceIntegrationsInstanceGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapManagementInstanceIntegrationsInstanceGroupsCreateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstanceGroupsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateBodyProviders: + integration_instance_provider_id: str + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + providers: Optional[List[ManagementInstanceIntegrationsInstanceGroupsCreateBodyProviders]] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateBodyProviders: + return ManagementInstanceIntegrationsInstanceGroupsCreateBodyProviders( + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateBody: + return ManagementInstanceIntegrationsInstanceGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + providers=[mapManagementInstanceIntegrationsInstanceGroupsCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create_session.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create_session.py new file mode 100644 index 00000000..afa1ad7c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create_session.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders: + object: str + id: str + status: str + usage: ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage + tool_filter: Dict[str, Any] + provider_id: str + session_id: str + deployment: ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment + config: ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig + created_at: datetime + updated_at: datetime + from_template_id: Optional[str] = None + from_template_provider_id: Optional[str] = None + auth_config: Optional[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutput: + object: str + id: str + status: str + connection_state: str + connection_url: str + usage: ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage + providers: List[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders] + from_templates_ids: List[str] + has_errors: bool + has_warnings: bool + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + usage=mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersUsage.from_dict(data.get('usage')) if data.get('usage') else None, + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_id=data.get('session_id'), + from_template_id=data.get('from_template_id'), + from_template_provider_id=data.get('from_template_provider_id'), + deployment=mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutput: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + connection_state=data.get('connection_state'), + connection_url=data.get('connection_url'), + client_secret=data.get('client_secret'), + usage=mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputUsage.from_dict(data.get('usage')) if data.get('usage') else None, + providers=[mapManagementInstanceIntegrationsInstanceGroupsCreateSessionOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + from_templates_ids=data.get('from_templates_ids', []), + has_errors=data.get('has_errors'), + has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionBody: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create_session_template.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create_session_template.py new file mode 100644 index 00000000..afa04721 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/create_session_template.py @@ -0,0 +1,201 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + object: str + id: str + status: str + tool_filter: Dict[str, Any] + provider_id: str + session_template_id: str + deployment: ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment + config: ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig + created_at: datetime + updated_at: datetime + auth_config: Optional[ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + object: str + id: str + status: str + name: str + providers: List[ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_template_id=data.get('session_template_id'), + deployment=mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody: + return ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsCreateSessionTemplateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/delete.py new file mode 100644 index 00000000..4893f5fe --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/delete.py @@ -0,0 +1,114 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsDeleteOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsDeleteOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsDeleteOutput: + object: str + id: str + status: str + name: str + providers: List[ManagementInstanceIntegrationsInstanceGroupsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[ManagementInstanceIntegrationsInstanceGroupsDeleteOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsDeleteOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsDeleteOutputImplementation: + return ManagementInstanceIntegrationsInstanceGroupsDeleteOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsDeleteOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsDeleteOutputProviders: + return ManagementInstanceIntegrationsInstanceGroupsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsDeleteOutput: + return ManagementInstanceIntegrationsInstanceGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapManagementInstanceIntegrationsInstanceGroupsDeleteOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstanceGroupsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/get.py new file mode 100644 index 00000000..f02fd41e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/get.py @@ -0,0 +1,114 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsGetOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsGetOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsGetOutput: + object: str + id: str + status: str + name: str + providers: List[ManagementInstanceIntegrationsInstanceGroupsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[ManagementInstanceIntegrationsInstanceGroupsGetOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsGetOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsGetOutputImplementation: + return ManagementInstanceIntegrationsInstanceGroupsGetOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsGetOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsGetOutputProviders: + return ManagementInstanceIntegrationsInstanceGroupsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsGetOutput: + return ManagementInstanceIntegrationsInstanceGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapManagementInstanceIntegrationsInstanceGroupsGetOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstanceGroupsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/list.py new file mode 100644 index 00000000..5b0742b0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/list.py @@ -0,0 +1,217 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsListOutputItemsImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsListOutputItemsProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsListOutputItems: + object: str + id: str + status: str + name: str + providers: List[ManagementInstanceIntegrationsInstanceGroupsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[ManagementInstanceIntegrationsInstanceGroupsListOutputItemsImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsListOutput: + items: List[ManagementInstanceIntegrationsInstanceGroupsListOutputItems] + pagination: ManagementInstanceIntegrationsInstanceGroupsListOutputPagination + + +class mapManagementInstanceIntegrationsInstanceGroupsListOutputItemsImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsListOutputItemsImplementation: + return ManagementInstanceIntegrationsInstanceGroupsListOutputItemsImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsListOutputItemsImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsListOutputItemsProviders: + return ManagementInstanceIntegrationsInstanceGroupsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsListOutputItems: + return ManagementInstanceIntegrationsInstanceGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapManagementInstanceIntegrationsInstanceGroupsListOutputItemsImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstanceGroupsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsListOutputPagination: + return ManagementInstanceIntegrationsInstanceGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsListOutput: + return ManagementInstanceIntegrationsInstanceGroupsListOutput( + items=[mapManagementInstanceIntegrationsInstanceGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceIntegrationsInstanceGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceIntegrationsInstanceGroupsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceIntegrationsInstanceGroupsListQueryUpdatedAt] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsListQuery: + return ManagementInstanceIntegrationsInstanceGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapManagementInstanceIntegrationsInstanceGroupsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceIntegrationsInstanceGroupsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/__init__.py new file mode 100644 index 00000000..43f8f638 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/__init__.py @@ -0,0 +1,4 @@ +from .delete import * +from .get import * +from .list import * +from .set import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/delete.py new file mode 100644 index 00000000..a2e566fd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/delete.py @@ -0,0 +1,56 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsProvidersDeleteOutput: + return ManagementInstanceIntegrationsInstanceGroupsProvidersDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsProvidersDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/get.py new file mode 100644 index 00000000..960028d2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/get.py @@ -0,0 +1,56 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsProvidersGetOutput: + return ManagementInstanceIntegrationsInstanceGroupsProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/list.py new file mode 100644 index 00000000..569e2a46 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/list.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersListOutput: + items: List[ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputItems] + pagination: ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputPagination + + +class mapManagementInstanceIntegrationsInstanceGroupsProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputItems: + return ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputPagination: + return ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsProvidersListOutput: + return ManagementInstanceIntegrationsInstanceGroupsProvidersListOutput( + items=[mapManagementInstanceIntegrationsInstanceGroupsProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceIntegrationsInstanceGroupsProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_instance_group_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceIntegrationsInstanceGroupsProvidersListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceIntegrationsInstanceGroupsProvidersListQueryUpdatedAt] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsProvidersListQuery: + return ManagementInstanceIntegrationsInstanceGroupsProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapManagementInstanceIntegrationsInstanceGroupsProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceIntegrationsInstanceGroupsProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/set.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/set.py new file mode 100644 index 00000000..156a9cf7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/providers/set.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersSetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsProvidersSetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsProvidersSetOutput: + return ManagementInstanceIntegrationsInstanceGroupsProvidersSetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsProvidersSetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsProvidersSetBody: + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsProvidersSetBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsProvidersSetBody: + return ManagementInstanceIntegrationsInstanceGroupsProvidersSetBody( + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsProvidersSetBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/update.py new file mode 100644 index 00000000..a8209d67 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instance_groups/update.py @@ -0,0 +1,161 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsUpdateOutputImplementation: + type: str + magic_mcp_endpoint_id: str +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsUpdateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_group_id: str + integration_instance_id: str + integration_instance_provider_id: str + is_override_tool_filter: bool + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_provider_id: Optional[str] = None + tool_filter: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsUpdateOutput: + object: str + id: str + status: str + name: str + providers: List[ManagementInstanceIntegrationsInstanceGroupsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[ManagementInstanceIntegrationsInstanceGroupsUpdateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsUpdateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsUpdateOutputImplementation: + return ManagementInstanceIntegrationsInstanceGroupsUpdateOutputImplementation( + type=data.get('type'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsUpdateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsUpdateOutputProviders: + return ManagementInstanceIntegrationsInstanceGroupsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + integration_instance_id=data.get('integration_instance_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsUpdateOutput: + return ManagementInstanceIntegrationsInstanceGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + implementation=mapManagementInstanceIntegrationsInstanceGroupsUpdateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstanceGroupsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsUpdateBodyProviders: + integration_instance_provider_id: str + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None +@dataclass +class ManagementInstanceIntegrationsInstanceGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + providers: Optional[List[ManagementInstanceIntegrationsInstanceGroupsUpdateBodyProviders]] = None + + +class mapManagementInstanceIntegrationsInstanceGroupsUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsUpdateBodyProviders: + return ManagementInstanceIntegrationsInstanceGroupsUpdateBodyProviders( + integration_instance_provider_id=data.get('integration_instance_provider_id'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstanceGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstanceGroupsUpdateBody: + return ManagementInstanceIntegrationsInstanceGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + providers=[mapManagementInstanceIntegrationsInstanceGroupsUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstanceGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/__init__.py new file mode 100644 index 00000000..2c33b5a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .create_session import * +from .create_session_template import * +from .delete import * +from .get import * +from .list import * +from .providers import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create.py new file mode 100644 index 00000000..359fa353 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create.py @@ -0,0 +1,383 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsInstancesCreateOutputProvidersProvider + integration_provider: ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsInstancesCreateOutputProvidersConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[ManagementInstanceIntegrationsInstancesCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ManagementInstanceIntegrationsInstancesCreateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstancesCreateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutputImplementation: + return ManagementInstanceIntegrationsInstancesCreateOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutputProvidersProvider: + return ManagementInstanceIntegrationsInstancesCreateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig: + return ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider: + return ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutputProvidersConfig: + return ManagementInstanceIntegrationsInstancesCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig: + return ManagementInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutputProviders: + return ManagementInstanceIntegrationsInstancesCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsInstancesCreateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsInstancesCreateOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsInstancesCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesCreateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateOutput: + return ManagementInstanceIntegrationsInstancesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapManagementInstanceIntegrationsInstancesCreateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstancesCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstancesCreateBodyProviders: + provider_id: str + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateBody: + integration_id: str + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + providers: Optional[List[ManagementInstanceIntegrationsInstancesCreateBodyProviders]] = None + + +class mapManagementInstanceIntegrationsInstancesCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateBodyProviders: + return ManagementInstanceIntegrationsInstancesCreateBodyProviders( + provider_id=data.get('provider_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateBody: + return ManagementInstanceIntegrationsInstancesCreateBody( + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapManagementInstanceIntegrationsInstancesCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create_session.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create_session.py new file mode 100644 index 00000000..e698f23e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create_session.py @@ -0,0 +1,257 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionOutputUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage: + total_productive_client_message_count: float + total_productive_provider_message_count: float +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionOutputProviders: + object: str + id: str + status: str + usage: ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage + tool_filter: Dict[str, Any] + provider_id: str + session_id: str + deployment: ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment + config: ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig + created_at: datetime + updated_at: datetime + from_template_id: Optional[str] = None + from_template_provider_id: Optional[str] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionOutput: + object: str + id: str + status: str + connection_state: str + connection_url: str + usage: ManagementInstanceIntegrationsInstancesCreateSessionOutputUsage + providers: List[ManagementInstanceIntegrationsInstancesCreateSessionOutputProviders] + from_templates_ids: List[str] + has_errors: bool + has_warnings: bool + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapManagementInstanceIntegrationsInstancesCreateSessionOutputUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionOutputUsage: + return ManagementInstanceIntegrationsInstancesCreateSessionOutputUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionOutputUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage: + return ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage( + total_productive_client_message_count=data.get('total_productive_client_message_count'), + total_productive_provider_message_count=data.get('total_productive_provider_message_count') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment: + return ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig: + return ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig: + return ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionOutputProviders: + return ManagementInstanceIntegrationsInstancesCreateSessionOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + usage=mapManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersUsage.from_dict(data.get('usage')) if data.get('usage') else None, + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_id=data.get('session_id'), + from_template_id=data.get('from_template_id'), + from_template_provider_id=data.get('from_template_provider_id'), + deployment=mapManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesCreateSessionOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionOutput: + return ManagementInstanceIntegrationsInstancesCreateSessionOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + connection_state=data.get('connection_state'), + connection_url=data.get('connection_url'), + client_secret=data.get('client_secret'), + usage=mapManagementInstanceIntegrationsInstancesCreateSessionOutputUsage.from_dict(data.get('usage')) if data.get('usage') else None, + providers=[mapManagementInstanceIntegrationsInstancesCreateSessionOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + from_templates_ids=data.get('from_templates_ids', []), + has_errors=data.get('has_errors'), + has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceIntegrationsInstancesCreateSessionBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionBody: + return ManagementInstanceIntegrationsInstancesCreateSessionBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create_session_template.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create_session_template.py new file mode 100644 index 00000000..33b8ad24 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/create_session_template.py @@ -0,0 +1,201 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + object: str + id: str +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders: + object: str + id: str + status: str + tool_filter: Dict[str, Any] + provider_id: str + session_template_id: str + deployment: ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment + config: ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig + created_at: datetime + updated_at: datetime + auth_config: Optional[ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig] = None +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutput: + object: str + id: str + status: str + name: str + providers: List[ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + + +class mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment: + return ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig: + return ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig: + return ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders: + return ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + session_template_id=data.get('session_template_id'), + deployment=mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + config=mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutput: + return ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapManagementInstanceIntegrationsInstancesCreateSessionTemplateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionTemplateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstancesCreateSessionTemplateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceIntegrationsInstancesCreateSessionTemplateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesCreateSessionTemplateBody: + return ManagementInstanceIntegrationsInstancesCreateSessionTemplateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesCreateSessionTemplateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/delete.py new file mode 100644 index 00000000..b24f6db6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/delete.py @@ -0,0 +1,324 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsInstancesDeleteOutputProvidersProvider + integration_provider: ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesDeleteOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[ManagementInstanceIntegrationsInstancesDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ManagementInstanceIntegrationsInstancesDeleteOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstancesDeleteOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutputImplementation: + return ManagementInstanceIntegrationsInstancesDeleteOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutputProvidersProvider: + return ManagementInstanceIntegrationsInstancesDeleteOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig: + return ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider: + return ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutputProvidersConfig: + return ManagementInstanceIntegrationsInstancesDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig: + return ManagementInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutputProviders: + return ManagementInstanceIntegrationsInstancesDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesDeleteOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesDeleteOutput: + return ManagementInstanceIntegrationsInstancesDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapManagementInstanceIntegrationsInstancesDeleteOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstancesDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/get.py new file mode 100644 index 00000000..57cab77e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/get.py @@ -0,0 +1,324 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsInstancesGetOutputProvidersProvider + integration_provider: ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsInstancesGetOutputProvidersConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesGetOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[ManagementInstanceIntegrationsInstancesGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ManagementInstanceIntegrationsInstancesGetOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstancesGetOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutputImplementation: + return ManagementInstanceIntegrationsInstancesGetOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesGetOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutputProvidersProvider: + return ManagementInstanceIntegrationsInstancesGetOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig: + return ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider: + return ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutputProvidersConfig: + return ManagementInstanceIntegrationsInstancesGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesGetOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutputProvidersAuthConfig: + return ManagementInstanceIntegrationsInstancesGetOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutputProviders: + return ManagementInstanceIntegrationsInstancesGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsInstancesGetOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsInstancesGetOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsInstancesGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesGetOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesGetOutput: + return ManagementInstanceIntegrationsInstancesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapManagementInstanceIntegrationsInstancesGetOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstancesGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/list.py new file mode 100644 index 00000000..7c0cfe7b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/list.py @@ -0,0 +1,431 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItemsImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItemsProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItemsProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsInstancesListOutputItemsProvidersProvider + integration_provider: ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[ManagementInstanceIntegrationsInstancesListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ManagementInstanceIntegrationsInstancesListOutputItemsImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceIntegrationsInstancesListOutput: + items: List[ManagementInstanceIntegrationsInstancesListOutputItems] + pagination: ManagementInstanceIntegrationsInstancesListOutputPagination + + +class mapManagementInstanceIntegrationsInstancesListOutputItemsImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItemsImplementation: + return ManagementInstanceIntegrationsInstancesListOutputItemsImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItemsImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItemsProvidersProvider: + return ManagementInstanceIntegrationsInstancesListOutputItemsProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig: + return ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider: + return ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItemsProvidersConfig: + return ManagementInstanceIntegrationsInstancesListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig: + return ManagementInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItemsProviders: + return ManagementInstanceIntegrationsInstancesListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesListOutputItemsProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputItems: + return ManagementInstanceIntegrationsInstancesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapManagementInstanceIntegrationsInstancesListOutputItemsImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstancesListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutputPagination: + return ManagementInstanceIntegrationsInstancesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListOutput: + return ManagementInstanceIntegrationsInstancesListOutput( + items=[mapManagementInstanceIntegrationsInstancesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceIntegrationsInstancesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstancesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None + identity_actor_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceIntegrationsInstancesListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceIntegrationsInstancesListQueryUpdatedAt] = None + + +class mapManagementInstanceIntegrationsInstancesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesListQuery: + return ManagementInstanceIntegrationsInstancesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), + identity_actor_id=data.get('identity_actor_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapManagementInstanceIntegrationsInstancesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceIntegrationsInstancesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/__init__.py new file mode 100644 index 00000000..8669f60a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .set import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/get.py new file mode 100644 index 00000000..427fb0c2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/get.py @@ -0,0 +1,260 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersGetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersGetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsInstancesProvidersGetOutputProvider + integration_provider: ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsInstancesProvidersGetOutputConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesProvidersGetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstancesProvidersGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersGetOutputProvider: + return ManagementInstanceIntegrationsInstancesProvidersGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig: + return ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider: + return ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersGetOutputConfig: + return ManagementInstanceIntegrationsInstancesProvidersGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersGetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersGetOutputAuthConfig: + return ManagementInstanceIntegrationsInstancesProvidersGetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersGetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersGetOutput: + return ManagementInstanceIntegrationsInstancesProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsInstancesProvidersGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsInstancesProvidersGetOutputIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsInstancesProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesProvidersGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/list.py new file mode 100644 index 00000000..2e54852c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/list.py @@ -0,0 +1,363 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutputItemsConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutputItems: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsInstancesProvidersListOutputItemsProvider + integration_provider: ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListOutput: + items: List[ManagementInstanceIntegrationsInstancesProvidersListOutputItems] + pagination: ManagementInstanceIntegrationsInstancesProvidersListOutputPagination + + +class mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutputItemsProvider: + return ManagementInstanceIntegrationsInstancesProvidersListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig: + return ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider: + return ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutputItemsConfig: + return ManagementInstanceIntegrationsInstancesProvidersListOutputItemsConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig: + return ManagementInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutputItems: + return ManagementInstanceIntegrationsInstancesProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesProvidersListOutputItemsAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutputPagination: + return ManagementInstanceIntegrationsInstancesProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListOutput: + return ManagementInstanceIntegrationsInstancesProvidersListOutput( + items=[mapManagementInstanceIntegrationsInstancesProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceIntegrationsInstancesProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + provider_auth_config_id: Optional[Union[str, List[str]]] = None + session_template_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceIntegrationsInstancesProvidersListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceIntegrationsInstancesProvidersListQueryUpdatedAt] = None + + +class mapManagementInstanceIntegrationsInstancesProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersListQuery: + return ManagementInstanceIntegrationsInstancesProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + session_template_id=data.get('session_template_id'), + created_at=mapManagementInstanceIntegrationsInstancesProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceIntegrationsInstancesProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/set.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/set.py new file mode 100644 index 00000000..561df69a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/providers/set.py @@ -0,0 +1,289 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersSetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersSetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersSetOutputAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersSetOutput: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsInstancesProvidersSetOutputProvider + integration_provider: ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsInstancesProvidersSetOutputConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesProvidersSetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstancesProvidersSetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersSetOutputProvider: + return ManagementInstanceIntegrationsInstancesProvidersSetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersSetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig: + return ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider: + return ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersSetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersSetOutputConfig: + return ManagementInstanceIntegrationsInstancesProvidersSetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersSetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersSetOutputAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersSetOutputAuthConfig: + return ManagementInstanceIntegrationsInstancesProvidersSetOutputAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersSetOutputAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesProvidersSetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersSetOutput: + return ManagementInstanceIntegrationsInstancesProvidersSetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsInstancesProvidersSetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsInstancesProvidersSetOutputIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsInstancesProvidersSetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesProvidersSetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersSetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstancesProvidersSetBody: + provider_deployment_id: Optional[str] = None + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None + + +class mapManagementInstanceIntegrationsInstancesProvidersSetBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesProvidersSetBody: + return ManagementInstanceIntegrationsInstancesProvidersSetBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesProvidersSetBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/update.py new file mode 100644 index 00000000..2097ed15 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/instances/update.py @@ -0,0 +1,381 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutputImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutputProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsInstancesUpdateOutputProvidersProvider + integration_provider: ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateOutput: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[ManagementInstanceIntegrationsInstancesUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ManagementInstanceIntegrationsInstancesUpdateOutputImplementation] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsInstancesUpdateOutputImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutputImplementation: + return ManagementInstanceIntegrationsInstancesUpdateOutputImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutputImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutputProvidersProvider: + return ManagementInstanceIntegrationsInstancesUpdateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig: + return ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider: + return ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutputProvidersConfig: + return ManagementInstanceIntegrationsInstancesUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig: + return ManagementInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutputProviders: + return ManagementInstanceIntegrationsInstancesUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsInstancesUpdateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateOutput: + return ManagementInstanceIntegrationsInstancesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapManagementInstanceIntegrationsInstancesUpdateOutputImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsInstancesUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateBodyProviders: + provider_id: str + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + is_override_tool_filter: Optional[bool] = None +@dataclass +class ManagementInstanceIntegrationsInstancesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + providers: Optional[List[ManagementInstanceIntegrationsInstancesUpdateBodyProviders]] = None + + +class mapManagementInstanceIntegrationsInstancesUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateBodyProviders: + return ManagementInstanceIntegrationsInstancesUpdateBodyProviders( + provider_id=data.get('provider_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), + tool_filters=data.get('tool_filters'), + is_override_tool_filter=data.get('is_override_tool_filter') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsInstancesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsInstancesUpdateBody: + return ManagementInstanceIntegrationsInstancesUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + providers=[mapManagementInstanceIntegrationsInstancesUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsInstancesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/list.py new file mode 100644 index 00000000..c85cb66b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/list.py @@ -0,0 +1,245 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsListOutputItemsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceIntegrationsListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsListOutputItemsProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsListOutputItemsProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsListOutputItems: + object: str + id: str + status: str + slug: str + name: str + configuration: ManagementInstanceIntegrationsListOutputItemsConfiguration + providers: List[ManagementInstanceIntegrationsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceIntegrationsListOutput: + items: List[ManagementInstanceIntegrationsListOutputItems] + pagination: ManagementInstanceIntegrationsListOutputPagination + + +class mapManagementInstanceIntegrationsListOutputItemsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsListOutputItemsConfiguration: + return ManagementInstanceIntegrationsListOutputItemsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsListOutputItemsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsListOutputItemsProvidersConfig: + return ManagementInstanceIntegrationsListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsListOutputItemsProviders: + return ManagementInstanceIntegrationsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsListOutputItems: + return ManagementInstanceIntegrationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceIntegrationsListOutputItemsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapManagementInstanceIntegrationsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsListOutputPagination: + return ManagementInstanceIntegrationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsListOutput: + return ManagementInstanceIntegrationsListOutput( + items=[mapManagementInstanceIntegrationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceIntegrationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceIntegrationsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceIntegrationsListQueryUpdatedAt] = None + + +class mapManagementInstanceIntegrationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsListQuery: + return ManagementInstanceIntegrationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + created_at=mapManagementInstanceIntegrationsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceIntegrationsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/create.py new file mode 100644 index 00000000..a8644c1e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/create.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsProvidersCreateOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsProvidersCreateOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsProvidersCreateOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsProvidersCreateOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersCreateOutputConfig: + return ManagementInstanceIntegrationsProvidersCreateOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersCreateOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsProvidersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersCreateOutput: + return ManagementInstanceIntegrationsProvidersCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsProvidersCreateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsProvidersCreateBody: + integration_id: str + provider_id: str + provider_deployment_id: str + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapManagementInstanceIntegrationsProvidersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersCreateBody: + return ManagementInstanceIntegrationsProvidersCreateBody( + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/delete.py new file mode 100644 index 00000000..71ef06bc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/delete.py @@ -0,0 +1,90 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsProvidersDeleteOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsProvidersDeleteOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsProvidersDeleteOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsProvidersDeleteOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersDeleteOutputConfig: + return ManagementInstanceIntegrationsProvidersDeleteOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersDeleteOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsProvidersDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersDeleteOutput: + return ManagementInstanceIntegrationsProvidersDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsProvidersDeleteOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/get.py new file mode 100644 index 00000000..46182fac --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/get.py @@ -0,0 +1,90 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsProvidersGetOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsProvidersGetOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsProvidersGetOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsProvidersGetOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersGetOutputConfig: + return ManagementInstanceIntegrationsProvidersGetOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersGetOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsProvidersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersGetOutput: + return ManagementInstanceIntegrationsProvidersGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/list.py new file mode 100644 index 00000000..1ae1d08c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/list.py @@ -0,0 +1,189 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsProvidersListOutputItemsConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsProvidersListOutputItems: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsProvidersListOutputItemsConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsProvidersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceIntegrationsProvidersListOutput: + items: List[ManagementInstanceIntegrationsProvidersListOutputItems] + pagination: ManagementInstanceIntegrationsProvidersListOutputPagination + + +class mapManagementInstanceIntegrationsProvidersListOutputItemsConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersListOutputItemsConfig: + return ManagementInstanceIntegrationsProvidersListOutputItemsConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersListOutputItemsConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsProvidersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersListOutputItems: + return ManagementInstanceIntegrationsProvidersListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsProvidersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersListOutputPagination: + return ManagementInstanceIntegrationsProvidersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsProvidersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersListOutput: + return ManagementInstanceIntegrationsProvidersListOutput( + items=[mapManagementInstanceIntegrationsProvidersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceIntegrationsProvidersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsProvidersListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsProvidersListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsProvidersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + provider_deployment_id: Optional[Union[str, List[str]]] = None + provider_auth_method_id: Optional[Union[str, List[str]]] = None + provider_auth_credentials_id: Optional[Union[str, List[str]]] = None + provider_config_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceIntegrationsProvidersListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceIntegrationsProvidersListQueryUpdatedAt] = None + + +class mapManagementInstanceIntegrationsProvidersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersListQuery: + return ManagementInstanceIntegrationsProvidersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + created_at=mapManagementInstanceIntegrationsProvidersListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceIntegrationsProvidersListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/update.py new file mode 100644 index 00000000..44828690 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/providers/update.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsProvidersUpdateOutputConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsProvidersUpdateOutput: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsProvidersUpdateOutputConfig] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsProvidersUpdateOutputConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersUpdateOutputConfig: + return ManagementInstanceIntegrationsProvidersUpdateOutputConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersUpdateOutputConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsProvidersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersUpdateOutput: + return ManagementInstanceIntegrationsProvidersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsProvidersUpdateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsProvidersUpdateBody: + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + + +class mapManagementInstanceIntegrationsProvidersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsProvidersUpdateBody: + return ManagementInstanceIntegrationsProvidersUpdateBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsProvidersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/create.py new file mode 100644 index 00000000..0eae12e7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/create.py @@ -0,0 +1,539 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider + integration_provider: ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateOutput: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None + + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance: + return ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateOutput: + return ManagementInstanceIntegrationsSetupSessionsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapManagementInstanceIntegrationsSetupSessionsCreateOutputIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + group_id: str +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + collection_id: str +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + category_id: str +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + groups: Optional[List[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups]] = None + collections: Optional[List[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections]] = None + categories: Optional[List[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + enabled: Optional[bool] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi: + layout: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateBodyConfiguration: + provider_search: Optional[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch] = None + tool_filters: Optional[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters] = None + ui: Optional[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsCreateBody: + integration_id: str + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + expires_at: Optional[datetime] = None + redirect_url: Optional[str] = None + configuration: Optional[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfiguration] = None + + +class mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups: + return ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups( + group_id=data.get('group_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections: + return ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections( + collection_id=data.get('collection_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories: + return ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories( + category_id=data.get('category_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch: + return ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch( + groups=[mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchGroups.from_dict(item) for item in data.get('groups', []) if item], + collections=[mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCollections.from_dict(item) for item in data.get('collections', []) if item], + categories=[mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearchCategories.from_dict(item) for item in data.get('categories', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters: + return ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters( + enabled=data.get('enabled') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi: + return ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi( + layout=data.get('layout') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateBodyConfiguration: + return ManagementInstanceIntegrationsSetupSessionsCreateBodyConfiguration( + provider_search=mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationProviderSearch.from_dict(data.get('provider_search')) if data.get('provider_search') else None, + tool_filters=mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationToolFilters.from_dict(data.get('tool_filters')) if data.get('tool_filters') else None, + ui=mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfigurationUi.from_dict(data.get('ui')) if data.get('ui') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateBodyConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsCreateBody: + return ManagementInstanceIntegrationsSetupSessionsCreateBody( + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + redirect_url=data.get('redirect_url'), + configuration=mapManagementInstanceIntegrationsSetupSessionsCreateBodyConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/get.py new file mode 100644 index 00000000..0775b0df --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/get.py @@ -0,0 +1,368 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider + integration_provider: ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsGetOutput: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None + + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance: + return ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsGetOutput: + return ManagementInstanceIntegrationsSetupSessionsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapManagementInstanceIntegrationsSetupSessionsGetOutputIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/list.py new file mode 100644 index 00000000..5fa4a06e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/setup_sessions/list.py @@ -0,0 +1,457 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + type: str + magic_mcp_server_id: str +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + object: str + id: str + index: float +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + object: str + id: str + provider_version: ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion + status: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + object: str + id: str + status: str + name: str + integration_id: str + integration_instance_id: str + is_override_tool_filter: bool + provider: ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider + integration_provider: ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + config: Optional[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig] = None + auth_config: Optional[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance: + object: str + id: str + status: str + name: str + integration_id: str + providers: List[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + implementation: Optional[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputItems: + object: str + id: str + status: str + url: str + integration_id: str + integration_instance: ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance + created_at: datetime + updated_at: datetime + expires_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + configuration: Optional[Dict[str, Any]] = None + redirect_url: Optional[str] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListOutput: + items: List[ManagementInstanceIntegrationsSetupSessionsListOutputItems] + pagination: ManagementInstanceIntegrationsSetupSessionsListOutputPagination + + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation( + type=data.get('type'), + magic_mcp_server_id=data.get('magic_mcp_server_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion( + object=data.get('object'), + id=data.get('id'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider( + object=data.get('object'), + id=data.get('id'), + provider_version=mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderProviderVersion.from_dict(data.get('provider_version')) if data.get('provider_version') else None, + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProviderConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + tool_filter=data.get('tool_filter'), + is_override_tool_filter=data.get('is_override_tool_filter'), + provider=mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + integration_provider=mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersIntegrationProvider.from_dict(data.get('integration_provider')) if data.get('integration_provider') else None, + config=mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance: + return ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + integration_id=data.get('integration_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + implementation=mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceImplementation.from_dict(data.get('implementation')) if data.get('implementation') else None, + providers=[mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstanceProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputItems: + return ManagementInstanceIntegrationsSetupSessionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + url=data.get('url'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=data.get('configuration'), + redirect_url=data.get('redirect_url'), + integration_id=data.get('integration_id'), + integration_instance=mapManagementInstanceIntegrationsSetupSessionsListOutputItemsIntegrationInstance.from_dict(data.get('integration_instance')) if data.get('integration_instance') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutputPagination: + return ManagementInstanceIntegrationsSetupSessionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsSetupSessionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListOutput: + return ManagementInstanceIntegrationsSetupSessionsListOutput( + items=[mapManagementInstanceIntegrationsSetupSessionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceIntegrationsSetupSessionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsSetupSessionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + integration_instance_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceIntegrationsSetupSessionsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceIntegrationsSetupSessionsListQueryUpdatedAt] = None + + +class mapManagementInstanceIntegrationsSetupSessionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsSetupSessionsListQuery: + return ManagementInstanceIntegrationsSetupSessionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + integration_id=data.get('integration_id'), + integration_instance_id=data.get('integration_instance_id'), + created_at=mapManagementInstanceIntegrationsSetupSessionsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceIntegrationsSetupSessionsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsSetupSessionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/update.py new file mode 100644 index 00000000..605d2989 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/integrations/update.py @@ -0,0 +1,185 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceIntegrationsUpdateOutputConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceIntegrationsUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceIntegrationsUpdateOutputProviders: + object: str + id: str + status: str + integration_id: str + name: str + provider_id: str + deployment_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method_id: Optional[str] = None + auth_credentials_id: Optional[str] = None + config: Optional[ManagementInstanceIntegrationsUpdateOutputProvidersConfig] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceIntegrationsUpdateOutput: + object: str + id: str + status: str + slug: str + name: str + configuration: ManagementInstanceIntegrationsUpdateOutputConfiguration + providers: List[ManagementInstanceIntegrationsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + implementation: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceIntegrationsUpdateOutputConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsUpdateOutputConfiguration: + return ManagementInstanceIntegrationsUpdateOutputConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsUpdateOutputConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsUpdateOutputProvidersConfig: + return ManagementInstanceIntegrationsUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsUpdateOutputProviders: + return ManagementInstanceIntegrationsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + integration_id=data.get('integration_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider_id=data.get('provider_id'), + deployment_id=data.get('deployment_id'), + auth_method_id=data.get('auth_method_id'), + auth_credentials_id=data.get('auth_credentials_id'), + config=mapManagementInstanceIntegrationsUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceIntegrationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsUpdateOutput: + return ManagementInstanceIntegrationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceIntegrationsUpdateOutputConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + implementation=data.get('implementation'), + providers=[mapManagementInstanceIntegrationsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceIntegrationsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + can_attach_custom_tool_filters: Optional[bool] = None + can_attach_custom_provider_config: Optional[bool] = None + can_override_tool_filters: Optional[bool] = None + + +class mapManagementInstanceIntegrationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceIntegrationsUpdateBody: + return ManagementInstanceIntegrationsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceIntegrationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/add_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/add_servers.py index 355acc14..804158bb 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/add_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/add_servers.py @@ -14,9 +14,6 @@ class ManagementInstanceMagicMcpEndpointsAddServersOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsAddSer status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), @@ -51,25 +45,24 @@ def to_dict(value: Union[ManagementInstanceMagicMcpEndpointsAddServersOutput, Di return dataclasses.asdict(value) @dataclass -class ManagementInstanceMagicMcpEndpointsAddServersBodyServers: +class ManagementInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers: magic_mcp_server_id: str tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @dataclass class ManagementInstanceMagicMcpEndpointsAddServersBody: - magic_mcp_server_ids: Optional[List[str]] = None - servers: Optional[List[ManagementInstanceMagicMcpEndpointsAddServersBodyServers]] = None + magic_mcp_servers: Optional[List[ManagementInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers]] = None -class mapManagementInstanceMagicMcpEndpointsAddServersBodyServers: +class mapManagementInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsAddServersBodyServers: - return ManagementInstanceMagicMcpEndpointsAddServersBodyServers( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers: + return ManagementInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers( magic_mcp_server_id=data.get('magic_mcp_server_id'), tool_filters=data.get('tool_filters') ) @staticmethod - def to_dict(value: Union[ManagementInstanceMagicMcpEndpointsAddServersBodyServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -80,8 +73,7 @@ class mapManagementInstanceMagicMcpEndpointsAddServersBody: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsAddServersBody: return ManagementInstanceMagicMcpEndpointsAddServersBody( - magic_mcp_server_ids=data.get('magic_mcp_server_ids', []), - servers=[mapManagementInstanceMagicMcpEndpointsAddServersBodyServers.from_dict(item) for item in data.get('servers', []) if item] + magic_mcp_servers=[mapManagementInstanceMagicMcpEndpointsAddServersBodyMagicMcpServers.from_dict(item) for item in data.get('magic_mcp_servers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/create.py index 6282fe1b..33c65590 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/create.py @@ -14,9 +14,6 @@ class ManagementInstanceMagicMcpEndpointsCreateOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsCreate status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), @@ -51,7 +45,7 @@ def to_dict(value: Union[ManagementInstanceMagicMcpEndpointsCreateOutput, Dict[s return dataclasses.asdict(value) @dataclass -class ManagementInstanceMagicMcpEndpointsCreateBodyServers: +class ManagementInstanceMagicMcpEndpointsCreateBodyMagicMcpServers: magic_mcp_server_id: str tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @dataclass @@ -60,20 +54,20 @@ class ManagementInstanceMagicMcpEndpointsCreateBody: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None consumer_profile_id: Optional[str] = None - magic_mcp_server_ids: Optional[List[str]] = None - servers: Optional[List[ManagementInstanceMagicMcpEndpointsCreateBodyServers]] = None + skill_plugin_id: Optional[str] = None + magic_mcp_servers: Optional[List[ManagementInstanceMagicMcpEndpointsCreateBodyMagicMcpServers]] = None -class mapManagementInstanceMagicMcpEndpointsCreateBodyServers: +class mapManagementInstanceMagicMcpEndpointsCreateBodyMagicMcpServers: @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsCreateBodyServers: - return ManagementInstanceMagicMcpEndpointsCreateBodyServers( + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsCreateBodyMagicMcpServers: + return ManagementInstanceMagicMcpEndpointsCreateBodyMagicMcpServers( magic_mcp_server_id=data.get('magic_mcp_server_id'), tool_filters=data.get('tool_filters') ) @staticmethod - def to_dict(value: Union[ManagementInstanceMagicMcpEndpointsCreateBodyServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ManagementInstanceMagicMcpEndpointsCreateBodyMagicMcpServers, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -88,8 +82,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsCreate description=data.get('description'), metadata=data.get('metadata'), consumer_profile_id=data.get('consumer_profile_id'), - magic_mcp_server_ids=data.get('magic_mcp_server_ids', []), - servers=[mapManagementInstanceMagicMcpEndpointsCreateBodyServers.from_dict(item) for item in data.get('servers', []) if item] + skill_plugin_id=data.get('skill_plugin_id'), + magic_mcp_servers=[mapManagementInstanceMagicMcpEndpointsCreateBodyMagicMcpServers.from_dict(item) for item in data.get('magic_mcp_servers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/delete.py index ab073e1a..cea4b03b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/delete.py @@ -14,9 +14,6 @@ class ManagementInstanceMagicMcpEndpointsDeleteOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsDelete status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/get.py index c137dadf..9bbce108 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/get.py @@ -14,9 +14,6 @@ class ManagementInstanceMagicMcpEndpointsGetOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsGetOut status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/list.py index 566fee38..2911d287 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/list.py @@ -14,9 +14,6 @@ class ManagementInstanceMagicMcpEndpointsListOutputItems: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -38,9 +35,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsListOu status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/remove_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/remove_servers.py index ebdcb655..1cc3019c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/remove_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/remove_servers.py @@ -14,9 +14,6 @@ class ManagementInstanceMagicMcpEndpointsRemoveServersOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsRemove status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/update.py index 3b511da9..ad2485b1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_endpoints/update.py @@ -14,9 +14,6 @@ class ManagementInstanceMagicMcpEndpointsUpdateOutput: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @@ -30,9 +27,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpEndpointsUpdate status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/create.py index ad9300ea..56dbdc91 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/create.py @@ -9,12 +9,122 @@ class ManagementInstanceMagicMcpServersCreateOutputEndpoints: alias: str url: str @dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersCreateOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersCreateOutputProvidersProvider + deployment: ManagementInstanceMagicMcpServersCreateOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersCreateOutputProvidersConfig] = None + auth_config: Optional[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class ManagementInstanceMagicMcpServersCreateOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[ManagementInstanceMagicMcpServersCreateOutputEndpoints] + providers: List[ManagementInstanceMagicMcpServersCreateOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputEndpoints, return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersCreateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersProvider: + return ManagementInstanceMagicMcpServersCreateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersDeployment: + return ManagementInstanceMagicMcpServersCreateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes: + return ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethod: + return ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersAuthCredentials: + return ManagementInstanceMagicMcpServersCreateOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersConfig: + return ManagementInstanceMagicMcpServersCreateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProvidersAuthConfig: + return ManagementInstanceMagicMcpServersCreateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutputProviders: + return ManagementInstanceMagicMcpServersCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersCreateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapManagementInstanceMagicMcpServersCreateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapManagementInstanceMagicMcpServersCreateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceMagicMcpServersCreateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersCreateOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateOu id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapManagementInstanceMagicMcpServersCreateOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapManagementInstanceMagicMcpServersCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -71,6 +411,7 @@ class ManagementInstanceMagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + provider_template_id: Optional[str] = None consumer_profile_id: Optional[str] = None @@ -81,6 +422,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateBo name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + provider_template_id=data.get('provider_template_id'), consumer_profile_id=data.get('consumer_profile_id') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/delete.py index 2249cb1b..d1c524be 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/delete.py @@ -9,12 +9,122 @@ class ManagementInstanceMagicMcpServersDeleteOutputEndpoints: alias: str url: str @dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersDeleteOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersDeleteOutputProvidersProvider + deployment: ManagementInstanceMagicMcpServersDeleteOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersDeleteOutputProvidersConfig] = None + auth_config: Optional[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class ManagementInstanceMagicMcpServersDeleteOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[ManagementInstanceMagicMcpServersDeleteOutputEndpoints] + providers: List[ManagementInstanceMagicMcpServersDeleteOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputEndpoints, return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersProvider: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersDeployment: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethod: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersConfig: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthConfig: + return ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutputProviders: + return ManagementInstanceMagicMcpServersDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersDeleteOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapManagementInstanceMagicMcpServersDeleteOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapManagementInstanceMagicMcpServersDeleteOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceMagicMcpServersDeleteOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersDeleteOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersDeleteOu id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapManagementInstanceMagicMcpServersDeleteOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapManagementInstanceMagicMcpServersDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/get.py index a3dc8551..90d7553e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/get.py @@ -9,12 +9,122 @@ class ManagementInstanceMagicMcpServersGetOutputEndpoints: alias: str url: str @dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersGetOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersGetOutputProvidersProvider + deployment: ManagementInstanceMagicMcpServersGetOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersGetOutputProvidersAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersGetOutputProvidersConfig] = None + auth_config: Optional[ManagementInstanceMagicMcpServersGetOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class ManagementInstanceMagicMcpServersGetOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[ManagementInstanceMagicMcpServersGetOutputEndpoints] + providers: List[ManagementInstanceMagicMcpServersGetOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputEndpoints, Di return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersGetOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersProvider: + return ManagementInstanceMagicMcpServersGetOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersDeployment: + return ManagementInstanceMagicMcpServersGetOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes: + return ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethod: + return ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersGetOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersAuthCredentials: + return ManagementInstanceMagicMcpServersGetOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersConfig: + return ManagementInstanceMagicMcpServersGetOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProvidersAuthConfig: + return ManagementInstanceMagicMcpServersGetOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutputProviders: + return ManagementInstanceMagicMcpServersGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersGetOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapManagementInstanceMagicMcpServersGetOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersGetOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersGetOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapManagementInstanceMagicMcpServersGetOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceMagicMcpServersGetOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersGetOutpu id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapManagementInstanceMagicMcpServersGetOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapManagementInstanceMagicMcpServersGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/list.py index 6a20fe23..6937a897 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/list.py @@ -9,12 +9,122 @@ class ManagementInstanceMagicMcpServersListOutputItemsEndpoints: alias: str url: str @dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersListOutputItemsProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersListOutputItemsProvidersProvider + deployment: ManagementInstanceMagicMcpServersListOutputItemsProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersListOutputItemsProvidersConfig] = None + auth_config: Optional[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class ManagementInstanceMagicMcpServersListOutputItems: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[ManagementInstanceMagicMcpServersListOutputItemsEndpoints] + providers: List[ManagementInstanceMagicMcpServersListOutputItemsProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -48,6 +158,234 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsEndpoin return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersProvider: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersDeployment: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethod: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersConfig: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthConfig: + return ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItemsProviders: + return ManagementInstanceMagicMcpServersListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersListOutputItemsProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapManagementInstanceMagicMcpServersListOutputItemsProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapManagementInstanceMagicMcpServersListOutputItemsProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceMagicMcpServersListOutputItemsProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersListOutputItems: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutputItems: @@ -56,8 +394,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListOutp id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapManagementInstanceMagicMcpServersListOutputItemsEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapManagementInstanceMagicMcpServersListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/create.py index 550bd5c6..1a4b1ab3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/create.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceMagicMcpServersProvidersCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class ManagementInstanceMagicMcpServersProvidersCreateOutputDeployment: object: str @@ -15,6 +24,52 @@ class ManagementInstanceMagicMcpServersProvidersCreateOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersCreateOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class ManagementInstanceMagicMcpServersProvidersCreateOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class ManagementInstanceMagicMcpServersProvidersCreateOutputConfig: class ManagementInstanceMagicMcpServersProvidersCreateOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class ManagementInstanceMagicMcpServersProvidersCreateOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersProvidersCreateOutputProvider deployment: ManagementInstanceMagicMcpServersProvidersCreateOutputDeployment - config: ManagementInstanceMagicMcpServersProvidersCreateOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersProvidersCreateOutputConfig] = None auth_config: Optional[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthConfig] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceMagicMcpServersProvidersCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateOutputProvider: + return ManagementInstanceMagicMcpServersProvidersCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapManagementInstanceMagicMcpServersProvidersCreateOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersCreateOutputD return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes: + return ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethod: + return ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateOutputAuthCredentials: + return ManagementInstanceMagicMcpServersProvidersCreateOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersCreateOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersProvidersCreateOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateOutputConfig: @@ -95,7 +291,14 @@ class mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateOutputAuthConfig: return ManagementInstanceMagicMcpServersProvidersCreateOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvider object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersProvidersCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapManagementInstanceMagicMcpServersProvidersCreateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapManagementInstanceMagicMcpServersProvidersCreateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapManagementInstanceMagicMcpServersProvidersCreateOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -134,9 +344,9 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersCreateOutput, @dataclass class ManagementInstanceMagicMcpServersProvidersCreateBody: + provider_id: str provider_deployment_id: Optional[str] = None provider_config_id: Optional[str] = None - provider_config_vault_id: Optional[str] = None provider_auth_config_id: Optional[str] = None tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @@ -145,9 +355,9 @@ class mapManagementInstanceMagicMcpServersProvidersCreateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersCreateBody: return ManagementInstanceMagicMcpServersProvidersCreateBody( + provider_id=data.get('provider_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), - provider_config_vault_id=data.get('provider_config_vault_id'), provider_auth_config_id=data.get('provider_auth_config_id'), tool_filters=data.get('tool_filters') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/delete.py index 7c2ab0f0..ac3ca6bf 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/delete.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceMagicMcpServersProvidersDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class ManagementInstanceMagicMcpServersProvidersDeleteOutputDeployment: object: str @@ -15,6 +24,52 @@ class ManagementInstanceMagicMcpServersProvidersDeleteOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class ManagementInstanceMagicMcpServersProvidersDeleteOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class ManagementInstanceMagicMcpServersProvidersDeleteOutputConfig: class ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class ManagementInstanceMagicMcpServersProvidersDeleteOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersProvidersDeleteOutputProvider deployment: ManagementInstanceMagicMcpServersProvidersDeleteOutputDeployment - config: ManagementInstanceMagicMcpServersProvidersDeleteOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersProvidersDeleteOutputConfig] = None auth_config: Optional[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapManagementInstanceMagicMcpServersProvidersDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersDeleteOutputProvider: + return ManagementInstanceMagicMcpServersProvidersDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapManagementInstanceMagicMcpServersProvidersDeleteOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersDeleteOutputD return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes: + return ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethod: + return ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials: + return ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersProvidersDeleteOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersDeleteOutputConfig: @@ -95,7 +291,14 @@ class mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthConfig: return ManagementInstanceMagicMcpServersProvidersDeleteOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvider object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersProvidersDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapManagementInstanceMagicMcpServersProvidersDeleteOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapManagementInstanceMagicMcpServersProvidersDeleteOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapManagementInstanceMagicMcpServersProvidersDeleteOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/get.py index 337759ad..6ddf2a80 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/get.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceMagicMcpServersProvidersGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class ManagementInstanceMagicMcpServersProvidersGetOutputDeployment: object: str @@ -15,6 +24,52 @@ class ManagementInstanceMagicMcpServersProvidersGetOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersGetOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class ManagementInstanceMagicMcpServersProvidersGetOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class ManagementInstanceMagicMcpServersProvidersGetOutputConfig: class ManagementInstanceMagicMcpServersProvidersGetOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class ManagementInstanceMagicMcpServersProvidersGetOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersProvidersGetOutputProvider deployment: ManagementInstanceMagicMcpServersProvidersGetOutputDeployment - config: ManagementInstanceMagicMcpServersProvidersGetOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersProvidersGetOutputAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersProvidersGetOutputConfig] = None auth_config: Optional[ManagementInstanceMagicMcpServersProvidersGetOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapManagementInstanceMagicMcpServersProvidersGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersGetOutputProvider: + return ManagementInstanceMagicMcpServersProvidersGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapManagementInstanceMagicMcpServersProvidersGetOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersGetOutputDepl return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes: + return ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersGetOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethod: + return ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersProvidersGetOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersGetOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersGetOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersGetOutputAuthCredentials: + return ManagementInstanceMagicMcpServersProvidersGetOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersGetOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersProvidersGetOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersGetOutputConfig: @@ -95,7 +291,14 @@ class mapManagementInstanceMagicMcpServersProvidersGetOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersGetOutputAuthConfig: return ManagementInstanceMagicMcpServersProvidersGetOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvider object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersProvidersGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapManagementInstanceMagicMcpServersProvidersGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersProvidersGetOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersProvidersGetOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapManagementInstanceMagicMcpServersProvidersGetOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapManagementInstanceMagicMcpServersProvidersGetOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/list.py index 9b374784..2d92f9b1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/list.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceMagicMcpServersProvidersListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class ManagementInstanceMagicMcpServersProvidersListOutputItemsDeployment: object: str @@ -15,6 +24,52 @@ class ManagementInstanceMagicMcpServersProvidersListOutputItemsDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class ManagementInstanceMagicMcpServersProvidersListOutputItemsConfig: object: str id: str @@ -29,19 +84,33 @@ class ManagementInstanceMagicMcpServersProvidersListOutputItemsConfig: class ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class ManagementInstanceMagicMcpServersProvidersListOutputItems: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersProvidersListOutputItemsProvider deployment: ManagementInstanceMagicMcpServersProvidersListOutputItemsDeployment - config: ManagementInstanceMagicMcpServersProvidersListOutputItemsConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersProvidersListOutputItemsConfig] = None auth_config: Optional[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthConfig] = None + archived_at: Optional[datetime] = None @dataclass class ManagementInstanceMagicMcpServersProvidersListOutputPagination: has_more_before: bool @@ -52,6 +121,27 @@ class ManagementInstanceMagicMcpServersProvidersListOutput: pagination: ManagementInstanceMagicMcpServersProvidersListOutputPagination +class mapManagementInstanceMagicMcpServersProvidersListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsProvider: + return ManagementInstanceMagicMcpServersProvidersListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersProvidersListOutputItemsDeployment: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsDeployment: @@ -75,6 +165,112 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersListOutputIte return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes: + return ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethod: + return ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials: + return ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersProvidersListOutputItemsConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsConfig: @@ -103,7 +299,14 @@ class mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthConfig: def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthConfig: return ManagementInstanceMagicMcpServersProvidersListOutputItemsAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -121,14 +324,21 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvider object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersProvidersListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapManagementInstanceMagicMcpServersProvidersListOutputItemsDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapManagementInstanceMagicMcpServersProvidersListOutputItemsConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapManagementInstanceMagicMcpServersProvidersListOutputItemsAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -190,6 +400,8 @@ class ManagementInstanceMagicMcpServersProvidersListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None + integration_provider_id: Optional[Union[str, List[str]]] = None + integration_instance_provider_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_id: Optional[Union[str, List[str]]] = None provider_auth_config_id: Optional[Union[str, List[str]]] = None @@ -209,6 +421,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvider status=data.get('status'), id=data.get('id'), provider_id=data.get('provider_id'), + integration_provider_id=data.get('integration_provider_id'), + integration_instance_provider_id=data.get('integration_instance_provider_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), provider_auth_config_id=data.get('provider_auth_config_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/update.py index 5b9ddfb3..dab2a68a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/providers/update.py @@ -3,6 +3,15 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceMagicMcpServersProvidersUpdateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None @dataclass class ManagementInstanceMagicMcpServersProvidersUpdateOutputDeployment: object: str @@ -15,6 +24,52 @@ class ManagementInstanceMagicMcpServersProvidersUpdateOutputDeployment: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None @dataclass +class ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass class ManagementInstanceMagicMcpServersProvidersUpdateOutputConfig: object: str id: str @@ -29,20 +84,55 @@ class ManagementInstanceMagicMcpServersProvidersUpdateOutputConfig: class ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthConfig: object: str id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None @dataclass class ManagementInstanceMagicMcpServersProvidersUpdateOutput: object: str id: str status: str - tool_filter: Dict[str, Any] - provider_id: str magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersProvidersUpdateOutputProvider deployment: ManagementInstanceMagicMcpServersProvidersUpdateOutputDeployment - config: ManagementInstanceMagicMcpServersProvidersUpdateOutputConfig created_at: datetime updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersProvidersUpdateOutputConfig] = None auth_config: Optional[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthConfig] = None + archived_at: Optional[datetime] = None + +class mapManagementInstanceMagicMcpServersProvidersUpdateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateOutputProvider: + return ManagementInstanceMagicMcpServersProvidersUpdateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersUpdateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) class mapManagementInstanceMagicMcpServersProvidersUpdateOutputDeployment: @staticmethod @@ -67,6 +157,112 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersUpdateOutputD return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes: + return ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethod: + return ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials: + return ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersProvidersUpdateOutputConfig: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateOutputConfig: @@ -95,7 +291,14 @@ class mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthConfig: def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthConfig: return ManagementInstanceMagicMcpServersProvidersUpdateOutputAuthConfig( object=data.get('object'), - id=data.get('id') + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod @@ -113,14 +316,21 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvider object=data.get('object'), id=data.get('id'), status=data.get('status'), - tool_filter=data.get('tool_filter'), - provider_id=data.get('provider_id'), magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersProvidersUpdateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, deployment=mapManagementInstanceMagicMcpServersProvidersUpdateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, config=mapManagementInstanceMagicMcpServersProvidersUpdateOutputConfig.from_dict(data.get('config')) if data.get('config') else None, auth_config=mapManagementInstanceMagicMcpServersProvidersUpdateOutputAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None ) @staticmethod @@ -134,6 +344,9 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersProvidersUpdateOutput, @dataclass class ManagementInstanceMagicMcpServersProvidersUpdateBody: + provider_deployment_id: Optional[str] = None + provider_config_id: Optional[str] = None + provider_auth_config_id: Optional[str] = None tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None @@ -141,6 +354,9 @@ class mapManagementInstanceMagicMcpServersProvidersUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersProvidersUpdateBody: return ManagementInstanceMagicMcpServersProvidersUpdateBody( + provider_deployment_id=data.get('provider_deployment_id'), + provider_config_id=data.get('provider_config_id'), + provider_auth_config_id=data.get('provider_auth_config_id'), tool_filters=data.get('tool_filters') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/update.py index adf05e1a..af426099 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/update.py @@ -9,12 +9,122 @@ class ManagementInstanceMagicMcpServersUpdateOutputEndpoints: alias: str url: str @dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpServersUpdateOutputProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpServersUpdateOutputProvidersProvider + deployment: ManagementInstanceMagicMcpServersUpdateOutputProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpServersUpdateOutputProvidersConfig] = None + auth_config: Optional[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class ManagementInstanceMagicMcpServersUpdateOutput: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[ManagementInstanceMagicMcpServersUpdateOutputEndpoints] + providers: List[ManagementInstanceMagicMcpServersUpdateOutputProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -40,6 +150,234 @@ def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputEndpoints, return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersProvider: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersDeployment: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethod: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersConfig: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthConfig: + return ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpServersUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutputProviders: + return ManagementInstanceMagicMcpServersUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpServersUpdateOutputProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapManagementInstanceMagicMcpServersUpdateOutputProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapManagementInstanceMagicMcpServersUpdateOutputProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceMagicMcpServersUpdateOutputProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpServersUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpServersUpdateOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOutput: @@ -48,8 +386,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateOu id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapManagementInstanceMagicMcpServersUpdateOutputEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapManagementInstanceMagicMcpServersUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -72,7 +412,6 @@ class ManagementInstanceMagicMcpServersUpdateBody: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None aliases: Optional[List[str]] = None - session_template_id: Optional[str] = None class mapManagementInstanceMagicMcpServersUpdateBody: @@ -82,8 +421,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersUpdateBo name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - aliases=data.get('aliases', []), - session_template_id=data.get('session_template_id') + aliases=data.get('aliases', []) ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_sessions/get.py index f134946e..7cb2e11d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_sessions/get.py @@ -9,12 +9,122 @@ class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerEndpoints: alias: str url: str @dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider + deployment: ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig] = None + auth_config: Optional[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServer: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerEndpoints] + providers: List[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -32,9 +142,6 @@ class ManagementInstanceMagicMcpSessionsGetOutputMagicMcpEndpoint: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -68,6 +175,234 @@ def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServ return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders: + return ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServer: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutputMagicMcpServer: @@ -76,8 +411,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutp id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapManagementInstanceMagicMcpSessionsGetOutputMagicMcpServerProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -102,9 +439,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsGetOutp status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_sessions/list.py index d22971a7..49e91672 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_sessions/list.py @@ -9,12 +9,122 @@ class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerEndpoints: alias: str url: str @dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + type: str + schema: Dict[str, Any] +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + object: str + id: str + scope: str + name: str + description: Optional[str] = None +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + object: str + id: str + type: str + key: str + name: str + capabilities: Dict[str, Any] + provider_id: str + provider_specification_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + input_schema: Optional[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema] = None + output_schema: Optional[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema] = None + scopes: Optional[List[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + object: str + id: str + type: str + status: str + is_default: bool + is_managed: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + scopes: Optional[List[str]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + object: str + id: str + is_default: bool + provider_id: str + created_at: datetime + updated_at: datetime + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders: + object: str + id: str + status: str + magic_mcp_server_id: str + provider_management_mode: str + name: str + provider: ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider + deployment: ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filter: Optional[Dict[str, Any]] = None + auth_method: Optional[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod] = None + auth_credentials: Optional[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials] = None + config: Optional[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig] = None + auth_config: Optional[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig] = None + archived_at: Optional[datetime] = None +@dataclass class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServer: object: str id: str status: str source: str + provider_management_mode: str endpoints: List[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerEndpoints] + providers: List[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders] metadata: Dict[str, Any] created_at: datetime updated_at: datetime @@ -32,9 +142,6 @@ class ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpEndpoint: metadata: Dict[str, Any] created_at: datetime updated_at: datetime - consumer_profile_id: Optional[str] = None - session_template_id: Optional[str] = None - session_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None @dataclass @@ -76,6 +183,234 @@ def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicM return value return dataclasses.asdict(value) +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema( + type=data.get('type'), + schema=data.get('schema') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes( + object=data.get('object'), + id=data.get('id'), + scope=data.get('scope'), + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + key=data.get('key'), + name=data.get('name'), + description=data.get('description'), + capabilities=data.get('capabilities'), + input_schema=mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodInputSchema.from_dict(data.get('input_schema')) if data.get('input_schema') else None, + output_schema=mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodOutputSchema.from_dict(data.get('output_schema')) if data.get('output_schema') else None, + scopes=[mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethodScopes.from_dict(item) for item in data.get('scopes', []) if item], + provider_id=data.get('provider_id'), + provider_specification_id=data.get('provider_specification_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + status=data.get('status'), + is_default=data.get('is_default'), + is_managed=data.get('is_managed'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + scopes=data.get('scopes', []), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + provider_id=data.get('provider_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders: + return ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + provider_management_mode=data.get('provider_management_mode'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filter=data.get('tool_filter'), + provider=mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersProvider.from_dict(data.get('provider')) if data.get('provider') else None, + deployment=mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, + auth_method=mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, + auth_credentials=mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthCredentials.from_dict(data.get('auth_credentials')) if data.get('auth_credentials') else None, + config=mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersConfig.from_dict(data.get('config')) if data.get('config') else None, + auth_config=mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProvidersAuthConfig.from_dict(data.get('auth_config')) if data.get('auth_config') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServer: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServer: @@ -84,8 +419,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOut id=data.get('id'), status=data.get('status'), source=data.get('source'), - provider_template_id=data.get('provider_template_id'), + provider_management_mode=data.get('provider_management_mode'), endpoints=[mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerEndpoints.from_dict(item) for item in data.get('endpoints', []) if item], + provider_template_id=data.get('provider_template_id'), + providers=[mapManagementInstanceMagicMcpSessionsListOutputItemsMagicMcpServerProviders.from_dict(item) for item in data.get('providers', []) if item], name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), @@ -110,9 +447,6 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpSessionsListOut status=data.get('status'), slug=data.get('slug'), url=data.get('url'), - consumer_profile_id=data.get('consumer_profile_id'), - session_template_id=data.get('session_template_id'), - session_id=data.get('session_id'), servers=data.get('servers', []), name=data.get('name'), description=data.get('description'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/__init__.py index ca972d2b..3606c329 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/__init__.py @@ -1,5 +1,12 @@ +from .access import * +from .access_requests import * +from .auth import * +from .consumer_groups import * +from .consumer_invites import * +from .consumer_profiles import * from .create import * from .delete import * from .get import * from .list import * +from .listings import * from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/create.py new file mode 100644 index 00000000..f5a8c238 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/create.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAccessCreateOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsAccessCreateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: ManagementInstancePortalsAccessCreateOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsAccessCreateOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessCreateOutputConsumerGroup: + return ManagementInstancePortalsAccessCreateOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessCreateOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessCreateOutput: + return ManagementInstancePortalsAccessCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapManagementInstancePortalsAccessCreateOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAccessCreateBody: + consumer_group_id: str + access: Dict[str, Any] + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsAccessCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessCreateBody: + return ManagementInstancePortalsAccessCreateBody( + consumer_group_id=data.get('consumer_group_id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/delete.py new file mode 100644 index 00000000..2fb8f8c6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/delete.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAccessDeleteOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsAccessDeleteOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: ManagementInstancePortalsAccessDeleteOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsAccessDeleteOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessDeleteOutputConsumerGroup: + return ManagementInstancePortalsAccessDeleteOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessDeleteOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessDeleteOutput: + return ManagementInstancePortalsAccessDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapManagementInstancePortalsAccessDeleteOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/get.py new file mode 100644 index 00000000..6f3106a3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/get.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAccessGetOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsAccessGetOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: ManagementInstancePortalsAccessGetOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsAccessGetOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessGetOutputConsumerGroup: + return ManagementInstancePortalsAccessGetOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessGetOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessGetOutput: + return ManagementInstancePortalsAccessGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapManagementInstancePortalsAccessGetOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/list.py new file mode 100644 index 00000000..16b18c12 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/list.py @@ -0,0 +1,165 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAccessListOutputItemsConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsAccessListOutputItems: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: ManagementInstancePortalsAccessListOutputItemsConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None +@dataclass +class ManagementInstancePortalsAccessListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstancePortalsAccessListOutput: + items: List[ManagementInstancePortalsAccessListOutputItems] + pagination: ManagementInstancePortalsAccessListOutputPagination + + +class mapManagementInstancePortalsAccessListOutputItemsConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessListOutputItemsConsumerGroup: + return ManagementInstancePortalsAccessListOutputItemsConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessListOutputItemsConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessListOutputItems: + return ManagementInstancePortalsAccessListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapManagementInstancePortalsAccessListOutputItemsConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessListOutputPagination: + return ManagementInstancePortalsAccessListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessListOutput: + return ManagementInstancePortalsAccessListOutput( + items=[mapManagementInstancePortalsAccessListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstancePortalsAccessListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAccessListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_group_id: Optional[Union[str, List[str]]] = None + provider_template_id: Optional[Union[str, List[str]]] = None + magic_mcp_server_id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + skill_template_id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + consumer_access_listing_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + + +class mapManagementInstancePortalsAccessListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessListQuery: + return ManagementInstancePortalsAccessListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_group_id=data.get('consumer_group_id'), + provider_template_id=data.get('provider_template_id'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + skill_id=data.get('skill_id'), + skill_template_id=data.get('skill_template_id'), + skill_group_id=data.get('skill_group_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + consumer_access_listing_id=data.get('consumer_access_listing_id'), + type=data.get('type') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/update.py new file mode 100644 index 00000000..0ea16e2a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access/update.py @@ -0,0 +1,101 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAccessUpdateOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsAccessUpdateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: ManagementInstancePortalsAccessUpdateOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsAccessUpdateOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessUpdateOutputConsumerGroup: + return ManagementInstancePortalsAccessUpdateOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessUpdateOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessUpdateOutput: + return ManagementInstancePortalsAccessUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapManagementInstancePortalsAccessUpdateOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAccessUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsAccessUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessUpdateBody: + return ManagementInstancePortalsAccessUpdateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/__init__.py new file mode 100644 index 00000000..1a83b619 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/get.py new file mode 100644 index 00000000..93fbeaa4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/get.py @@ -0,0 +1,68 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAccessRequestsGetOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class ManagementInstancePortalsAccessRequestsGetOutput: + object: str + id: str + status: str + consumer_profile: ManagementInstancePortalsAccessRequestsGetOutputConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None + + +class mapManagementInstancePortalsAccessRequestsGetOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsGetOutputConsumerProfile: + return ManagementInstancePortalsAccessRequestsGetOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsGetOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessRequestsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsGetOutput: + return ManagementInstancePortalsAccessRequestsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapManagementInstancePortalsAccessRequestsGetOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/list.py new file mode 100644 index 00000000..a77520fa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/list.py @@ -0,0 +1,143 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAccessRequestsListOutputItemsConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class ManagementInstancePortalsAccessRequestsListOutputItems: + object: str + id: str + status: str + consumer_profile: ManagementInstancePortalsAccessRequestsListOutputItemsConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None +@dataclass +class ManagementInstancePortalsAccessRequestsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstancePortalsAccessRequestsListOutput: + items: List[ManagementInstancePortalsAccessRequestsListOutputItems] + pagination: ManagementInstancePortalsAccessRequestsListOutputPagination + + +class mapManagementInstancePortalsAccessRequestsListOutputItemsConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsListOutputItemsConsumerProfile: + return ManagementInstancePortalsAccessRequestsListOutputItemsConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsListOutputItemsConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessRequestsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsListOutputItems: + return ManagementInstancePortalsAccessRequestsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapManagementInstancePortalsAccessRequestsListOutputItemsConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessRequestsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsListOutputPagination: + return ManagementInstancePortalsAccessRequestsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessRequestsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsListOutput: + return ManagementInstancePortalsAccessRequestsListOutput( + items=[mapManagementInstancePortalsAccessRequestsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstancePortalsAccessRequestsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAccessRequestsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + + +class mapManagementInstancePortalsAccessRequestsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsListQuery: + return ManagementInstancePortalsAccessRequestsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + consumer_profile_id=data.get('consumer_profile_id'), + search=data.get('search') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/update.py new file mode 100644 index 00000000..1a9ed1ea --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/access_requests/update.py @@ -0,0 +1,93 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAccessRequestsUpdateOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class ManagementInstancePortalsAccessRequestsUpdateOutput: + object: str + id: str + status: str + consumer_profile: ManagementInstancePortalsAccessRequestsUpdateOutputConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None + + +class mapManagementInstancePortalsAccessRequestsUpdateOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsUpdateOutputConsumerProfile: + return ManagementInstancePortalsAccessRequestsUpdateOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsUpdateOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAccessRequestsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsUpdateOutput: + return ManagementInstancePortalsAccessRequestsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapManagementInstancePortalsAccessRequestsUpdateOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAccessRequestsUpdateBody: + status: str + resolution_message: Optional[str] = None + consumer_group_id: Optional[str] = None + + +class mapManagementInstancePortalsAccessRequestsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAccessRequestsUpdateBody: + return ManagementInstancePortalsAccessRequestsUpdateBody( + status=data.get('status'), + resolution_message=data.get('resolution_message'), + consumer_group_id=data.get('consumer_group_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAccessRequestsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/__init__.py new file mode 100644 index 00000000..44f589f0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/__init__.py @@ -0,0 +1,2 @@ +from .app import * +from .sso_tenants import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/__init__.py new file mode 100644 index 00000000..7ce85e04 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/get.py new file mode 100644 index 00000000..c468f2af --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/get.py @@ -0,0 +1,36 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAuthAppGetOutput: + object: str + id: str + email_whitelist: List[str] + created_at: datetime + updated_at: datetime + slug: Optional[str] = None + + +class mapManagementInstancePortalsAuthAppGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthAppGetOutput: + return ManagementInstancePortalsAuthAppGetOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + email_whitelist=data.get('email_whitelist', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthAppGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/update.py new file mode 100644 index 00000000..f250dbc4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/app/update.py @@ -0,0 +1,57 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAuthAppUpdateOutput: + object: str + id: str + email_whitelist: List[str] + created_at: datetime + updated_at: datetime + slug: Optional[str] = None + + +class mapManagementInstancePortalsAuthAppUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthAppUpdateOutput: + return ManagementInstancePortalsAuthAppUpdateOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + email_whitelist=data.get('email_whitelist', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthAppUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAuthAppUpdateBody: + email_whitelist: Optional[List[str]] = None + + +class mapManagementInstancePortalsAuthAppUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthAppUpdateBody: + return ManagementInstancePortalsAuthAppUpdateBody( + email_whitelist=data.get('email_whitelist', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthAppUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/__init__.py new file mode 100644 index 00000000..271b84a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/__init__.py @@ -0,0 +1,4 @@ +from .connections import * +from .create import * +from .list import * +from .setup import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/connections/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/connections/__init__.py new file mode 100644 index 00000000..7f803db3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/connections/__init__.py @@ -0,0 +1 @@ +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/connections/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/connections/list.py new file mode 100644 index 00000000..77bf92b0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/connections/list.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputItems: + object: str + id: str + name: str + provider_type: str + created_at: datetime + provider_name: Optional[str] = None +@dataclass +class ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstancePortalsAuthSsoTenantsConnectionsListOutput: + items: List[ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputItems] + pagination: ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputPagination + + +class mapManagementInstancePortalsAuthSsoTenantsConnectionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputItems: + return ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + provider_type=data.get('provider_type'), + provider_name=data.get('provider_name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAuthSsoTenantsConnectionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputPagination: + return ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsConnectionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAuthSsoTenantsConnectionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsConnectionsListOutput: + return ManagementInstancePortalsAuthSsoTenantsConnectionsListOutput( + items=[mapManagementInstancePortalsAuthSsoTenantsConnectionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstancePortalsAuthSsoTenantsConnectionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsConnectionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAuthSsoTenantsConnectionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstancePortalsAuthSsoTenantsConnectionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsConnectionsListQuery: + return ManagementInstancePortalsAuthSsoTenantsConnectionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsConnectionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/create.py new file mode 100644 index 00000000..c432d632 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/create.py @@ -0,0 +1,79 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAuthSsoTenantsCreateOutputCounts: + connections: float +@dataclass +class ManagementInstancePortalsAuthSsoTenantsCreateOutput: + object: str + id: str + name: str + status: str + client_id: str + counts: ManagementInstancePortalsAuthSsoTenantsCreateOutputCounts + created_at: datetime + updated_at: datetime + + +class mapManagementInstancePortalsAuthSsoTenantsCreateOutputCounts: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsCreateOutputCounts: + return ManagementInstancePortalsAuthSsoTenantsCreateOutputCounts( + connections=data.get('connections') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsCreateOutputCounts, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAuthSsoTenantsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsCreateOutput: + return ManagementInstancePortalsAuthSsoTenantsCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + status=data.get('status'), + client_id=data.get('client_id'), + counts=mapManagementInstancePortalsAuthSsoTenantsCreateOutputCounts.from_dict(data.get('counts')) if data.get('counts') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAuthSsoTenantsCreateBody: + name: str + + +class mapManagementInstancePortalsAuthSsoTenantsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsCreateBody: + return ManagementInstancePortalsAuthSsoTenantsCreateBody( + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/list.py new file mode 100644 index 00000000..ea089281 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/list.py @@ -0,0 +1,127 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAuthSsoTenantsListOutputItemsCounts: + connections: float +@dataclass +class ManagementInstancePortalsAuthSsoTenantsListOutputItems: + object: str + id: str + name: str + status: str + client_id: str + counts: ManagementInstancePortalsAuthSsoTenantsListOutputItemsCounts + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstancePortalsAuthSsoTenantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstancePortalsAuthSsoTenantsListOutput: + items: List[ManagementInstancePortalsAuthSsoTenantsListOutputItems] + pagination: ManagementInstancePortalsAuthSsoTenantsListOutputPagination + + +class mapManagementInstancePortalsAuthSsoTenantsListOutputItemsCounts: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsListOutputItemsCounts: + return ManagementInstancePortalsAuthSsoTenantsListOutputItemsCounts( + connections=data.get('connections') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsListOutputItemsCounts, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAuthSsoTenantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsListOutputItems: + return ManagementInstancePortalsAuthSsoTenantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + status=data.get('status'), + client_id=data.get('client_id'), + counts=mapManagementInstancePortalsAuthSsoTenantsListOutputItemsCounts.from_dict(data.get('counts')) if data.get('counts') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAuthSsoTenantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsListOutputPagination: + return ManagementInstancePortalsAuthSsoTenantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsAuthSsoTenantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsListOutput: + return ManagementInstancePortalsAuthSsoTenantsListOutput( + items=[mapManagementInstancePortalsAuthSsoTenantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstancePortalsAuthSsoTenantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsAuthSsoTenantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstancePortalsAuthSsoTenantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsListQuery: + return ManagementInstancePortalsAuthSsoTenantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/setup.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/setup.py new file mode 100644 index 00000000..a223b2c7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/auth/sso_tenants/setup.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsAuthSsoTenantsSetupOutput: + object: str + url: str + + +class mapManagementInstancePortalsAuthSsoTenantsSetupOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsAuthSsoTenantsSetupOutput: + return ManagementInstancePortalsAuthSsoTenantsSetupOutput( + object=data.get('object'), + url=data.get('url') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsAuthSsoTenantsSetupOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/create.py new file mode 100644 index 00000000..c24cdeac --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/create.py @@ -0,0 +1,69 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerGroupsCreateOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstancePortalsConsumerGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsCreateOutput: + return ManagementInstancePortalsConsumerGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerGroupsCreateBody: + name: str + description: Optional[str] = None + sso_group_ids: Optional[List[str]] = None + is_default: Optional[bool] = None + + +class mapManagementInstancePortalsConsumerGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsCreateBody: + return ManagementInstancePortalsConsumerGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + sso_group_ids=data.get('sso_group_ids', []), + is_default=data.get('is_default') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/delete.py new file mode 100644 index 00000000..8638845c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/delete.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerGroupsDeleteOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstancePortalsConsumerGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsDeleteOutput: + return ManagementInstancePortalsConsumerGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/get.py new file mode 100644 index 00000000..b39137e5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/get.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerGroupsGetOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstancePortalsConsumerGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsGetOutput: + return ManagementInstancePortalsConsumerGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/list.py new file mode 100644 index 00000000..55f2afd0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/list.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerGroupsListOutputItems: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsConsumerGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstancePortalsConsumerGroupsListOutput: + items: List[ManagementInstancePortalsConsumerGroupsListOutputItems] + pagination: ManagementInstancePortalsConsumerGroupsListOutputPagination + + +class mapManagementInstancePortalsConsumerGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsListOutputItems: + return ManagementInstancePortalsConsumerGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsListOutputPagination: + return ManagementInstancePortalsConsumerGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsListOutput: + return ManagementInstancePortalsConsumerGroupsListOutput( + items=[mapManagementInstancePortalsConsumerGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstancePortalsConsumerGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + + +class mapManagementInstancePortalsConsumerGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsListQuery: + return ManagementInstancePortalsConsumerGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + search=data.get('search') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/update.py new file mode 100644 index 00000000..62717dbd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_groups/update.py @@ -0,0 +1,69 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerGroupsUpdateOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstancePortalsConsumerGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsUpdateOutput: + return ManagementInstancePortalsConsumerGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + sso_group_ids: Optional[List[str]] = None + is_default: Optional[bool] = None + + +class mapManagementInstancePortalsConsumerGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerGroupsUpdateBody: + return ManagementInstancePortalsConsumerGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + sso_group_ids=data.get('sso_group_ids', []), + is_default=data.get('is_default') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/create.py new file mode 100644 index 00000000..9425ca8e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/create.py @@ -0,0 +1,117 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerInvitesCreateOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class ManagementInstancePortalsConsumerInvitesCreateOutputInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class ManagementInstancePortalsConsumerInvitesCreateOutput: + object: str + id: str + status: str + consumer_profile: ManagementInstancePortalsConsumerInvitesCreateOutputConsumerProfile + invited_by: ManagementInstancePortalsConsumerInvitesCreateOutputInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None + + +class mapManagementInstancePortalsConsumerInvitesCreateOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesCreateOutputConsumerProfile: + return ManagementInstancePortalsConsumerInvitesCreateOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesCreateOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerInvitesCreateOutputInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesCreateOutputInvitedBy: + return ManagementInstancePortalsConsumerInvitesCreateOutputInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesCreateOutputInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerInvitesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesCreateOutput: + return ManagementInstancePortalsConsumerInvitesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapManagementInstancePortalsConsumerInvitesCreateOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapManagementInstancePortalsConsumerInvitesCreateOutputInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerInvitesCreateBody: + name: str + email: str + message: Optional[str] = None + + +class mapManagementInstancePortalsConsumerInvitesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesCreateBody: + return ManagementInstancePortalsConsumerInvitesCreateBody( + name=data.get('name'), + email=data.get('email'), + message=data.get('message') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/get.py new file mode 100644 index 00000000..192795d7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/get.py @@ -0,0 +1,92 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerInvitesGetOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class ManagementInstancePortalsConsumerInvitesGetOutputInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class ManagementInstancePortalsConsumerInvitesGetOutput: + object: str + id: str + status: str + consumer_profile: ManagementInstancePortalsConsumerInvitesGetOutputConsumerProfile + invited_by: ManagementInstancePortalsConsumerInvitesGetOutputInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None + + +class mapManagementInstancePortalsConsumerInvitesGetOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesGetOutputConsumerProfile: + return ManagementInstancePortalsConsumerInvitesGetOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesGetOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerInvitesGetOutputInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesGetOutputInvitedBy: + return ManagementInstancePortalsConsumerInvitesGetOutputInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesGetOutputInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerInvitesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesGetOutput: + return ManagementInstancePortalsConsumerInvitesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapManagementInstancePortalsConsumerInvitesGetOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapManagementInstancePortalsConsumerInvitesGetOutputInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/list.py new file mode 100644 index 00000000..6dcc8959 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_invites/list.py @@ -0,0 +1,165 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerInvitesListOutputItemsConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class ManagementInstancePortalsConsumerInvitesListOutputItemsInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class ManagementInstancePortalsConsumerInvitesListOutputItems: + object: str + id: str + status: str + consumer_profile: ManagementInstancePortalsConsumerInvitesListOutputItemsConsumerProfile + invited_by: ManagementInstancePortalsConsumerInvitesListOutputItemsInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None +@dataclass +class ManagementInstancePortalsConsumerInvitesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstancePortalsConsumerInvitesListOutput: + items: List[ManagementInstancePortalsConsumerInvitesListOutputItems] + pagination: ManagementInstancePortalsConsumerInvitesListOutputPagination + + +class mapManagementInstancePortalsConsumerInvitesListOutputItemsConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesListOutputItemsConsumerProfile: + return ManagementInstancePortalsConsumerInvitesListOutputItemsConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesListOutputItemsConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerInvitesListOutputItemsInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesListOutputItemsInvitedBy: + return ManagementInstancePortalsConsumerInvitesListOutputItemsInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesListOutputItemsInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerInvitesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesListOutputItems: + return ManagementInstancePortalsConsumerInvitesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapManagementInstancePortalsConsumerInvitesListOutputItemsConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapManagementInstancePortalsConsumerInvitesListOutputItemsInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerInvitesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesListOutputPagination: + return ManagementInstancePortalsConsumerInvitesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerInvitesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesListOutput: + return ManagementInstancePortalsConsumerInvitesListOutput( + items=[mapManagementInstancePortalsConsumerInvitesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstancePortalsConsumerInvitesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerInvitesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + + +class mapManagementInstancePortalsConsumerInvitesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerInvitesListQuery: + return ManagementInstancePortalsConsumerInvitesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerInvitesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/__init__.py new file mode 100644 index 00000000..390c65e3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/__init__.py @@ -0,0 +1,5 @@ +from .assign_groups import * +from .create import * +from .get import * +from .list import * +from .unassign_groups import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/assign_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/assign_groups.py new file mode 100644 index 00000000..0057ff6b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/assign_groups.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups: + object: str + group: ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup + assigned_via: str +@dataclass +class ManagementInstancePortalsConsumerProfilesAssignGroupsOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups]] = None + + +class mapManagementInstancePortalsConsumerProfilesAssignGroupsOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesAssignGroupsOutput: + return ManagementInstancePortalsConsumerProfilesAssignGroupsOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesAssignGroupsOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerProfilesAssignGroupsBody: + group_ids: List[str] + + +class mapManagementInstancePortalsConsumerProfilesAssignGroupsBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesAssignGroupsBody: + return ManagementInstancePortalsConsumerProfilesAssignGroupsBody( + group_ids=data.get('group_ids', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesAssignGroupsBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/create.py new file mode 100644 index 00000000..3e4ccd3c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/create.py @@ -0,0 +1,83 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerProfilesCreateOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsConsumerProfilesCreateOutputGroups: + object: str + group: ManagementInstancePortalsConsumerProfilesCreateOutputGroupsGroup + assigned_via: str +@dataclass +class ManagementInstancePortalsConsumerProfilesCreateOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[ManagementInstancePortalsConsumerProfilesCreateOutputGroups]] = None + + +class mapManagementInstancePortalsConsumerProfilesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesCreateOutput: + return ManagementInstancePortalsConsumerProfilesCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapManagementInstancePortalsConsumerProfilesCreateOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerProfilesCreateBody: + email: str + name: str + + +class mapManagementInstancePortalsConsumerProfilesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesCreateBody: + return ManagementInstancePortalsConsumerProfilesCreateBody( + email=data.get('email'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/get.py new file mode 100644 index 00000000..5467bad8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsConsumerProfilesGetOutputGroups: + object: str + group: ManagementInstancePortalsConsumerProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class ManagementInstancePortalsConsumerProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[ManagementInstancePortalsConsumerProfilesGetOutputGroups]] = None + + +class mapManagementInstancePortalsConsumerProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesGetOutput: + return ManagementInstancePortalsConsumerProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapManagementInstancePortalsConsumerProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/list.py new file mode 100644 index 00000000..6d3687a5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/list.py @@ -0,0 +1,83 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstancePortalsConsumerProfilesListOutput: + items: List[Dict[str, Any]] + pagination: ManagementInstancePortalsConsumerProfilesListOutputPagination + + +class mapManagementInstancePortalsConsumerProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesListOutputPagination: + return ManagementInstancePortalsConsumerProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsConsumerProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesListOutput: + return ManagementInstancePortalsConsumerProfilesListOutput( + items=data.get('items', []), + pagination=mapManagementInstancePortalsConsumerProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_group_id: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + + +class mapManagementInstancePortalsConsumerProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesListQuery: + return ManagementInstancePortalsConsumerProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_group_id=data.get('consumer_group_id'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/unassign_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/unassign_groups.py new file mode 100644 index 00000000..10dd6a8f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/consumer_profiles/unassign_groups.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups: + object: str + group: ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup + assigned_via: str +@dataclass +class ManagementInstancePortalsConsumerProfilesUnassignGroupsOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups]] = None + + +class mapManagementInstancePortalsConsumerProfilesUnassignGroupsOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesUnassignGroupsOutput: + return ManagementInstancePortalsConsumerProfilesUnassignGroupsOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesUnassignGroupsOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsConsumerProfilesUnassignGroupsBody: + group_ids: List[str] + + +class mapManagementInstancePortalsConsumerProfilesUnassignGroupsBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesUnassignGroupsBody: + return ManagementInstancePortalsConsumerProfilesUnassignGroupsBody( + group_ids=data.get('group_ids', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesUnassignGroupsBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/create.py index 70c11590..1b65a7f3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/create.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstancePortalsCreateOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ManagementInstancePortalsCreateOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class ManagementInstancePortalsCreateOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ManagementInstancePortalsCreateOutputSkillConfiguration auth: ManagementInstancePortalsCreateOutputAuth urls: List[ManagementInstancePortalsCreateOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class ManagementInstancePortalsCreateOutput: description: Optional[str] = None +class mapManagementInstancePortalsCreateOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsCreateOutputSkillConfiguration: + return ManagementInstancePortalsCreateOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsCreateOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstancePortalsCreateOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsCreateOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsCreateOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapManagementInstancePortalsCreateOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapManagementInstancePortalsCreateOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapManagementInstancePortalsCreateOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -111,6 +145,8 @@ class ManagementInstancePortalsCreateBody: description: Optional[str] = None allowed_redirect_url_filters: Optional[List[ManagementInstancePortalsCreateBodyAllowedRedirectUrlFilters]] = None session_expiry_time_in_seconds: Optional[float] = None + allow_consumer_skill_authoring: Optional[bool] = None + allow_consumer_skill_publishing: Optional[bool] = None class mapManagementInstancePortalsCreateBodyAllowedRedirectUrlFilters: @@ -135,7 +171,9 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsCreateBody: name=data.get('name'), description=data.get('description'), allowed_redirect_url_filters=[mapManagementInstancePortalsCreateBodyAllowedRedirectUrlFilters.from_dict(item) for item in data.get('allowed_redirect_url_filters', []) if item], - session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/delete.py index 8edd6edf..e6e7a72b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/delete.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstancePortalsDeleteOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ManagementInstancePortalsDeleteOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class ManagementInstancePortalsDeleteOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ManagementInstancePortalsDeleteOutputSkillConfiguration auth: ManagementInstancePortalsDeleteOutputAuth urls: List[ManagementInstancePortalsDeleteOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class ManagementInstancePortalsDeleteOutput: description: Optional[str] = None +class mapManagementInstancePortalsDeleteOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsDeleteOutputSkillConfiguration: + return ManagementInstancePortalsDeleteOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsDeleteOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstancePortalsDeleteOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsDeleteOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsDeleteOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapManagementInstancePortalsDeleteOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapManagementInstancePortalsDeleteOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapManagementInstancePortalsDeleteOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/get.py index fc99831f..b7bcd857 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/get.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstancePortalsGetOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ManagementInstancePortalsGetOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class ManagementInstancePortalsGetOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ManagementInstancePortalsGetOutputSkillConfiguration auth: ManagementInstancePortalsGetOutputAuth urls: List[ManagementInstancePortalsGetOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class ManagementInstancePortalsGetOutput: description: Optional[str] = None +class mapManagementInstancePortalsGetOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsGetOutputSkillConfiguration: + return ManagementInstancePortalsGetOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsGetOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstancePortalsGetOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsGetOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsGetOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapManagementInstancePortalsGetOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapManagementInstancePortalsGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapManagementInstancePortalsGetOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/list.py index 3214f14f..3e1b6323 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/list.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstancePortalsListOutputItemsSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ManagementInstancePortalsListOutputItemsAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class ManagementInstancePortalsListOutputItems: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ManagementInstancePortalsListOutputItemsSkillConfiguration auth: ManagementInstancePortalsListOutputItemsAuth urls: List[ManagementInstancePortalsListOutputItemsUrls] created_at: datetime @@ -37,6 +48,26 @@ class ManagementInstancePortalsListOutput: pagination: ManagementInstancePortalsListOutputPagination +class mapManagementInstancePortalsListOutputItemsSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListOutputItemsSkillConfiguration: + return ManagementInstancePortalsListOutputItemsSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListOutputItemsSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstancePortalsListOutputItemsAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListOutputItemsAuthAllowedRedirectUrlFilters: @@ -95,6 +126,9 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListOutputItems: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapManagementInstancePortalsListOutputItemsSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapManagementInstancePortalsListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapManagementInstancePortalsListOutputItemsUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/create.py new file mode 100644 index 00000000..3f79cba3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/create.py @@ -0,0 +1,93 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsListingsCreateOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsListingsCreateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[ManagementInstancePortalsListingsCreateOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsListingsCreateOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsCreateOutputGroups: + return ManagementInstancePortalsListingsCreateOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsCreateOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsListingsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsCreateOutput: + return ManagementInstancePortalsListingsCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapManagementInstancePortalsListingsCreateOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsListingsCreateBody: + access: Dict[str, Any] + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsListingsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsCreateBody: + return ManagementInstancePortalsListingsCreateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/delete.py new file mode 100644 index 00000000..a7b8e4ef --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/delete.py @@ -0,0 +1,66 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsListingsDeleteOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsListingsDeleteOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[ManagementInstancePortalsListingsDeleteOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsListingsDeleteOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsDeleteOutputGroups: + return ManagementInstancePortalsListingsDeleteOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsDeleteOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsListingsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsDeleteOutput: + return ManagementInstancePortalsListingsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapManagementInstancePortalsListingsDeleteOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/get.py new file mode 100644 index 00000000..e4186f97 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/get.py @@ -0,0 +1,66 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsListingsGetOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsListingsGetOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[ManagementInstancePortalsListingsGetOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsListingsGetOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsGetOutputGroups: + return ManagementInstancePortalsListingsGetOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsListingsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsGetOutput: + return ManagementInstancePortalsListingsGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapManagementInstancePortalsListingsGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/list.py new file mode 100644 index 00000000..b92e16ac --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/list.py @@ -0,0 +1,153 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsListingsListOutputItemsGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsListingsListOutputItems: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[ManagementInstancePortalsListingsListOutputItemsGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None +@dataclass +class ManagementInstancePortalsListingsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstancePortalsListingsListOutput: + items: List[ManagementInstancePortalsListingsListOutputItems] + pagination: ManagementInstancePortalsListingsListOutputPagination + + +class mapManagementInstancePortalsListingsListOutputItemsGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsListOutputItemsGroups: + return ManagementInstancePortalsListingsListOutputItemsGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsListingsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsListOutputItems: + return ManagementInstancePortalsListingsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapManagementInstancePortalsListingsListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsListingsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsListOutputPagination: + return ManagementInstancePortalsListingsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsListingsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsListOutput: + return ManagementInstancePortalsListingsListOutput( + items=[mapManagementInstancePortalsListingsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstancePortalsListingsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsListingsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_surface_provider_group_id: Optional[Union[str, List[str]]] = None + provider_template_id: Optional[Union[str, List[str]]] = None + magic_mcp_server_id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + skill_template_id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + + +class mapManagementInstancePortalsListingsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsListQuery: + return ManagementInstancePortalsListingsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_surface_provider_group_id=data.get('consumer_surface_provider_group_id'), + provider_template_id=data.get('provider_template_id'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + skill_id=data.get('skill_id'), + skill_template_id=data.get('skill_template_id'), + skill_group_id=data.get('skill_group_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + type=data.get('type') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/update.py new file mode 100644 index 00000000..2ebbb0a7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/listings/update.py @@ -0,0 +1,91 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstancePortalsListingsUpdateOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class ManagementInstancePortalsListingsUpdateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[ManagementInstancePortalsListingsUpdateOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsListingsUpdateOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsUpdateOutputGroups: + return ManagementInstancePortalsListingsUpdateOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsUpdateOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstancePortalsListingsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsUpdateOutput: + return ManagementInstancePortalsListingsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapManagementInstancePortalsListingsUpdateOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstancePortalsListingsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapManagementInstancePortalsListingsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsListingsUpdateBody: + return ManagementInstancePortalsListingsUpdateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsListingsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/update.py index 3622c7f4..e2c7588d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/portals/update.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstancePortalsUpdateOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class ManagementInstancePortalsUpdateOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class ManagementInstancePortalsUpdateOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: ManagementInstancePortalsUpdateOutputSkillConfiguration auth: ManagementInstancePortalsUpdateOutputAuth urls: List[ManagementInstancePortalsUpdateOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class ManagementInstancePortalsUpdateOutput: description: Optional[str] = None +class mapManagementInstancePortalsUpdateOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsUpdateOutputSkillConfiguration: + return ManagementInstancePortalsUpdateOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsUpdateOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstancePortalsUpdateOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsUpdateOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsUpdateOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapManagementInstancePortalsUpdateOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapManagementInstancePortalsUpdateOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapManagementInstancePortalsUpdateOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -106,11 +140,19 @@ def to_dict(value: Union[ManagementInstancePortalsUpdateOutput, Dict[str, Any], class ManagementInstancePortalsUpdateBodyAllowedRedirectUrlFilters: url: str @dataclass +class ManagementInstancePortalsUpdateBodySkillConfiguration: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None +@dataclass class ManagementInstancePortalsUpdateBody: name: Optional[str] = None description: Optional[str] = None allowed_redirect_url_filters: Optional[List[ManagementInstancePortalsUpdateBodyAllowedRedirectUrlFilters]] = None session_expiry_time_in_seconds: Optional[float] = None + allow_consumer_skill_authoring: Optional[bool] = None + allow_consumer_skill_publishing: Optional[bool] = None + skill_configuration: Optional[ManagementInstancePortalsUpdateBodySkillConfiguration] = None class mapManagementInstancePortalsUpdateBodyAllowedRedirectUrlFilters: @@ -128,6 +170,23 @@ def to_dict(value: Union[ManagementInstancePortalsUpdateBodyAllowedRedirectUrlFi return value return dataclasses.asdict(value) +class mapManagementInstancePortalsUpdateBodySkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsUpdateBodySkillConfiguration: + return ManagementInstancePortalsUpdateBodySkillConfiguration( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstancePortalsUpdateBodySkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstancePortalsUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsUpdateBody: @@ -135,7 +194,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsUpdateBody: name=data.get('name'), description=data.get('description'), allowed_redirect_url_filters=[mapManagementInstancePortalsUpdateBodyAllowedRedirectUrlFilters.from_dict(item) for item in data.get('allowed_redirect_url_filters', []) if item], - session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapManagementInstancePortalsUpdateBodySkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/auth_configs/list.py index 53708977..be267a90 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/auth_configs/list.py @@ -299,6 +299,8 @@ class ManagementInstanceProviderDeploymentsAuthConfigsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None + available_for_use: Optional[bool] = None + available_for_provider_deployment_id: Optional[str] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None actor_id: Optional[Union[str, List[str]]] = None @@ -323,6 +325,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsAuth id=data.get('id'), provider_id=data.get('provider_id'), provider_deployment_id=data.get('provider_deployment_id'), + available_for_use=data.get('available_for_use'), + available_for_provider_deployment_id=data.get('available_for_provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), actor_id=data.get('actor_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/configs/list.py index 626974c3..141afd70 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/configs/list.py @@ -214,6 +214,8 @@ class ManagementInstanceProviderDeploymentsConfigsListQuery: provider_id: Optional[Union[str, List[str]]] = None provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None + available_for_use: Optional[bool] = None + available_for_provider_deployment_id: Optional[str] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None actor_id: Optional[Union[str, List[str]]] = None consumer_id: Optional[Union[str, List[str]]] = None @@ -238,6 +240,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsConf provider_id=data.get('provider_id'), provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), + available_for_use=data.get('available_for_use'), + available_for_provider_deployment_id=data.get('available_for_provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), actor_id=data.get('actor_id'), consumer_id=data.get('consumer_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/create.py index a9d4ca51..f0036964 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/create.py @@ -10,11 +10,10 @@ class ManagementInstanceProviderTemplatesCreateOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapManagementInstanceProviderTemplatesCreateOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesCreate name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -43,22 +41,47 @@ def to_dict(value: Union[ManagementInstanceProviderTemplatesCreateOutput, Dict[s return dataclasses.asdict(value) @dataclass -class ManagementInstanceProviderTemplatesCreateBodyProviderDeployment: +class ManagementInstanceProviderTemplatesCreateBodyProviders: provider_id: str + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - locked_provider_version_id: Optional[str] = None + tool_filters: Optional[Any] = None @dataclass class ManagementInstanceProviderTemplatesCreateBody: name: str + providers: List[ManagementInstanceProviderTemplatesCreateBodyProviders] description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - tool_filers: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None - provider_deployment_id: Optional[str] = None - provider_deployment: Optional[ManagementInstanceProviderTemplatesCreateBodyProviderDeployment] = None +class mapManagementInstanceProviderTemplatesCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesCreateBodyProviders: + return ManagementInstanceProviderTemplatesCreateBodyProviders( + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceProviderTemplatesCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceProviderTemplatesCreateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesCreateBody: @@ -66,9 +89,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesCreate name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - tool_filers=data.get('tool_filers'), - provider_deployment_id=data.get('provider_deployment_id'), - provider_deployment=data.get('provider_deployment') + providers=[mapManagementInstanceProviderTemplatesCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/delete.py index 3947a3e6..d211d792 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/delete.py @@ -10,11 +10,10 @@ class ManagementInstanceProviderTemplatesDeleteOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapManagementInstanceProviderTemplatesDeleteOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesDelete name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/get.py index d32099a8..e5778a62 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/get.py @@ -10,11 +10,10 @@ class ManagementInstanceProviderTemplatesGetOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapManagementInstanceProviderTemplatesGetOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesGetOut name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/list.py index c1ee3747..633114fb 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/list.py @@ -10,11 +10,10 @@ class ManagementInstanceProviderTemplatesListOutputItems: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None @dataclass class ManagementInstanceProviderTemplatesListOutputPagination: has_more_before: bool @@ -35,8 +34,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesListOu name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -90,7 +88,7 @@ class ManagementInstanceProviderTemplatesListQuery: cursor: Optional[str] = None order: Optional[str] = None id: Optional[Union[str, List[str]]] = None - provider_deployment_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None status: Optional[Union[str, List[str]]] = None @@ -105,7 +103,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesListQu cursor=data.get('cursor'), order=data.get('order'), id=data.get('id'), - provider_deployment_id=data.get('provider_deployment_id'), + integration_id=data.get('integration_id'), search=data.get('search'), status=data.get('status') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/update.py index 8d2749eb..66f457bf 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_templates/update.py @@ -10,11 +10,10 @@ class ManagementInstanceProviderTemplatesUpdateOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapManagementInstanceProviderTemplatesUpdateOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesUpdate name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -43,13 +41,47 @@ def to_dict(value: Union[ManagementInstanceProviderTemplatesUpdateOutput, Dict[s return dataclasses.asdict(value) @dataclass +class ManagementInstanceProviderTemplatesUpdateBodyProviders: + provider_id: str + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Any] = None +@dataclass class ManagementInstanceProviderTemplatesUpdateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + providers: Optional[List[ManagementInstanceProviderTemplatesUpdateBodyProviders]] = None +class mapManagementInstanceProviderTemplatesUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesUpdateBodyProviders: + return ManagementInstanceProviderTemplatesUpdateBodyProviders( + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceProviderTemplatesUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceProviderTemplatesUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesUpdateBody: @@ -57,7 +89,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderTemplatesUpdate name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - tool_filters=data.get('tool_filters') + providers=[mapManagementInstanceProviderTemplatesUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/create.py index 8f3d72d9..bad7ec93 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/create.py @@ -53,6 +53,10 @@ class ManagementInstanceSessionTemplatesCreateOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapManagementInstanceSessionTemplatesCreateOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionTemplatesCreateO name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapManagementInstanceSessionTemplatesCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/delete.py index e8b007b4..501a7224 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/delete.py @@ -53,6 +53,10 @@ class ManagementInstanceSessionTemplatesDeleteOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapManagementInstanceSessionTemplatesDeleteOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionTemplatesDeleteO name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapManagementInstanceSessionTemplatesDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/get.py index 1e5c0f61..0cd43327 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/get.py @@ -53,6 +53,10 @@ class ManagementInstanceSessionTemplatesGetOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapManagementInstanceSessionTemplatesGetOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionTemplatesGetOutp name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapManagementInstanceSessionTemplatesGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/list.py index 3b812d4e..3e08c9da 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/list.py @@ -53,6 +53,10 @@ class ManagementInstanceSessionTemplatesListOutputItems: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None @dataclass class ManagementInstanceSessionTemplatesListOutputPagination: has_more_before: bool @@ -160,6 +164,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionTemplatesListOut name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapManagementInstanceSessionTemplatesListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/update.py index 42ff11a7..e621f460 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/session_templates/update.py @@ -53,6 +53,10 @@ class ManagementInstanceSessionTemplatesUpdateOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapManagementInstanceSessionTemplatesUpdateOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionTemplatesUpdateO name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapManagementInstanceSessionTemplatesUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/connections/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/connections/get.py index 2ad4a545..1e4f202d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/connections/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/connections/get.py @@ -26,6 +26,14 @@ class ManagementInstanceSessionsConnectionsGetOutputParticipant: data: ManagementInstanceSessionsConnectionsGetOutputParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsConnectionsGetOutput: object: str @@ -103,6 +111,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsConnectionsGetO name=data.get('name'), data=mapManagementInstanceSessionsConnectionsGetOutputParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/connections/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/connections/list.py index 83e9a9c0..ac42c66b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/connections/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/connections/list.py @@ -26,6 +26,14 @@ class ManagementInstanceSessionsConnectionsListOutputItemsParticipant: data: ManagementInstanceSessionsConnectionsListOutputItemsParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsConnectionsListOutputItems: object: str @@ -111,6 +119,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsConnectionsList name=data.get('name'), data=mapManagementInstanceSessionsConnectionsListOutputItemsParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -200,6 +216,11 @@ class ManagementInstanceSessionsConnectionsListQuery: status: Optional[Union[str, List[str]]] = None connection_state: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None session_id: Optional[Union[str, List[str]]] = None session_provider_id: Optional[Union[str, List[str]]] = None participant_id: Optional[Union[str, List[str]]] = None @@ -219,6 +240,11 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsConnectionsList status=data.get('status'), connection_state=data.get('connection_state'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), session_id=data.get('session_id'), session_provider_id=data.get('session_provider_id'), participant_id=data.get('participant_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/create.py index 561dc056..1e754cfe 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/create.py @@ -71,6 +71,8 @@ class ManagementInstanceSessionsCreateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapManagementInstanceSessionsCreateOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsCreateOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/delete.py index 7f20ece4..1880d9fd 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/delete.py @@ -71,6 +71,8 @@ class ManagementInstanceSessionsDeleteOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapManagementInstanceSessionsDeleteOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsDeleteOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/events/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/events/get.py index 6f5c6170..bebc32e3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/events/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/events/get.py @@ -26,6 +26,14 @@ class ManagementInstanceSessionsEventsGetOutputConnectionParticipant: data: ManagementInstanceSessionsEventsGetOutputConnectionParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsEventsGetOutputConnection: object: str @@ -76,6 +84,50 @@ class ManagementInstanceSessionsEventsGetOutputMessageTransport: mcp: Optional[ManagementInstanceSessionsEventsGetOutputMessageTransportMcp] = None tool_call: Optional[ManagementInstanceSessionsEventsGetOutputMessageTransportToolCall] = None @dataclass +class ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class ManagementInstanceSessionsEventsGetOutputMessageToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -134,6 +186,8 @@ class ManagementInstanceSessionsEventsGetOutputMessageToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant] = None + responder_participant: Optional[ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant] = None error: Optional[ManagementInstanceSessionsEventsGetOutputMessageToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -151,6 +205,14 @@ class ManagementInstanceSessionsEventsGetOutputMessageSenderParticipant: data: ManagementInstanceSessionsEventsGetOutputMessageSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsEventsGetOutputMessageResponderParticipantData: identifier: str @@ -165,6 +227,14 @@ class ManagementInstanceSessionsEventsGetOutputMessageResponderParticipant: data: ManagementInstanceSessionsEventsGetOutputMessageResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsEventsGetOutputMessageError: object: str @@ -297,6 +367,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutput name=data.get('name'), data=mapManagementInstanceSessionsEventsGetOutputConnectionParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -429,6 +507,98 @@ def to_dict(value: Union[ManagementInstanceSessionsEventsGetOutputMessageTranspo return value return dataclasses.asdict(value) +class mapManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData: + return ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant: + return ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData: + return ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant: + return ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceSessionsEventsGetOutputMessageToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutputMessageToolCallToolInputSchema: @@ -548,6 +718,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutput session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapManagementInstanceSessionsEventsGetOutputMessageToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapManagementInstanceSessionsEventsGetOutputMessageToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapManagementInstanceSessionsEventsGetOutputMessageToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapManagementInstanceSessionsEventsGetOutputMessageToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -590,6 +762,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutput name=data.get('name'), data=mapManagementInstanceSessionsEventsGetOutputMessageSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -628,6 +808,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsGetOutput name=data.get('name'), data=mapManagementInstanceSessionsEventsGetOutputMessageResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/events/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/events/list.py index 19a1da3e..fb064bee 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/events/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/events/list.py @@ -26,6 +26,14 @@ class ManagementInstanceSessionsEventsListOutputItemsConnectionParticipant: data: ManagementInstanceSessionsEventsListOutputItemsConnectionParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsEventsListOutputItemsConnection: object: str @@ -76,6 +84,50 @@ class ManagementInstanceSessionsEventsListOutputItemsMessageTransport: mcp: Optional[ManagementInstanceSessionsEventsListOutputItemsMessageTransportMcp] = None tool_call: Optional[ManagementInstanceSessionsEventsListOutputItemsMessageTransportToolCall] = None @dataclass +class ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class ManagementInstanceSessionsEventsListOutputItemsMessageToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -134,6 +186,8 @@ class ManagementInstanceSessionsEventsListOutputItemsMessageToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant] = None + responder_participant: Optional[ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant] = None error: Optional[ManagementInstanceSessionsEventsListOutputItemsMessageToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -151,6 +205,14 @@ class ManagementInstanceSessionsEventsListOutputItemsMessageSenderParticipant: data: ManagementInstanceSessionsEventsListOutputItemsMessageSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsEventsListOutputItemsMessageResponderParticipantData: identifier: str @@ -165,6 +227,14 @@ class ManagementInstanceSessionsEventsListOutputItemsMessageResponderParticipant data: ManagementInstanceSessionsEventsListOutputItemsMessageResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsEventsListOutputItemsMessageError: object: str @@ -305,6 +375,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutpu name=data.get('name'), data=mapManagementInstanceSessionsEventsListOutputItemsConnectionParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -437,6 +515,98 @@ def to_dict(value: Union[ManagementInstanceSessionsEventsListOutputItemsMessageT return value return dataclasses.asdict(value) +class mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + return ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant: + return ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + return ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant: + return ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutputItemsMessageToolCallToolInputSchema: @@ -556,6 +726,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutpu session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapManagementInstanceSessionsEventsListOutputItemsMessageToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -598,6 +770,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutpu name=data.get('name'), data=mapManagementInstanceSessionsEventsListOutputItemsMessageSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -636,6 +816,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsEventsListOutpu name=data.get('name'), data=mapManagementInstanceSessionsEventsListOutputItemsMessageResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/get.py index d9f23436..4b594724 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/get.py @@ -71,6 +71,8 @@ class ManagementInstanceSessionsGetOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapManagementInstanceSessionsGetOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsGetOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/list.py index 8eb53031..2334d91e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/list.py @@ -71,6 +71,8 @@ class ManagementInstanceSessionsListOutputItems: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None @dataclass class ManagementInstanceSessionsListOutputPagination: has_more_before: bool @@ -221,6 +223,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsListOutputItems from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -283,6 +287,10 @@ class ManagementInstanceSessionsListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None session_template_id: Optional[Union[str, List[str]]] = None session_provider_id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None @@ -304,6 +312,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsListQuery: order=data.get('order'), status=data.get('status'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), session_template_id=data.get('session_template_id'), session_provider_id=data.get('session_provider_id'), provider_id=data.get('provider_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/messages/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/messages/get.py index 138f0ca1..0bae35b7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/messages/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/messages/get.py @@ -26,6 +26,50 @@ class ManagementInstanceSessionsMessagesGetOutputTransport: mcp: Optional[ManagementInstanceSessionsMessagesGetOutputTransportMcp] = None tool_call: Optional[ManagementInstanceSessionsMessagesGetOutputTransportToolCall] = None @dataclass +class ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class ManagementInstanceSessionsMessagesGetOutputToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -84,6 +128,8 @@ class ManagementInstanceSessionsMessagesGetOutputToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipant] = None + responder_participant: Optional[ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipant] = None error: Optional[ManagementInstanceSessionsMessagesGetOutputToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -101,6 +147,14 @@ class ManagementInstanceSessionsMessagesGetOutputSenderParticipant: data: ManagementInstanceSessionsMessagesGetOutputSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsMessagesGetOutputResponderParticipantData: identifier: str @@ -115,6 +169,14 @@ class ManagementInstanceSessionsMessagesGetOutputResponderParticipant: data: ManagementInstanceSessionsMessagesGetOutputResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsMessagesGetOutputError: object: str @@ -221,6 +283,98 @@ def to_dict(value: Union[ManagementInstanceSessionsMessagesGetOutputTransport, D return value return dataclasses.asdict(value) +class mapManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipantData: + return ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipant: + return ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipantData: + return ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipant: + return ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceSessionsMessagesGetOutputToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesGetOutputToolCallToolInputSchema: @@ -340,6 +494,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesGetOutp session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapManagementInstanceSessionsMessagesGetOutputToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapManagementInstanceSessionsMessagesGetOutputToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapManagementInstanceSessionsMessagesGetOutputToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapManagementInstanceSessionsMessagesGetOutputToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -382,6 +538,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesGetOutp name=data.get('name'), data=mapManagementInstanceSessionsMessagesGetOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -420,6 +584,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesGetOutp name=data.get('name'), data=mapManagementInstanceSessionsMessagesGetOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/messages/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/messages/list.py index 5a6ab540..9fb7bb40 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/messages/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/messages/list.py @@ -26,6 +26,50 @@ class ManagementInstanceSessionsMessagesListOutputItemsTransport: mcp: Optional[ManagementInstanceSessionsMessagesListOutputItemsTransportMcp] = None tool_call: Optional[ManagementInstanceSessionsMessagesListOutputItemsTransportToolCall] = None @dataclass +class ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class ManagementInstanceSessionsMessagesListOutputItemsToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -84,6 +128,8 @@ class ManagementInstanceSessionsMessagesListOutputItemsToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant] = None + responder_participant: Optional[ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant] = None error: Optional[ManagementInstanceSessionsMessagesListOutputItemsToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -101,6 +147,14 @@ class ManagementInstanceSessionsMessagesListOutputItemsSenderParticipant: data: ManagementInstanceSessionsMessagesListOutputItemsSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsMessagesListOutputItemsResponderParticipantData: identifier: str @@ -115,6 +169,14 @@ class ManagementInstanceSessionsMessagesListOutputItemsResponderParticipant: data: ManagementInstanceSessionsMessagesListOutputItemsResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsMessagesListOutputItemsError: object: str @@ -229,6 +291,98 @@ def to_dict(value: Union[ManagementInstanceSessionsMessagesListOutputItemsTransp return value return dataclasses.asdict(value) +class mapManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData: + return ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant: + return ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData: + return ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant: + return ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceSessionsMessagesListOutputItemsToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesListOutputItemsToolCallToolInputSchema: @@ -348,6 +502,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesListOut session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapManagementInstanceSessionsMessagesListOutputItemsToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapManagementInstanceSessionsMessagesListOutputItemsToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapManagementInstanceSessionsMessagesListOutputItemsToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapManagementInstanceSessionsMessagesListOutputItemsToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -390,6 +546,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesListOut name=data.get('name'), data=mapManagementInstanceSessionsMessagesListOutputItemsSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -428,6 +592,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsMessagesListOut name=data.get('name'), data=mapManagementInstanceSessionsMessagesListOutputItemsResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/participants/get.py index b1d4d6db..86d90c4f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/participants/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/participants/get.py @@ -17,6 +17,14 @@ class ManagementInstanceSessionsParticipantsGetOutput: data: ManagementInstanceSessionsParticipantsGetOutputData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None class mapManagementInstanceSessionsParticipantsGetOutputData: @@ -46,6 +54,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsParticipantsGet name=data.get('name'), data=mapManagementInstanceSessionsParticipantsGetOutputData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/participants/list.py index b7ba988d..f97d306b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/participants/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/participants/list.py @@ -17,6 +17,14 @@ class ManagementInstanceSessionsParticipantsListOutputItems: data: ManagementInstanceSessionsParticipantsListOutputItemsData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceSessionsParticipantsListOutputPagination: has_more_before: bool @@ -54,6 +62,14 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsParticipantsLis name=data.get('name'), data=mapManagementInstanceSessionsParticipantsListOutputItemsData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -115,6 +131,11 @@ class ManagementInstanceSessionsParticipantsListQuery: order: Optional[str] = None type: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None session_id: Optional[Union[str, List[str]]] = None session_connection_id: Optional[Union[str, List[str]]] = None session_message_id: Optional[Union[str, List[str]]] = None @@ -133,6 +154,11 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsParticipantsLis order=data.get('order'), type=data.get('type'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), session_id=data.get('session_id'), session_connection_id=data.get('session_connection_id'), session_message_id=data.get('session_message_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/update.py index d908789a..eb292aed 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/sessions/update.py @@ -71,6 +71,8 @@ class ManagementInstanceSessionsUpdateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapManagementInstanceSessionsUpdateOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceSessionsUpdateOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/__init__.py new file mode 100644 index 00000000..b69ba27e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/__init__.py @@ -0,0 +1,18 @@ +from .agents import * +from .configurations import * +from .create import * +from .delete import * +from .duplicate import * +from .exports import * +from .fork import * +from .get import * +from .groups import * +from .items import * +from .list import * +from .marketplaces import * +from .participants import * +from .plugins import * +from .publish_consumer_skill import * +from .templates import * +from .update import * +from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/create.py new file mode 100644 index 00000000..e26745c8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/create.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsAgentsCreateOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsAgentsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsCreateOutput: + return ManagementInstanceSkillsAgentsCreateOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsAgentsCreateBody: + name: str + description: Optional[str] = None + content: Optional[str] = None + + +class mapManagementInstanceSkillsAgentsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsCreateBody: + return ManagementInstanceSkillsAgentsCreateBody( + name=data.get('name'), + description=data.get('description'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/delete.py new file mode 100644 index 00000000..d97c67f6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/delete.py @@ -0,0 +1,52 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsAgentsDeleteOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsAgentsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsDeleteOutput: + return ManagementInstanceSkillsAgentsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/get.py new file mode 100644 index 00000000..d2976700 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/get.py @@ -0,0 +1,52 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsAgentsGetOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsAgentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsGetOutput: + return ManagementInstanceSkillsAgentsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/list.py new file mode 100644 index 00000000..4f194ce5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/list.py @@ -0,0 +1,123 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsAgentsListOutputItems: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsAgentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsAgentsListOutput: + items: List[ManagementInstanceSkillsAgentsListOutputItems] + pagination: ManagementInstanceSkillsAgentsListOutputPagination + + +class mapManagementInstanceSkillsAgentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsListOutputItems: + return ManagementInstanceSkillsAgentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsAgentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsListOutputPagination: + return ManagementInstanceSkillsAgentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsAgentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsListOutput: + return ManagementInstanceSkillsAgentsListOutput( + items=[mapManagementInstanceSkillsAgentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsAgentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsAgentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + include_archived: Optional[bool] = None + + +class mapManagementInstanceSkillsAgentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsListQuery: + return ManagementInstanceSkillsAgentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + include_archived=data.get('include_archived') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/update.py new file mode 100644 index 00000000..59920a0c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/agents/update.py @@ -0,0 +1,75 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsAgentsUpdateOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsAgentsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsUpdateOutput: + return ManagementInstanceSkillsAgentsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsAgentsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + + +class mapManagementInstanceSkillsAgentsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsAgentsUpdateBody: + return ManagementInstanceSkillsAgentsUpdateBody( + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsAgentsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/create.py new file mode 100644 index 00000000..13406597 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/create.py @@ -0,0 +1,67 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsConfigurationsCreateOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsConfigurationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsCreateOutput: + return ManagementInstanceSkillsConfigurationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsConfigurationsCreateBody: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None + + +class mapManagementInstanceSkillsConfigurationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsCreateBody: + return ManagementInstanceSkillsConfigurationsCreateBody( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/delete.py new file mode 100644 index 00000000..2f7c2ef5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/delete.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsConfigurationsDeleteOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsConfigurationsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsDeleteOutput: + return ManagementInstanceSkillsConfigurationsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/get.py new file mode 100644 index 00000000..b2adde1c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/get.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsConfigurationsGetOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsConfigurationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsGetOutput: + return ManagementInstanceSkillsConfigurationsGetOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/list.py new file mode 100644 index 00000000..a5a560fb --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/list.py @@ -0,0 +1,111 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsConfigurationsListOutputItems: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsConfigurationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsConfigurationsListOutput: + items: List[ManagementInstanceSkillsConfigurationsListOutputItems] + pagination: ManagementInstanceSkillsConfigurationsListOutputPagination + + +class mapManagementInstanceSkillsConfigurationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsListOutputItems: + return ManagementInstanceSkillsConfigurationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsConfigurationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsListOutputPagination: + return ManagementInstanceSkillsConfigurationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsConfigurationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsListOutput: + return ManagementInstanceSkillsConfigurationsListOutput( + items=[mapManagementInstanceSkillsConfigurationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsConfigurationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsConfigurationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceSkillsConfigurationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsListQuery: + return ManagementInstanceSkillsConfigurationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/update.py new file mode 100644 index 00000000..28d13996 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/configurations/update.py @@ -0,0 +1,67 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsConfigurationsUpdateOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsConfigurationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsUpdateOutput: + return ManagementInstanceSkillsConfigurationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsConfigurationsUpdateBody: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None + + +class mapManagementInstanceSkillsConfigurationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsConfigurationsUpdateBody: + return ManagementInstanceSkillsConfigurationsUpdateBody( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsConfigurationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/create.py new file mode 100644 index 00000000..842a20b9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/create.py @@ -0,0 +1,641 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsCreateOutputHierarchyCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsCreateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[ManagementInstanceSkillsCreateOutputHierarchyForkCreator] = None + original_creator: Optional[ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreator] = None +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsCreateOutputHierarchy: + object: str + type: str + entity: ManagementInstanceSkillsCreateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[ManagementInstanceSkillsCreateOutputHierarchyCreator] = None + fork: Optional[ManagementInstanceSkillsCreateOutputHierarchyFork] = None +@dataclass +class ManagementInstanceSkillsCreateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsCreateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsCreateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsCreateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsCreateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: ManagementInstanceSkillsCreateOutputHierarchy + integrations: List[ManagementInstanceSkillsCreateOutputIntegrations] + providers: List[ManagementInstanceSkillsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + return ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor: + return ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyCreatorConsumer: + return ManagementInstanceSkillsCreateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyCreator: + return ManagementInstanceSkillsCreateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsCreateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsCreateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + return ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor: + return ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyForkCreatorConsumer: + return ManagementInstanceSkillsCreateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyForkCreator: + return ManagementInstanceSkillsCreateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsCreateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsCreateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + return ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + return ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreator: + return ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyFork: + return ManagementInstanceSkillsCreateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsCreateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapManagementInstanceSkillsCreateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchyEntity: + return ManagementInstanceSkillsCreateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputHierarchy: + return ManagementInstanceSkillsCreateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsCreateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapManagementInstanceSkillsCreateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapManagementInstanceSkillsCreateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputIntegrationsConfiguration: + return ManagementInstanceSkillsCreateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputIntegrations: + return ManagementInstanceSkillsCreateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsCreateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutputProviders: + return ManagementInstanceSkillsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateOutput: + return ManagementInstanceSkillsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapManagementInstanceSkillsCreateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapManagementInstanceSkillsCreateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapManagementInstanceSkillsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + template_id: Optional[str] = None + + +class mapManagementInstanceSkillsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsCreateBody: + return ManagementInstanceSkillsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + image_file_id=data.get('image_file_id'), + template_id=data.get('template_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/delete.py new file mode 100644 index 00000000..289bef7d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/delete.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsDeleteOutputHierarchyCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[ManagementInstanceSkillsDeleteOutputHierarchyForkCreator] = None + original_creator: Optional[ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreator] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputHierarchy: + object: str + type: str + entity: ManagementInstanceSkillsDeleteOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[ManagementInstanceSkillsDeleteOutputHierarchyCreator] = None + fork: Optional[ManagementInstanceSkillsDeleteOutputHierarchyFork] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsDeleteOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsDeleteOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsDeleteOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDeleteOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: ManagementInstanceSkillsDeleteOutputHierarchy + integrations: List[ManagementInstanceSkillsDeleteOutputIntegrations] + providers: List[ManagementInstanceSkillsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + return ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor: + return ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyCreatorConsumer: + return ManagementInstanceSkillsDeleteOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyCreator: + return ManagementInstanceSkillsDeleteOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsDeleteOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsDeleteOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + return ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + return ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer: + return ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyForkCreator: + return ManagementInstanceSkillsDeleteOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsDeleteOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsDeleteOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + return ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + return ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreator: + return ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyFork: + return ManagementInstanceSkillsDeleteOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsDeleteOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapManagementInstanceSkillsDeleteOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchyEntity: + return ManagementInstanceSkillsDeleteOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputHierarchy: + return ManagementInstanceSkillsDeleteOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsDeleteOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapManagementInstanceSkillsDeleteOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapManagementInstanceSkillsDeleteOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputIntegrationsConfiguration: + return ManagementInstanceSkillsDeleteOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputIntegrations: + return ManagementInstanceSkillsDeleteOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsDeleteOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutputProviders: + return ManagementInstanceSkillsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDeleteOutput: + return ManagementInstanceSkillsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapManagementInstanceSkillsDeleteOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapManagementInstanceSkillsDeleteOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapManagementInstanceSkillsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/duplicate.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/duplicate.py new file mode 100644 index 00000000..d012db83 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/duplicate.py @@ -0,0 +1,637 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyForkCreator] = None + original_creator: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputHierarchy: + object: str + type: str + entity: ManagementInstanceSkillsDuplicateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyCreator] = None + fork: Optional[ManagementInstanceSkillsDuplicateOutputHierarchyFork] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsDuplicateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsDuplicateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsDuplicateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: ManagementInstanceSkillsDuplicateOutputHierarchy + integrations: List[ManagementInstanceSkillsDuplicateOutputIntegrations] + providers: List[ManagementInstanceSkillsDuplicateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + return ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor: + return ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyCreatorConsumer: + return ManagementInstanceSkillsDuplicateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyCreator: + return ManagementInstanceSkillsDuplicateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsDuplicateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsDuplicateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + return ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + return ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer: + return ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyForkCreator: + return ManagementInstanceSkillsDuplicateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsDuplicateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + return ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + return ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator: + return ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyFork: + return ManagementInstanceSkillsDuplicateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsDuplicateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapManagementInstanceSkillsDuplicateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchyEntity: + return ManagementInstanceSkillsDuplicateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputHierarchy: + return ManagementInstanceSkillsDuplicateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsDuplicateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapManagementInstanceSkillsDuplicateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapManagementInstanceSkillsDuplicateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputIntegrationsConfiguration: + return ManagementInstanceSkillsDuplicateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputIntegrations: + return ManagementInstanceSkillsDuplicateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsDuplicateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutputProviders: + return ManagementInstanceSkillsDuplicateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsDuplicateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateOutput: + return ManagementInstanceSkillsDuplicateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapManagementInstanceSkillsDuplicateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapManagementInstanceSkillsDuplicateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapManagementInstanceSkillsDuplicateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsDuplicateBody: + name: str + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceSkillsDuplicateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsDuplicateBody: + return ManagementInstanceSkillsDuplicateBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsDuplicateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/create.py new file mode 100644 index 00000000..30f87ce1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/create.py @@ -0,0 +1,381 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsExportsCreateOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsCreateOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsExportsCreateOutputFileCreatedByConsumer] = None +@dataclass +class ManagementInstanceSkillsExportsCreateOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[ManagementInstanceSkillsExportsCreateOutputFileCreatedBy] = None +@dataclass +class ManagementInstanceSkillsExportsCreateOutputFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsExportsCreateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsCreateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsExportsCreateOutputCreatedByConsumer] = None +@dataclass +class ManagementInstanceSkillsExportsCreateOutput: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[ManagementInstanceSkillsExportsCreateOutputFile] = None + file_link: Optional[ManagementInstanceSkillsExportsCreateOutputFileLink] = None + created_by: Optional[ManagementInstanceSkillsExportsCreateOutputCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + return ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor: + return ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputFileCreatedByConsumer: + return ManagementInstanceSkillsExportsCreateOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputFileCreatedBy: + return ManagementInstanceSkillsExportsCreateOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsExportsCreateOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsExportsCreateOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputFile: + return ManagementInstanceSkillsExportsCreateOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapManagementInstanceSkillsExportsCreateOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputFileLink: + return ManagementInstanceSkillsExportsCreateOutputFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams: + return ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActor: + return ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputCreatedByConsumer: + return ManagementInstanceSkillsExportsCreateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutputCreatedBy: + return ManagementInstanceSkillsExportsCreateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsExportsCreateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsExportsCreateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateOutput: + return ManagementInstanceSkillsExportsCreateOutput( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapManagementInstanceSkillsExportsCreateOutputFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapManagementInstanceSkillsExportsCreateOutputFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapManagementInstanceSkillsExportsCreateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsExportsCreateBody: + target: str + skill_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + + +class mapManagementInstanceSkillsExportsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsCreateBody: + return ManagementInstanceSkillsExportsCreateBody( + target=data.get('target'), + skill_id=data.get('skill_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_marketplace_id=data.get('skill_marketplace_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/get.py new file mode 100644 index 00000000..2f282a92 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/get.py @@ -0,0 +1,354 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsExportsGetOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsGetOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsExportsGetOutputFileCreatedByConsumer] = None +@dataclass +class ManagementInstanceSkillsExportsGetOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[ManagementInstanceSkillsExportsGetOutputFileCreatedBy] = None +@dataclass +class ManagementInstanceSkillsExportsGetOutputFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsExportsGetOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsExportsGetOutputCreatedByConsumer] = None +@dataclass +class ManagementInstanceSkillsExportsGetOutput: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[ManagementInstanceSkillsExportsGetOutputFile] = None + file_link: Optional[ManagementInstanceSkillsExportsGetOutputFileLink] = None + created_by: Optional[ManagementInstanceSkillsExportsGetOutputCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None + + +class mapManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + return ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor: + return ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputFileCreatedByConsumer: + return ManagementInstanceSkillsExportsGetOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputFileCreatedBy: + return ManagementInstanceSkillsExportsGetOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsExportsGetOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsExportsGetOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputFile: + return ManagementInstanceSkillsExportsGetOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapManagementInstanceSkillsExportsGetOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputFileLink: + return ManagementInstanceSkillsExportsGetOutputFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams: + return ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActor: + return ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputCreatedByConsumer: + return ManagementInstanceSkillsExportsGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutputCreatedBy: + return ManagementInstanceSkillsExportsGetOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsExportsGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsExportsGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsGetOutput: + return ManagementInstanceSkillsExportsGetOutput( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapManagementInstanceSkillsExportsGetOutputFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapManagementInstanceSkillsExportsGetOutputFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapManagementInstanceSkillsExportsGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/list.py new file mode 100644 index 00000000..1d010292 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/exports/list.py @@ -0,0 +1,429 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsExportsListOutputItemsFileCreatedByConsumer] = None +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[ManagementInstanceSkillsExportsListOutputItemsFileCreatedBy] = None +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsExportsListOutputItemsCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsExportsListOutputItemsCreatedByConsumer] = None +@dataclass +class ManagementInstanceSkillsExportsListOutputItems: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[ManagementInstanceSkillsExportsListOutputItemsFile] = None + file_link: Optional[ManagementInstanceSkillsExportsListOutputItemsFileLink] = None + created_by: Optional[ManagementInstanceSkillsExportsListOutputItemsCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsExportsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsExportsListOutput: + items: List[ManagementInstanceSkillsExportsListOutputItems] + pagination: ManagementInstanceSkillsExportsListOutputPagination + + +class mapManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + return ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor: + return ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsFileCreatedByConsumer: + return ManagementInstanceSkillsExportsListOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsFileCreatedBy: + return ManagementInstanceSkillsExportsListOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsExportsListOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsExportsListOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsFile: + return ManagementInstanceSkillsExportsListOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapManagementInstanceSkillsExportsListOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsFileLink: + return ManagementInstanceSkillsExportsListOutputItemsFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + return ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor: + return ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsCreatedByConsumer: + return ManagementInstanceSkillsExportsListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItemsCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItemsCreatedBy: + return ManagementInstanceSkillsExportsListOutputItemsCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsExportsListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsExportsListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputItems: + return ManagementInstanceSkillsExportsListOutputItems( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapManagementInstanceSkillsExportsListOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapManagementInstanceSkillsExportsListOutputItemsFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapManagementInstanceSkillsExportsListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutputPagination: + return ManagementInstanceSkillsExportsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsExportsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListOutput: + return ManagementInstanceSkillsExportsListOutput( + items=[mapManagementInstanceSkillsExportsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsExportsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsExportsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + target: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + + +class mapManagementInstanceSkillsExportsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsExportsListQuery: + return ManagementInstanceSkillsExportsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsExportsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/fork.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/fork.py new file mode 100644 index 00000000..a66cb486 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/fork.py @@ -0,0 +1,639 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsForkOutputHierarchyCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsForkOutputHierarchyForkCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[ManagementInstanceSkillsForkOutputHierarchyForkCreator] = None + original_creator: Optional[ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreator] = None +@dataclass +class ManagementInstanceSkillsForkOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsForkOutputHierarchy: + object: str + type: str + entity: ManagementInstanceSkillsForkOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[ManagementInstanceSkillsForkOutputHierarchyCreator] = None + fork: Optional[ManagementInstanceSkillsForkOutputHierarchyFork] = None +@dataclass +class ManagementInstanceSkillsForkOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsForkOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsForkOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsForkOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsForkOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: ManagementInstanceSkillsForkOutputHierarchy + integrations: List[ManagementInstanceSkillsForkOutputIntegrations] + providers: List[ManagementInstanceSkillsForkOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams: + return ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActor: + return ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyCreatorConsumer: + return ManagementInstanceSkillsForkOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyCreator: + return ManagementInstanceSkillsForkOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsForkOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsForkOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + return ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor: + return ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyForkCreatorConsumer: + return ManagementInstanceSkillsForkOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyForkCreator: + return ManagementInstanceSkillsForkOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsForkOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsForkOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + return ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer: + return ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreator: + return ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsForkOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyFork: + return ManagementInstanceSkillsForkOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsForkOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapManagementInstanceSkillsForkOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchyEntity: + return ManagementInstanceSkillsForkOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputHierarchy: + return ManagementInstanceSkillsForkOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsForkOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapManagementInstanceSkillsForkOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapManagementInstanceSkillsForkOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputIntegrationsConfiguration: + return ManagementInstanceSkillsForkOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputIntegrations: + return ManagementInstanceSkillsForkOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsForkOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutputProviders: + return ManagementInstanceSkillsForkOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsForkOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkOutput: + return ManagementInstanceSkillsForkOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapManagementInstanceSkillsForkOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapManagementInstanceSkillsForkOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapManagementInstanceSkillsForkOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsForkBody: + name: str + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + + +class mapManagementInstanceSkillsForkBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsForkBody: + return ManagementInstanceSkillsForkBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata'), + image_file_id=data.get('image_file_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsForkBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/get.py new file mode 100644 index 00000000..e2833f0d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/get.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsGetOutputHierarchyCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsGetOutputHierarchyForkCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[ManagementInstanceSkillsGetOutputHierarchyForkCreator] = None + original_creator: Optional[ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreator] = None +@dataclass +class ManagementInstanceSkillsGetOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsGetOutputHierarchy: + object: str + type: str + entity: ManagementInstanceSkillsGetOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[ManagementInstanceSkillsGetOutputHierarchyCreator] = None + fork: Optional[ManagementInstanceSkillsGetOutputHierarchyFork] = None +@dataclass +class ManagementInstanceSkillsGetOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsGetOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsGetOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsGetOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsGetOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: ManagementInstanceSkillsGetOutputHierarchy + integrations: List[ManagementInstanceSkillsGetOutputIntegrations] + providers: List[ManagementInstanceSkillsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams: + return ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActor: + return ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyCreatorConsumer: + return ManagementInstanceSkillsGetOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyCreator: + return ManagementInstanceSkillsGetOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsGetOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsGetOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + return ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor: + return ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyForkCreatorConsumer: + return ManagementInstanceSkillsGetOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyForkCreator: + return ManagementInstanceSkillsGetOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsGetOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsGetOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + return ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer: + return ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreator: + return ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsGetOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyFork: + return ManagementInstanceSkillsGetOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsGetOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapManagementInstanceSkillsGetOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchyEntity: + return ManagementInstanceSkillsGetOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputHierarchy: + return ManagementInstanceSkillsGetOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsGetOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapManagementInstanceSkillsGetOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapManagementInstanceSkillsGetOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputIntegrationsConfiguration: + return ManagementInstanceSkillsGetOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputIntegrations: + return ManagementInstanceSkillsGetOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsGetOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutputProviders: + return ManagementInstanceSkillsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGetOutput: + return ManagementInstanceSkillsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapManagementInstanceSkillsGetOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapManagementInstanceSkillsGetOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapManagementInstanceSkillsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/__init__.py new file mode 100644 index 00000000..a54a2223 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/create.py new file mode 100644 index 00000000..9b85b747 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/create.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsCreateOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsCreateOutput: + object: str + id: str + status: str + name: str + skills: List[ManagementInstanceSkillsGroupsCreateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceSkillsGroupsCreateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsCreateOutputSkills: + return ManagementInstanceSkillsGroupsCreateOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsCreateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsCreateOutput: + return ManagementInstanceSkillsGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapManagementInstanceSkillsGroupsCreateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsGroupsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + skill_ids: Optional[List[str]] = None + + +class mapManagementInstanceSkillsGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsCreateBody: + return ManagementInstanceSkillsGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skill_ids=data.get('skill_ids', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/delete.py new file mode 100644 index 00000000..3fefa65f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/delete.py @@ -0,0 +1,88 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsDeleteOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsDeleteOutput: + object: str + id: str + status: str + name: str + skills: List[ManagementInstanceSkillsGroupsDeleteOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceSkillsGroupsDeleteOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsDeleteOutputSkills: + return ManagementInstanceSkillsGroupsDeleteOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsDeleteOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsDeleteOutput: + return ManagementInstanceSkillsGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapManagementInstanceSkillsGroupsDeleteOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/get.py new file mode 100644 index 00000000..7690a484 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/get.py @@ -0,0 +1,88 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsGetOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsGetOutput: + object: str + id: str + status: str + name: str + skills: List[ManagementInstanceSkillsGroupsGetOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceSkillsGroupsGetOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsGetOutputSkills: + return ManagementInstanceSkillsGroupsGetOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsGetOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsGetOutput: + return ManagementInstanceSkillsGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapManagementInstanceSkillsGroupsGetOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/create.py new file mode 100644 index 00000000..637a6116 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/create.py @@ -0,0 +1,103 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsItemsCreateOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsItemsCreateOutput: + object: str + id: str + status: str + skill_group_id: str + skill: ManagementInstanceSkillsGroupsItemsCreateOutputSkill + created_at: datetime + + +class mapManagementInstanceSkillsGroupsItemsCreateOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsCreateOutputSkill: + return ManagementInstanceSkillsGroupsItemsCreateOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsCreateOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsCreateOutput: + return ManagementInstanceSkillsGroupsItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapManagementInstanceSkillsGroupsItemsCreateOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsGroupsItemsCreateBody: + skill_id: str + + +class mapManagementInstanceSkillsGroupsItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsCreateBody: + return ManagementInstanceSkillsGroupsItemsCreateBody( + skill_id=data.get('skill_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/delete.py new file mode 100644 index 00000000..7c6c2e27 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/delete.py @@ -0,0 +1,82 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsItemsDeleteOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsItemsDeleteOutput: + object: str + id: str + status: str + skill_group_id: str + skill: ManagementInstanceSkillsGroupsItemsDeleteOutputSkill + created_at: datetime + + +class mapManagementInstanceSkillsGroupsItemsDeleteOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsDeleteOutputSkill: + return ManagementInstanceSkillsGroupsItemsDeleteOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsDeleteOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsDeleteOutput: + return ManagementInstanceSkillsGroupsItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapManagementInstanceSkillsGroupsItemsDeleteOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/get.py new file mode 100644 index 00000000..3b524b75 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/get.py @@ -0,0 +1,82 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsItemsGetOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsItemsGetOutput: + object: str + id: str + status: str + skill_group_id: str + skill: ManagementInstanceSkillsGroupsItemsGetOutputSkill + created_at: datetime + + +class mapManagementInstanceSkillsGroupsItemsGetOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsGetOutputSkill: + return ManagementInstanceSkillsGroupsItemsGetOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsGetOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsGetOutput: + return ManagementInstanceSkillsGroupsItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapManagementInstanceSkillsGroupsItemsGetOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/list.py new file mode 100644 index 00000000..67e86eb7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/items/list.py @@ -0,0 +1,163 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsItemsListOutputItemsSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsItemsListOutputItems: + object: str + id: str + status: str + skill_group_id: str + skill: ManagementInstanceSkillsGroupsItemsListOutputItemsSkill + created_at: datetime +@dataclass +class ManagementInstanceSkillsGroupsItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsGroupsItemsListOutput: + items: List[ManagementInstanceSkillsGroupsItemsListOutputItems] + pagination: ManagementInstanceSkillsGroupsItemsListOutputPagination + + +class mapManagementInstanceSkillsGroupsItemsListOutputItemsSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsListOutputItemsSkill: + return ManagementInstanceSkillsGroupsItemsListOutputItemsSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsListOutputItemsSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsListOutputItems: + return ManagementInstanceSkillsGroupsItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapManagementInstanceSkillsGroupsItemsListOutputItemsSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsListOutputPagination: + return ManagementInstanceSkillsGroupsItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsListOutput: + return ManagementInstanceSkillsGroupsItemsListOutput( + items=[mapManagementInstanceSkillsGroupsItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsGroupsItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsGroupsItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsGroupsItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceSkillsGroupsItemsListQueryCreatedAt] = None + + +class mapManagementInstanceSkillsGroupsItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsItemsListQuery: + return ManagementInstanceSkillsGroupsItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + skill_id=data.get('skill_id'), + created_at=mapManagementInstanceSkillsGroupsItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/list.py new file mode 100644 index 00000000..cc01e6f5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/list.py @@ -0,0 +1,177 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsListOutputItemsSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsListOutputItems: + object: str + id: str + status: str + name: str + skills: List[ManagementInstanceSkillsGroupsListOutputItemsSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsGroupsListOutput: + items: List[ManagementInstanceSkillsGroupsListOutputItems] + pagination: ManagementInstanceSkillsGroupsListOutputPagination + + +class mapManagementInstanceSkillsGroupsListOutputItemsSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsListOutputItemsSkills: + return ManagementInstanceSkillsGroupsListOutputItemsSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsListOutputItemsSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsListOutputItems: + return ManagementInstanceSkillsGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapManagementInstanceSkillsGroupsListOutputItemsSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsListOutputPagination: + return ManagementInstanceSkillsGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsListOutput: + return ManagementInstanceSkillsGroupsListOutput( + items=[mapManagementInstanceSkillsGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsGroupsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsGroupsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceSkillsGroupsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceSkillsGroupsListQueryUpdatedAt] = None + + +class mapManagementInstanceSkillsGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsListQuery: + return ManagementInstanceSkillsGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + skill_id=data.get('skill_id'), + created_at=mapManagementInstanceSkillsGroupsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceSkillsGroupsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/update.py new file mode 100644 index 00000000..413d384f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/groups/update.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsGroupsUpdateOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class ManagementInstanceSkillsGroupsUpdateOutput: + object: str + id: str + status: str + name: str + skills: List[ManagementInstanceSkillsGroupsUpdateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceSkillsGroupsUpdateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsUpdateOutputSkills: + return ManagementInstanceSkillsGroupsUpdateOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsUpdateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsUpdateOutput: + return ManagementInstanceSkillsGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapManagementInstanceSkillsGroupsUpdateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + skill_ids: Optional[List[str]] = None + + +class mapManagementInstanceSkillsGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsGroupsUpdateBody: + return ManagementInstanceSkillsGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skill_ids=data.get('skill_ids', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/create.py new file mode 100644 index 00000000..d4025053 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/create.py @@ -0,0 +1,145 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsItemsCreateOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsItemsCreateOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsItemsCreateOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsItemsCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsItemsCreateOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[ManagementInstanceSkillsItemsCreateOutputIntegration] = None + provider: Optional[ManagementInstanceSkillsItemsCreateOutputProvider] = None + + +class mapManagementInstanceSkillsItemsCreateOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsCreateOutputIntegrationConfiguration: + return ManagementInstanceSkillsItemsCreateOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsCreateOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsCreateOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsCreateOutputIntegration: + return ManagementInstanceSkillsItemsCreateOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsItemsCreateOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsCreateOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsCreateOutputProvider: + return ManagementInstanceSkillsItemsCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsCreateOutput: + return ManagementInstanceSkillsItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapManagementInstanceSkillsItemsCreateOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsItemsCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +ManagementInstanceSkillsItemsCreateBody = Dict[str, Any] + + +class mapManagementInstanceSkillsItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsCreateBody: + data + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/delete.py new file mode 100644 index 00000000..8513cc6c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/delete.py @@ -0,0 +1,128 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsItemsDeleteOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsItemsDeleteOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsItemsDeleteOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsItemsDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsItemsDeleteOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[ManagementInstanceSkillsItemsDeleteOutputIntegration] = None + provider: Optional[ManagementInstanceSkillsItemsDeleteOutputProvider] = None + + +class mapManagementInstanceSkillsItemsDeleteOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsDeleteOutputIntegrationConfiguration: + return ManagementInstanceSkillsItemsDeleteOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsDeleteOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsDeleteOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsDeleteOutputIntegration: + return ManagementInstanceSkillsItemsDeleteOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsItemsDeleteOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsDeleteOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsDeleteOutputProvider: + return ManagementInstanceSkillsItemsDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsDeleteOutput: + return ManagementInstanceSkillsItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapManagementInstanceSkillsItemsDeleteOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsItemsDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/get.py new file mode 100644 index 00000000..2b731bbf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/get.py @@ -0,0 +1,128 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsItemsGetOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsItemsGetOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsItemsGetOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsItemsGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsItemsGetOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[ManagementInstanceSkillsItemsGetOutputIntegration] = None + provider: Optional[ManagementInstanceSkillsItemsGetOutputProvider] = None + + +class mapManagementInstanceSkillsItemsGetOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsGetOutputIntegrationConfiguration: + return ManagementInstanceSkillsItemsGetOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsGetOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsGetOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsGetOutputIntegration: + return ManagementInstanceSkillsItemsGetOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsItemsGetOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsGetOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsGetOutputProvider: + return ManagementInstanceSkillsItemsGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsGetOutput: + return ManagementInstanceSkillsItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapManagementInstanceSkillsItemsGetOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsItemsGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/list.py new file mode 100644 index 00000000..30137650 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/items/list.py @@ -0,0 +1,213 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsItemsListOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsItemsListOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsItemsListOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsItemsListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsItemsListOutputItems: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[ManagementInstanceSkillsItemsListOutputItemsIntegration] = None + provider: Optional[ManagementInstanceSkillsItemsListOutputItemsProvider] = None +@dataclass +class ManagementInstanceSkillsItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsItemsListOutput: + items: List[ManagementInstanceSkillsItemsListOutputItems] + pagination: ManagementInstanceSkillsItemsListOutputPagination + + +class mapManagementInstanceSkillsItemsListOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsListOutputItemsIntegrationConfiguration: + return ManagementInstanceSkillsItemsListOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsListOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsListOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsListOutputItemsIntegration: + return ManagementInstanceSkillsItemsListOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsItemsListOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsListOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsListOutputItemsProvider: + return ManagementInstanceSkillsItemsListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsListOutputItems: + return ManagementInstanceSkillsItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapManagementInstanceSkillsItemsListOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsItemsListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsListOutputPagination: + return ManagementInstanceSkillsItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsListOutput: + return ManagementInstanceSkillsItemsListOutput( + items=[mapManagementInstanceSkillsItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceSkillsItemsListQueryCreatedAt] = None + + +class mapManagementInstanceSkillsItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsItemsListQuery: + return ManagementInstanceSkillsItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + type=data.get('type'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + created_at=mapManagementInstanceSkillsItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/list.py new file mode 100644 index 00000000..b52d6006 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/list.py @@ -0,0 +1,695 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsListOutputItemsHierarchyCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[ManagementInstanceSkillsListOutputItemsHierarchyForkCreator] = None + original_creator: Optional[ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreator] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsHierarchy: + object: str + type: str + entity: ManagementInstanceSkillsListOutputItemsHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[ManagementInstanceSkillsListOutputItemsHierarchyCreator] = None + fork: Optional[ManagementInstanceSkillsListOutputItemsHierarchyFork] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsListOutputItemsIntegrations: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsListOutputItemsIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsListOutputItemsProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsListOutputItems: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: ManagementInstanceSkillsListOutputItemsHierarchy + integrations: List[ManagementInstanceSkillsListOutputItemsIntegrations] + providers: List[ManagementInstanceSkillsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None +@dataclass +class ManagementInstanceSkillsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsListOutput: + items: List[ManagementInstanceSkillsListOutputItems] + pagination: ManagementInstanceSkillsListOutputPagination + + +class mapManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + return ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor: + return ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyCreatorConsumer: + return ManagementInstanceSkillsListOutputItemsHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyCreator: + return ManagementInstanceSkillsListOutputItemsHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsListOutputItemsHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsListOutputItemsHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + return ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + return ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer: + return ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyForkCreator: + return ManagementInstanceSkillsListOutputItemsHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsListOutputItemsHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsListOutputItemsHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + return ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + return ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + return ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreator: + return ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyFork: + return ManagementInstanceSkillsListOutputItemsHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsListOutputItemsHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapManagementInstanceSkillsListOutputItemsHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchyEntity: + return ManagementInstanceSkillsListOutputItemsHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsHierarchy: + return ManagementInstanceSkillsListOutputItemsHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsListOutputItemsHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapManagementInstanceSkillsListOutputItemsHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapManagementInstanceSkillsListOutputItemsHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsIntegrationsConfiguration: + return ManagementInstanceSkillsListOutputItemsIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsIntegrations: + return ManagementInstanceSkillsListOutputItemsIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsListOutputItemsIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItemsProviders: + return ManagementInstanceSkillsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputItems: + return ManagementInstanceSkillsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapManagementInstanceSkillsListOutputItemsHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapManagementInstanceSkillsListOutputItemsIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapManagementInstanceSkillsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutputPagination: + return ManagementInstanceSkillsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListOutput: + return ManagementInstanceSkillsListOutput( + items=[mapManagementInstanceSkillsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceSkillsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceSkillsListQueryUpdatedAt] = None + + +class mapManagementInstanceSkillsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsListQuery: + return ManagementInstanceSkillsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + skill_group_id=data.get('skill_group_id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + created_at=mapManagementInstanceSkillsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceSkillsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/__init__.py new file mode 100644 index 00000000..e24d109e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/__init__.py @@ -0,0 +1,7 @@ +from .archive import * +from .create import * +from .get import * +from .list import * +from .plugins import * +from .sync import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/archive.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/archive.py new file mode 100644 index 00000000..bfb3558e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/archive.py @@ -0,0 +1,170 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesArchiveOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin] = None +@dataclass +class ManagementInstanceSkillsMarketplacesArchiveOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[ManagementInstanceSkillsMarketplacesArchiveOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin: + return ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesArchiveOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesArchiveOutputPlugins: + return ManagementInstanceSkillsMarketplacesArchiveOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesArchiveOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesArchiveOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesArchiveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesArchiveOutput: + return ManagementInstanceSkillsMarketplacesArchiveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapManagementInstanceSkillsMarketplacesArchiveOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesArchiveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/create.py new file mode 100644 index 00000000..b7fea834 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/create.py @@ -0,0 +1,197 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesCreateOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin] = None +@dataclass +class ManagementInstanceSkillsMarketplacesCreateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[ManagementInstanceSkillsMarketplacesCreateOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin: + return ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesCreateOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesCreateOutputPlugins: + return ManagementInstanceSkillsMarketplacesCreateOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesCreateOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesCreateOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesCreateOutput: + return ManagementInstanceSkillsMarketplacesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapManagementInstanceSkillsMarketplacesCreateOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsMarketplacesCreateBody: + name: str + description: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsMarketplacesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesCreateBody: + return ManagementInstanceSkillsMarketplacesCreateBody( + name=data.get('name'), + description=data.get('description'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/get.py new file mode 100644 index 00000000..9ca581d0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/get.py @@ -0,0 +1,170 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesGetOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin] = None +@dataclass +class ManagementInstanceSkillsMarketplacesGetOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[ManagementInstanceSkillsMarketplacesGetOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin: + return ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesGetOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesGetOutputPlugins: + return ManagementInstanceSkillsMarketplacesGetOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesGetOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesGetOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesGetOutput: + return ManagementInstanceSkillsMarketplacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapManagementInstanceSkillsMarketplacesGetOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/list.py new file mode 100644 index 00000000..dde77bab --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/list.py @@ -0,0 +1,259 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesListOutputItemsPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin] = None +@dataclass +class ManagementInstanceSkillsMarketplacesListOutputItems: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[ManagementInstanceSkillsMarketplacesListOutputItemsPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsMarketplacesListOutput: + items: List[ManagementInstanceSkillsMarketplacesListOutputItems] + pagination: ManagementInstanceSkillsMarketplacesListOutputPagination + + +class mapManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin: + return ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesListOutputItemsPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesListOutputItemsPlugins: + return ManagementInstanceSkillsMarketplacesListOutputItemsPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesListOutputItemsPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesListOutputItemsPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesListOutputItems: + return ManagementInstanceSkillsMarketplacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapManagementInstanceSkillsMarketplacesListOutputItemsPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesListOutputPagination: + return ManagementInstanceSkillsMarketplacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesListOutput: + return ManagementInstanceSkillsMarketplacesListOutput( + items=[mapManagementInstanceSkillsMarketplacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsMarketplacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsMarketplacesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsMarketplacesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsMarketplacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + created_at: Optional[ManagementInstanceSkillsMarketplacesListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceSkillsMarketplacesListQueryUpdatedAt] = None + + +class mapManagementInstanceSkillsMarketplacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesListQuery: + return ManagementInstanceSkillsMarketplacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + search=data.get('search'), + created_at=mapManagementInstanceSkillsMarketplacesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceSkillsMarketplacesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/__init__.py new file mode 100644 index 00000000..ec5e2d9b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/__init__.py @@ -0,0 +1,4 @@ +from .add import * +from .get import * +from .list import * +from .remove import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/add.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/add.py new file mode 100644 index 00000000..e2eb3263 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/add.py @@ -0,0 +1,155 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsAddOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin] = None + + +class mapManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin: + return ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsAddOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsAddOutput: + return ManagementInstanceSkillsMarketplacesPluginsAddOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesPluginsAddOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsAddOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsAddBody: + skill_plugin_id: str + skill_configuration_id: Optional[str] = None + identifier: Optional[str] = None + + +class mapManagementInstanceSkillsMarketplacesPluginsAddBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsAddBody: + return ManagementInstanceSkillsMarketplacesPluginsAddBody( + skill_plugin_id=data.get('skill_plugin_id'), + skill_configuration_id=data.get('skill_configuration_id'), + identifier=data.get('identifier') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsAddBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/get.py new file mode 100644 index 00000000..a087a448 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/get.py @@ -0,0 +1,130 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsGetOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin] = None + + +class mapManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin: + return ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsGetOutput: + return ManagementInstanceSkillsMarketplacesPluginsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesPluginsGetOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/list.py new file mode 100644 index 00000000..92a5aa8e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/list.py @@ -0,0 +1,219 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsListOutputItems: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsListOutput: + items: List[ManagementInstanceSkillsMarketplacesPluginsListOutputItems] + pagination: ManagementInstanceSkillsMarketplacesPluginsListOutputPagination + + +class mapManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin: + return ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsListOutputItems: + return ManagementInstanceSkillsMarketplacesPluginsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesPluginsListOutputItemsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsListOutputPagination: + return ManagementInstanceSkillsMarketplacesPluginsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsListOutput: + return ManagementInstanceSkillsMarketplacesPluginsListOutput( + items=[mapManagementInstanceSkillsMarketplacesPluginsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsMarketplacesPluginsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_plugin_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceSkillsMarketplacesPluginsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceSkillsMarketplacesPluginsListQueryUpdatedAt] = None + + +class mapManagementInstanceSkillsMarketplacesPluginsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsListQuery: + return ManagementInstanceSkillsMarketplacesPluginsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_plugin_id=data.get('skill_plugin_id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapManagementInstanceSkillsMarketplacesPluginsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceSkillsMarketplacesPluginsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/remove.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/remove.py new file mode 100644 index 00000000..f77adafa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/plugins/remove.py @@ -0,0 +1,130 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesPluginsRemoveOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin] = None + + +class mapManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin: + return ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesPluginsRemoveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesPluginsRemoveOutput: + return ManagementInstanceSkillsMarketplacesPluginsRemoveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesPluginsRemoveOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesPluginsRemoveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/sync.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/sync.py new file mode 100644 index 00000000..b4dc0a75 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/sync.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesSyncOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin] = None +@dataclass +class ManagementInstanceSkillsMarketplacesSyncOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[ManagementInstanceSkillsMarketplacesSyncOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin: + return ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesSyncOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesSyncOutputPlugins: + return ManagementInstanceSkillsMarketplacesSyncOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesSyncOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesSyncOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesSyncOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesSyncOutput: + return ManagementInstanceSkillsMarketplacesSyncOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapManagementInstanceSkillsMarketplacesSyncOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesSyncOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsMarketplacesSyncBody: + pass + + +class mapManagementInstanceSkillsMarketplacesSyncBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesSyncBody: + return ManagementInstanceSkillsMarketplacesSyncBody( + + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesSyncBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/update.py new file mode 100644 index 00000000..733a520d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/marketplaces/update.py @@ -0,0 +1,197 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsMarketplacesUpdateOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin] = None +@dataclass +class ManagementInstanceSkillsMarketplacesUpdateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[ManagementInstanceSkillsMarketplacesUpdateOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + return ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin: + return ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesUpdateOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesUpdateOutputPlugins: + return ManagementInstanceSkillsMarketplacesUpdateOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapManagementInstanceSkillsMarketplacesUpdateOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesUpdateOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsMarketplacesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesUpdateOutput: + return ManagementInstanceSkillsMarketplacesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapManagementInstanceSkillsMarketplacesUpdateOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsMarketplacesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsMarketplacesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsMarketplacesUpdateBody: + return ManagementInstanceSkillsMarketplacesUpdateBody( + name=data.get('name'), + description=data.get('description'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsMarketplacesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/get.py new file mode 100644 index 00000000..29e90e3f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/get.py @@ -0,0 +1,160 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsParticipantsGetOutputActorConsumer] = None +@dataclass +class ManagementInstanceSkillsParticipantsGetOutput: + object: str + id: str + skill_id: str + roles: List[str] + actor: ManagementInstanceSkillsParticipantsGetOutputActor + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams: + return ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActor: + return ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsGetOutputActorConsumer: + return ManagementInstanceSkillsParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsGetOutputActor: + return ManagementInstanceSkillsParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsGetOutput: + return ManagementInstanceSkillsParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + roles=data.get('roles', []), + actor=mapManagementInstanceSkillsParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/list.py new file mode 100644 index 00000000..9ddf5efd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/participants/list.py @@ -0,0 +1,229 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsParticipantsListOutputItemsActorConsumer] = None +@dataclass +class ManagementInstanceSkillsParticipantsListOutputItems: + object: str + id: str + skill_id: str + roles: List[str] + actor: ManagementInstanceSkillsParticipantsListOutputItemsActor + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsParticipantsListOutput: + items: List[ManagementInstanceSkillsParticipantsListOutputItems] + pagination: ManagementInstanceSkillsParticipantsListOutputPagination + + +class mapManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams: + return ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActor: + return ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsListOutputItemsActorConsumer: + return ManagementInstanceSkillsParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsListOutputItemsActor: + return ManagementInstanceSkillsParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsListOutputItems: + return ManagementInstanceSkillsParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + roles=data.get('roles', []), + actor=mapManagementInstanceSkillsParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsListOutputPagination: + return ManagementInstanceSkillsParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsListOutput: + return ManagementInstanceSkillsParticipantsListOutput( + items=[mapManagementInstanceSkillsParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceSkillsParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsParticipantsListQuery: + return ManagementInstanceSkillsParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/__init__.py new file mode 100644 index 00000000..3b047e06 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/__init__.py @@ -0,0 +1,7 @@ +from .archive import * +from .create import * +from .get import * +from .list import * +from .skills import * +from .sync import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/archive.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/archive.py new file mode 100644 index 00000000..df5eac12 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/archive.py @@ -0,0 +1,94 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsArchiveOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPluginsArchiveOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsPluginsArchiveOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsArchiveOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsArchiveOutputSkills: + return ManagementInstanceSkillsPluginsArchiveOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsArchiveOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsArchiveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsArchiveOutput: + return ManagementInstanceSkillsPluginsArchiveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsPluginsArchiveOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsArchiveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/create.py new file mode 100644 index 00000000..fed769db --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/create.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsCreateOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPluginsCreateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsPluginsCreateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsCreateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsCreateOutputSkills: + return ManagementInstanceSkillsPluginsCreateOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsCreateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsCreateOutput: + return ManagementInstanceSkillsPluginsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsPluginsCreateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsPluginsCreateBody: + name: str + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsCreateBody: + return ManagementInstanceSkillsPluginsCreateBody( + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/get.py new file mode 100644 index 00000000..17c8202f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/get.py @@ -0,0 +1,94 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsGetOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPluginsGetOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsPluginsGetOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsGetOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsGetOutputSkills: + return ManagementInstanceSkillsPluginsGetOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsGetOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsGetOutput: + return ManagementInstanceSkillsPluginsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsPluginsGetOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/list.py new file mode 100644 index 00000000..928c20bf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/list.py @@ -0,0 +1,187 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsListOutputItemsSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPluginsListOutputItems: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsPluginsListOutputItemsSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPluginsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsPluginsListOutput: + items: List[ManagementInstanceSkillsPluginsListOutputItems] + pagination: ManagementInstanceSkillsPluginsListOutputPagination + + +class mapManagementInstanceSkillsPluginsListOutputItemsSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsListOutputItemsSkills: + return ManagementInstanceSkillsPluginsListOutputItemsSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsListOutputItemsSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsListOutputItems: + return ManagementInstanceSkillsPluginsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsPluginsListOutputItemsSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsListOutputPagination: + return ManagementInstanceSkillsPluginsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsListOutput: + return ManagementInstanceSkillsPluginsListOutput( + items=[mapManagementInstanceSkillsPluginsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsPluginsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsPluginsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsPluginsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsPluginsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + category: Optional[str] = None + search: Optional[str] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceSkillsPluginsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceSkillsPluginsListQueryUpdatedAt] = None + + +class mapManagementInstanceSkillsPluginsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsListQuery: + return ManagementInstanceSkillsPluginsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + status=data.get('status'), + category=data.get('category'), + search=data.get('search'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapManagementInstanceSkillsPluginsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceSkillsPluginsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/__init__.py new file mode 100644 index 00000000..90f0a399 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/__init__.py @@ -0,0 +1,5 @@ +from .add import * +from .get import * +from .list import * +from .remove import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/add.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/add.py new file mode 100644 index 00000000..35e17459 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/add.py @@ -0,0 +1,85 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsSkillsAddOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsSkillsAddOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsAddOutput: + return ManagementInstanceSkillsPluginsSkillsAddOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsAddOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsPluginsSkillsAddBody: + skill_id: str + identifier: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsSkillsAddBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsAddBody: + return ManagementInstanceSkillsPluginsSkillsAddBody( + skill_id=data.get('skill_id'), + identifier=data.get('identifier'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsAddBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/get.py new file mode 100644 index 00000000..8c66b449 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/get.py @@ -0,0 +1,50 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsSkillsGetOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsSkillsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsGetOutput: + return ManagementInstanceSkillsPluginsSkillsGetOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/list.py new file mode 100644 index 00000000..85c533eb --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/list.py @@ -0,0 +1,139 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsSkillsListOutputItems: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPluginsSkillsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsPluginsSkillsListOutput: + items: List[ManagementInstanceSkillsPluginsSkillsListOutputItems] + pagination: ManagementInstanceSkillsPluginsSkillsListOutputPagination + + +class mapManagementInstanceSkillsPluginsSkillsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsListOutputItems: + return ManagementInstanceSkillsPluginsSkillsListOutputItems( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsSkillsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsListOutputPagination: + return ManagementInstanceSkillsPluginsSkillsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsSkillsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsListOutput: + return ManagementInstanceSkillsPluginsSkillsListOutput( + items=[mapManagementInstanceSkillsPluginsSkillsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsPluginsSkillsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsPluginsSkillsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsPluginsSkillsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsPluginsSkillsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceSkillsPluginsSkillsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceSkillsPluginsSkillsListQueryUpdatedAt] = None + + +class mapManagementInstanceSkillsPluginsSkillsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsListQuery: + return ManagementInstanceSkillsPluginsSkillsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_id=data.get('skill_id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapManagementInstanceSkillsPluginsSkillsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceSkillsPluginsSkillsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/remove.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/remove.py new file mode 100644 index 00000000..1a5980d8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/remove.py @@ -0,0 +1,50 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsSkillsRemoveOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsSkillsRemoveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsRemoveOutput: + return ManagementInstanceSkillsPluginsSkillsRemoveOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsRemoveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/update.py new file mode 100644 index 00000000..d856e50d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/skills/update.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsSkillsUpdateOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsSkillsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsUpdateOutput: + return ManagementInstanceSkillsPluginsSkillsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsPluginsSkillsUpdateBody: + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsSkillsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSkillsUpdateBody: + return ManagementInstanceSkillsPluginsSkillsUpdateBody( + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSkillsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/sync.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/sync.py new file mode 100644 index 00000000..83882531 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/sync.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsSyncOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPluginsSyncOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsPluginsSyncOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsSyncOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSyncOutputSkills: + return ManagementInstanceSkillsPluginsSyncOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSyncOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsSyncOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSyncOutput: + return ManagementInstanceSkillsPluginsSyncOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsPluginsSyncOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSyncOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsPluginsSyncBody: + pass + + +class mapManagementInstanceSkillsPluginsSyncBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsSyncBody: + return ManagementInstanceSkillsPluginsSyncBody( + + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsSyncBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/update.py new file mode 100644 index 00000000..40ed7cc9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/plugins/update.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPluginsUpdateOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPluginsUpdateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[ManagementInstanceSkillsPluginsUpdateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsUpdateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsUpdateOutputSkills: + return ManagementInstanceSkillsPluginsUpdateOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsUpdateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPluginsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsUpdateOutput: + return ManagementInstanceSkillsPluginsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapManagementInstanceSkillsPluginsUpdateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsPluginsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapManagementInstanceSkillsPluginsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPluginsUpdateBody: + return ManagementInstanceSkillsPluginsUpdateBody( + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPluginsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/publish_consumer_skill.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/publish_consumer_skill.py new file mode 100644 index 00000000..8d7ab8b4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/publish_consumer_skill.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator] = None + original_creator: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputHierarchy: + object: str + type: str + entity: ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreator] = None + fork: Optional[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyFork] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsPublishConsumerSkillOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: ManagementInstanceSkillsPublishConsumerSkillOutputHierarchy + integrations: List[ManagementInstanceSkillsPublishConsumerSkillOutputIntegrations] + providers: List[ManagementInstanceSkillsPublishConsumerSkillOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreator: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyFork: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyEntity: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputHierarchy: + return ManagementInstanceSkillsPublishConsumerSkillOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration: + return ManagementInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputIntegrations: + return ManagementInstanceSkillsPublishConsumerSkillOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsPublishConsumerSkillOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutputProviders: + return ManagementInstanceSkillsPublishConsumerSkillOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsPublishConsumerSkillOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsPublishConsumerSkillOutput: + return ManagementInstanceSkillsPublishConsumerSkillOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapManagementInstanceSkillsPublishConsumerSkillOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapManagementInstanceSkillsPublishConsumerSkillOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapManagementInstanceSkillsPublishConsumerSkillOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsPublishConsumerSkillOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/__init__.py new file mode 100644 index 00000000..a54a2223 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/create.py new file mode 100644 index 00000000..2e50aebc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/create.py @@ -0,0 +1,193 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesCreateOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesCreateOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesCreateOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesCreateOutputItemsIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesCreateOutputItemsProvider] = None +@dataclass +class ManagementInstanceSkillsTemplatesCreateOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[ManagementInstanceSkillsTemplatesCreateOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesCreateOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesCreateOutputItemsIntegration: + return ManagementInstanceSkillsTemplatesCreateOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesCreateOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesCreateOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesCreateOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesCreateOutputItemsProvider: + return ManagementInstanceSkillsTemplatesCreateOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesCreateOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesCreateOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesCreateOutputItems: + return ManagementInstanceSkillsTemplatesCreateOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesCreateOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesCreateOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesCreateOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesCreateOutput: + return ManagementInstanceSkillsTemplatesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapManagementInstanceSkillsTemplatesCreateOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsTemplatesCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + from_skill_id: Optional[str] = None + + +class mapManagementInstanceSkillsTemplatesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesCreateBody: + return ManagementInstanceSkillsTemplatesCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + from_skill_id=data.get('from_skill_Id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/delete.py new file mode 100644 index 00000000..dc1f5a0a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/delete.py @@ -0,0 +1,166 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesDeleteOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesDeleteOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesDeleteOutputItemsProvider] = None +@dataclass +class ManagementInstanceSkillsTemplatesDeleteOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[ManagementInstanceSkillsTemplatesDeleteOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesDeleteOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegration: + return ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesDeleteOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesDeleteOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesDeleteOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesDeleteOutputItemsProvider: + return ManagementInstanceSkillsTemplatesDeleteOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesDeleteOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesDeleteOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesDeleteOutputItems: + return ManagementInstanceSkillsTemplatesDeleteOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesDeleteOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesDeleteOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesDeleteOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesDeleteOutput: + return ManagementInstanceSkillsTemplatesDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapManagementInstanceSkillsTemplatesDeleteOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/get.py new file mode 100644 index 00000000..da3b4174 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/get.py @@ -0,0 +1,166 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesGetOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesGetOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesGetOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesGetOutputItemsIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesGetOutputItemsProvider] = None +@dataclass +class ManagementInstanceSkillsTemplatesGetOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[ManagementInstanceSkillsTemplatesGetOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesGetOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesGetOutputItemsIntegration: + return ManagementInstanceSkillsTemplatesGetOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesGetOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesGetOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesGetOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesGetOutputItemsProvider: + return ManagementInstanceSkillsTemplatesGetOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesGetOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesGetOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesGetOutputItems: + return ManagementInstanceSkillsTemplatesGetOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesGetOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesGetOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesGetOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesGetOutput: + return ManagementInstanceSkillsTemplatesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapManagementInstanceSkillsTemplatesGetOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/create.py new file mode 100644 index 00000000..34620b6e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/create.py @@ -0,0 +1,143 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesItemsCreateOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsCreateOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesItemsCreateOutputIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesItemsCreateOutputProvider] = None + + +class mapManagementInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsCreateOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsCreateOutputIntegration: + return ManagementInstanceSkillsTemplatesItemsCreateOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesItemsCreateOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsCreateOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsCreateOutputProvider: + return ManagementInstanceSkillsTemplatesItemsCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsCreateOutput: + return ManagementInstanceSkillsTemplatesItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesItemsCreateOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesItemsCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +ManagementInstanceSkillsTemplatesItemsCreateBody = Dict[str, Any] + + +class mapManagementInstanceSkillsTemplatesItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsCreateBody: + data + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/delete.py new file mode 100644 index 00000000..80268e03 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/delete.py @@ -0,0 +1,126 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsDeleteOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesItemsDeleteOutputProvider] = None + + +class mapManagementInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsDeleteOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegration: + return ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesItemsDeleteOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsDeleteOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsDeleteOutputProvider: + return ManagementInstanceSkillsTemplatesItemsDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsDeleteOutput: + return ManagementInstanceSkillsTemplatesItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesItemsDeleteOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesItemsDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/get.py new file mode 100644 index 00000000..372f6552 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/get.py @@ -0,0 +1,126 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesItemsGetOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsGetOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesItemsGetOutputIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesItemsGetOutputProvider] = None + + +class mapManagementInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsGetOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsGetOutputIntegration: + return ManagementInstanceSkillsTemplatesItemsGetOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesItemsGetOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsGetOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsGetOutputProvider: + return ManagementInstanceSkillsTemplatesItemsGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsGetOutput: + return ManagementInstanceSkillsTemplatesItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesItemsGetOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesItemsGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/list.py new file mode 100644 index 00000000..a2449d50 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/items/list.py @@ -0,0 +1,195 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsListOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesItemsListOutputItemsProvider] = None +@dataclass +class ManagementInstanceSkillsTemplatesItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsTemplatesItemsListOutput: + items: List[ManagementInstanceSkillsTemplatesItemsListOutputItems] + pagination: ManagementInstanceSkillsTemplatesItemsListOutputPagination + + +class mapManagementInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsListOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegration: + return ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesItemsListOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsListOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsListOutputItemsProvider: + return ManagementInstanceSkillsTemplatesItemsListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsListOutputItems: + return ManagementInstanceSkillsTemplatesItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesItemsListOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesItemsListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsListOutputPagination: + return ManagementInstanceSkillsTemplatesItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsListOutput: + return ManagementInstanceSkillsTemplatesItemsListOutput( + items=[mapManagementInstanceSkillsTemplatesItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsTemplatesItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsTemplatesItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceSkillsTemplatesItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesItemsListQuery: + return ManagementInstanceSkillsTemplatesItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/list.py new file mode 100644 index 00000000..38f1f92f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/list.py @@ -0,0 +1,259 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesListOutputItemsItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesListOutputItemsItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesListOutputItemsItemsProvider] = None +@dataclass +class ManagementInstanceSkillsTemplatesListOutputItems: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[ManagementInstanceSkillsTemplatesListOutputItemsItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsTemplatesListOutput: + items: List[ManagementInstanceSkillsTemplatesListOutputItems] + pagination: ManagementInstanceSkillsTemplatesListOutputPagination + + +class mapManagementInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesListOutputItemsItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegration: + return ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesListOutputItemsItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesListOutputItemsItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesListOutputItemsItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesListOutputItemsItemsProvider: + return ManagementInstanceSkillsTemplatesListOutputItemsItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesListOutputItemsItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesListOutputItemsItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesListOutputItemsItems: + return ManagementInstanceSkillsTemplatesListOutputItemsItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesListOutputItemsItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesListOutputItemsItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesListOutputItemsItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesListOutputItems: + return ManagementInstanceSkillsTemplatesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapManagementInstanceSkillsTemplatesListOutputItemsItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesListOutputPagination: + return ManagementInstanceSkillsTemplatesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesListOutput: + return ManagementInstanceSkillsTemplatesListOutput( + items=[mapManagementInstanceSkillsTemplatesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsTemplatesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsTemplatesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + owner: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceSkillsTemplatesListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceSkillsTemplatesListQueryUpdatedAt] = None + + +class mapManagementInstanceSkillsTemplatesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesListQuery: + return ManagementInstanceSkillsTemplatesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + owner=data.get('owner'), + id=data.get('id'), + provider_id=data.get('provider_id'), + integration_id=data.get('integration_id'), + created_at=mapManagementInstanceSkillsTemplatesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceSkillsTemplatesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/update.py new file mode 100644 index 00000000..aa63c3ce --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/templates/update.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsTemplatesUpdateOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsTemplatesUpdateOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegration] = None + provider: Optional[ManagementInstanceSkillsTemplatesUpdateOutputItemsProvider] = None +@dataclass +class ManagementInstanceSkillsTemplatesUpdateOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[ManagementInstanceSkillsTemplatesUpdateOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + return ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesUpdateOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegration: + return ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsTemplatesUpdateOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesUpdateOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesUpdateOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesUpdateOutputItemsProvider: + return ManagementInstanceSkillsTemplatesUpdateOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesUpdateOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesUpdateOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesUpdateOutputItems: + return ManagementInstanceSkillsTemplatesUpdateOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapManagementInstanceSkillsTemplatesUpdateOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapManagementInstanceSkillsTemplatesUpdateOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesUpdateOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsTemplatesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesUpdateOutput: + return ManagementInstanceSkillsTemplatesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapManagementInstanceSkillsTemplatesUpdateOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsTemplatesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapManagementInstanceSkillsTemplatesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsTemplatesUpdateBody: + return ManagementInstanceSkillsTemplatesUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsTemplatesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/update.py new file mode 100644 index 00000000..80df037d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/update.py @@ -0,0 +1,639 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsUpdateOutputHierarchyCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[ManagementInstanceSkillsUpdateOutputHierarchyForkCreator] = None + original_creator: Optional[ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreator] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputHierarchy: + object: str + type: str + entity: ManagementInstanceSkillsUpdateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[ManagementInstanceSkillsUpdateOutputHierarchyCreator] = None + fork: Optional[ManagementInstanceSkillsUpdateOutputHierarchyFork] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class ManagementInstanceSkillsUpdateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: ManagementInstanceSkillsUpdateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class ManagementInstanceSkillsUpdateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceSkillsUpdateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: ManagementInstanceSkillsUpdateOutputHierarchy + integrations: List[ManagementInstanceSkillsUpdateOutputIntegrations] + providers: List[ManagementInstanceSkillsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + return ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor: + return ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyCreatorConsumer: + return ManagementInstanceSkillsUpdateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyCreator: + return ManagementInstanceSkillsUpdateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsUpdateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsUpdateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + return ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + return ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer: + return ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyForkCreator: + return ManagementInstanceSkillsUpdateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsUpdateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsUpdateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + return ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + return ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreator: + return ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyFork: + return ManagementInstanceSkillsUpdateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsUpdateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapManagementInstanceSkillsUpdateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchyEntity: + return ManagementInstanceSkillsUpdateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputHierarchy: + return ManagementInstanceSkillsUpdateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapManagementInstanceSkillsUpdateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapManagementInstanceSkillsUpdateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapManagementInstanceSkillsUpdateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputIntegrationsConfiguration: + return ManagementInstanceSkillsUpdateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputIntegrations: + return ManagementInstanceSkillsUpdateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapManagementInstanceSkillsUpdateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutputProviders: + return ManagementInstanceSkillsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateOutput: + return ManagementInstanceSkillsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapManagementInstanceSkillsUpdateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapManagementInstanceSkillsUpdateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapManagementInstanceSkillsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + + +class mapManagementInstanceSkillsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsUpdateBody: + return ManagementInstanceSkillsUpdateBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata'), + image_file_id=data.get('image_file_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/__init__.py new file mode 100644 index 00000000..3f08f2e5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .snapshot import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/get.py new file mode 100644 index 00000000..89ea0ecc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsVersionsGetOutput: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + created_at: datetime + + +class mapManagementInstanceSkillsVersionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsVersionsGetOutput: + return ManagementInstanceSkillsVersionsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsVersionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/list.py new file mode 100644 index 00000000..ef1e9c9a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/list.py @@ -0,0 +1,107 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsVersionsListOutputItems: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + created_at: datetime +@dataclass +class ManagementInstanceSkillsVersionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceSkillsVersionsListOutput: + items: List[ManagementInstanceSkillsVersionsListOutputItems] + pagination: ManagementInstanceSkillsVersionsListOutputPagination + + +class mapManagementInstanceSkillsVersionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsVersionsListOutputItems: + return ManagementInstanceSkillsVersionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsVersionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsVersionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsVersionsListOutputPagination: + return ManagementInstanceSkillsVersionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsVersionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsVersionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsVersionsListOutput: + return ManagementInstanceSkillsVersionsListOutput( + items=[mapManagementInstanceSkillsVersionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceSkillsVersionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsVersionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceSkillsVersionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceSkillsVersionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsVersionsListQuery: + return ManagementInstanceSkillsVersionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsVersionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/snapshot/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/snapshot/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/snapshot/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/snapshot/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/snapshot/get.py new file mode 100644 index 00000000..d1b7ea49 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/skills/versions/snapshot/get.py @@ -0,0 +1,74 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceSkillsVersionsSnapshotGetOutputItems: + object: str + id: str + kind: str + path: str + created_at: datetime + file_id: Optional[str] = None + document_id: Optional[str] = None + document_version_id: Optional[str] = None + content: Optional[str] = None +@dataclass +class ManagementInstanceSkillsVersionsSnapshotGetOutput: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + items: List[ManagementInstanceSkillsVersionsSnapshotGetOutputItems] + created_at: datetime + + +class mapManagementInstanceSkillsVersionsSnapshotGetOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsVersionsSnapshotGetOutputItems: + return ManagementInstanceSkillsVersionsSnapshotGetOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + file_id=data.get('file_id'), + document_id=data.get('document_id'), + document_version_id=data.get('document_version_id'), + content=data.get('content'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsVersionsSnapshotGetOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceSkillsVersionsSnapshotGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceSkillsVersionsSnapshotGetOutput: + return ManagementInstanceSkillsVersionsSnapshotGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + items=[mapManagementInstanceSkillsVersionsSnapshotGetOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceSkillsVersionsSnapshotGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/__init__.py new file mode 100644 index 00000000..c1b3b5cd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .participants import * +from .permissions import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/create.py new file mode 100644 index 00000000..2f4eca29 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/create.py @@ -0,0 +1,65 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresCreateOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceStoresCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresCreateOutput: + return ManagementInstanceStoresCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceStoresCreateBody: + name: str + access: Optional[str] = None + template_id: Optional[str] = None + parent_id: Optional[str] = None + + +class mapManagementInstanceStoresCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresCreateBody: + return ManagementInstanceStoresCreateBody( + name=data.get('name'), + access=data.get('access'), + template_id=data.get('template_id'), + parent_id=data.get('parent_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/delete.py new file mode 100644 index 00000000..b8922de6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/delete.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresDeleteOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceStoresDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresDeleteOutput: + return ManagementInstanceStoresDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/get.py new file mode 100644 index 00000000..e2cc427a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresGetOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceStoresGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresGetOutput: + return ManagementInstanceStoresGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/__init__.py new file mode 100644 index 00000000..5fddd7bf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .modify import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/get.py new file mode 100644 index 00000000..2ebe10ed --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/get.py @@ -0,0 +1,364 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceStoresItemsGetOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsGetOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceStoresItemsGetOutputFileCreatedByConsumer] = None +@dataclass +class ManagementInstanceStoresItemsGetOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[ManagementInstanceStoresItemsGetOutputFileCreatedBy] = None +@dataclass +class ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceStoresItemsGetOutputDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsGetOutputDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceStoresItemsGetOutputDocumentCreatedByConsumer] = None +@dataclass +class ManagementInstanceStoresItemsGetOutputDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceStoresItemsGetOutputDocumentCreatedBy] = None +@dataclass +class ManagementInstanceStoresItemsGetOutput: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[ManagementInstanceStoresItemsGetOutputFile] = None + document: Optional[ManagementInstanceStoresItemsGetOutputDocument] = None + + +class mapManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams: + return ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActor: + return ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputFileCreatedByConsumer: + return ManagementInstanceStoresItemsGetOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputFileCreatedBy: + return ManagementInstanceStoresItemsGetOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceStoresItemsGetOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceStoresItemsGetOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputFile: + return ManagementInstanceStoresItemsGetOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapManagementInstanceStoresItemsGetOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + return ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor: + return ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputDocumentCreatedByConsumer: + return ManagementInstanceStoresItemsGetOutputDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputDocumentCreatedBy: + return ManagementInstanceStoresItemsGetOutputDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceStoresItemsGetOutputDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceStoresItemsGetOutputDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutputDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutputDocument: + return ManagementInstanceStoresItemsGetOutputDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceStoresItemsGetOutputDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutputDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsGetOutput: + return ManagementInstanceStoresItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapManagementInstanceStoresItemsGetOutputFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapManagementInstanceStoresItemsGetOutputDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/list.py new file mode 100644 index 00000000..0315ff72 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/list.py @@ -0,0 +1,453 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceStoresItemsListOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsListOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceStoresItemsListOutputItemsFileCreatedByConsumer] = None +@dataclass +class ManagementInstanceStoresItemsListOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[ManagementInstanceStoresItemsListOutputItemsFileCreatedBy] = None +@dataclass +class ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsListOutputItemsDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer] = None +@dataclass +class ManagementInstanceStoresItemsListOutputItemsDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceStoresItemsListOutputItemsDocumentCreatedBy] = None +@dataclass +class ManagementInstanceStoresItemsListOutputItems: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[ManagementInstanceStoresItemsListOutputItemsFile] = None + document: Optional[ManagementInstanceStoresItemsListOutputItemsDocument] = None +@dataclass +class ManagementInstanceStoresItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceStoresItemsListOutput: + items: List[ManagementInstanceStoresItemsListOutputItems] + pagination: ManagementInstanceStoresItemsListOutputPagination + + +class mapManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + return ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor: + return ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsFileCreatedByConsumer: + return ManagementInstanceStoresItemsListOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsFileCreatedBy: + return ManagementInstanceStoresItemsListOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceStoresItemsListOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceStoresItemsListOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsFile: + return ManagementInstanceStoresItemsListOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapManagementInstanceStoresItemsListOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + return ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + return ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer: + return ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsDocumentCreatedBy: + return ManagementInstanceStoresItemsListOutputItemsDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceStoresItemsListOutputItemsDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceStoresItemsListOutputItemsDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItemsDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItemsDocument: + return ManagementInstanceStoresItemsListOutputItemsDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceStoresItemsListOutputItemsDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItemsDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputItems: + return ManagementInstanceStoresItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapManagementInstanceStoresItemsListOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapManagementInstanceStoresItemsListOutputItemsDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutputPagination: + return ManagementInstanceStoresItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListOutput: + return ManagementInstanceStoresItemsListOutput( + items=[mapManagementInstanceStoresItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceStoresItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceStoresItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceStoresItemsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceStoresItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + file_id: Optional[Union[str, List[str]]] = None + document_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceStoresItemsListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceStoresItemsListQueryUpdatedAt] = None + + +class mapManagementInstanceStoresItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsListQuery: + return ManagementInstanceStoresItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + file_id=data.get('file_id'), + document_id=data.get('document_id'), + type=data.get('type'), + created_at=mapManagementInstanceStoresItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceStoresItemsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/modify.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/modify.py new file mode 100644 index 00000000..4dc255ff --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/items/modify.py @@ -0,0 +1,431 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer] = None +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[ManagementInstanceStoresItemsModifyOutputItemsFileCreatedBy] = None +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor] = None + consumer: Optional[ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer] = None +@dataclass +class ManagementInstanceStoresItemsModifyOutputItemsDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedBy] = None +@dataclass +class ManagementInstanceStoresItemsModifyOutputItems: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[ManagementInstanceStoresItemsModifyOutputItemsFile] = None + document: Optional[ManagementInstanceStoresItemsModifyOutputItemsDocument] = None +@dataclass +class ManagementInstanceStoresItemsModifyOutput: + object: str + items: List[ManagementInstanceStoresItemsModifyOutputItems] + + +class mapManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + return ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + return ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer: + return ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsFileCreatedBy: + return ManagementInstanceStoresItemsModifyOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceStoresItemsModifyOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceStoresItemsModifyOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsFile: + return ManagementInstanceStoresItemsModifyOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapManagementInstanceStoresItemsModifyOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + return ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + return ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer: + return ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedBy: + return ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItemsDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItemsDocument: + return ManagementInstanceStoresItemsModifyOutputItemsDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapManagementInstanceStoresItemsModifyOutputItemsDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItemsDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutputItems: + return ManagementInstanceStoresItemsModifyOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapManagementInstanceStoresItemsModifyOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapManagementInstanceStoresItemsModifyOutputItemsDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyOutput: + return ManagementInstanceStoresItemsModifyOutput( + object=data.get('object'), + items=[mapManagementInstanceStoresItemsModifyOutputItems.from_dict(item) for item in data.get('items', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceStoresItemsModifyBodyOperations: + type: Optional[str] = None + item_id: Optional[str] = None + file_id: Optional[str] = None + document_id: Optional[str] = None + path: Optional[str] = None +@dataclass +class ManagementInstanceStoresItemsModifyBody: + operations: List[ManagementInstanceStoresItemsModifyBodyOperations] + + +class mapManagementInstanceStoresItemsModifyBodyOperations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyBodyOperations: + return ManagementInstanceStoresItemsModifyBodyOperations( + type=data.get('type'), + item_id=data.get('itemId'), + file_id=data.get('fileId'), + document_id=data.get('documentId'), + path=data.get('path') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyBodyOperations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresItemsModifyBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresItemsModifyBody: + return ManagementInstanceStoresItemsModifyBody( + operations=[mapManagementInstanceStoresItemsModifyBodyOperations.from_dict(item) for item in data.get('operations', []) if item] + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresItemsModifyBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/list.py new file mode 100644 index 00000000..15941eda --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/list.py @@ -0,0 +1,121 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresListOutputItems: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceStoresListOutput: + items: List[ManagementInstanceStoresListOutputItems] + pagination: ManagementInstanceStoresListOutputPagination + + +class mapManagementInstanceStoresListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresListOutputItems: + return ManagementInstanceStoresListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresListOutputPagination: + return ManagementInstanceStoresListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresListOutput: + return ManagementInstanceStoresListOutput( + items=[mapManagementInstanceStoresListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceStoresListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceStoresListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceStoresListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class ManagementInstanceStoresListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[ManagementInstanceStoresListQueryCreatedAt] = None + updated_at: Optional[ManagementInstanceStoresListQueryUpdatedAt] = None + + +class mapManagementInstanceStoresListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresListQuery: + return ManagementInstanceStoresListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapManagementInstanceStoresListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapManagementInstanceStoresListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/get.py new file mode 100644 index 00000000..1695ab97 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/get.py @@ -0,0 +1,158 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceStoresParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceStoresParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceStoresParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[ManagementInstanceStoresParticipantsGetOutputActorConsumer] = None +@dataclass +class ManagementInstanceStoresParticipantsGetOutput: + object: str + id: str + store_id: str + permissions: List[str] + actor: ManagementInstanceStoresParticipantsGetOutputActor + created_at: datetime + + +class mapManagementInstanceStoresParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsGetOutputActorOrganizationActorTeams: + return ManagementInstanceStoresParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsGetOutputActorOrganizationActor: + return ManagementInstanceStoresParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceStoresParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsGetOutputActorConsumer: + return ManagementInstanceStoresParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsGetOutputActor: + return ManagementInstanceStoresParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceStoresParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceStoresParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsGetOutput: + return ManagementInstanceStoresParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + store_id=data.get('store_id'), + permissions=data.get('permissions', []), + actor=mapManagementInstanceStoresParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/list.py new file mode 100644 index 00000000..b11a92a2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/participants/list.py @@ -0,0 +1,227 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementInstanceStoresParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceStoresParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[ManagementInstanceStoresParticipantsListOutputItemsActorConsumer] = None +@dataclass +class ManagementInstanceStoresParticipantsListOutputItems: + object: str + id: str + store_id: str + permissions: List[str] + actor: ManagementInstanceStoresParticipantsListOutputItemsActor + created_at: datetime +@dataclass +class ManagementInstanceStoresParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceStoresParticipantsListOutput: + items: List[ManagementInstanceStoresParticipantsListOutputItems] + pagination: ManagementInstanceStoresParticipantsListOutputPagination + + +class mapManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams: + return ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActor: + return ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsListOutputItemsActorConsumer: + return ManagementInstanceStoresParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsListOutputItemsActor: + return ManagementInstanceStoresParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapManagementInstanceStoresParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapManagementInstanceStoresParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsListOutputItems: + return ManagementInstanceStoresParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + store_id=data.get('store_id'), + permissions=data.get('permissions', []), + actor=mapManagementInstanceStoresParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsListOutputPagination: + return ManagementInstanceStoresParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceStoresParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsListOutput: + return ManagementInstanceStoresParticipantsListOutput( + items=[mapManagementInstanceStoresParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceStoresParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceStoresParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceStoresParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresParticipantsListQuery: + return ManagementInstanceStoresParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/permissions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/permissions/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/permissions/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/permissions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/permissions/get.py new file mode 100644 index 00000000..f3fd5362 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/permissions/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresPermissionsGetOutput: + object: str + store_id: str + has_full_access: bool + permissions: List[str] + relevant_store_ids: List[str] + readable_store_ids: List[str] + writable_store_ids: List[str] + + +class mapManagementInstanceStoresPermissionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresPermissionsGetOutput: + return ManagementInstanceStoresPermissionsGetOutput( + object=data.get('object'), + store_id=data.get('store_id'), + has_full_access=data.get('has_full_access'), + permissions=data.get('permissions', []), + relevant_store_ids=data.get('relevant_store_ids', []), + readable_store_ids=data.get('readable_store_ids', []), + writable_store_ids=data.get('writable_store_ids', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresPermissionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/update.py new file mode 100644 index 00000000..bac4169d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/stores/update.py @@ -0,0 +1,61 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceStoresUpdateOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceStoresUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresUpdateOutput: + return ManagementInstanceStoresUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceStoresUpdateBody: + name: Optional[str] = None + access: Optional[str] = None + + +class mapManagementInstanceStoresUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceStoresUpdateBody: + return ManagementInstanceStoresUpdateBody( + name=data.get('name'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceStoresUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/create.py index bb258857..c63857b4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/create.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceToolCallsCreateOutputSenderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceToolCallsCreateOutputSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceToolCallsCreateOutputSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ManagementInstanceToolCallsCreateOutputResponderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceToolCallsCreateOutputResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceToolCallsCreateOutputResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceToolCallsCreateOutputToolInputSchema: type: str @@ -62,11 +106,105 @@ class ManagementInstanceToolCallsCreateOutput: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ManagementInstanceToolCallsCreateOutputSenderParticipant] = None + responder_participant: Optional[ManagementInstanceToolCallsCreateOutputResponderParticipant] = None error: Optional[ManagementInstanceToolCallsCreateOutputError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None +class mapManagementInstanceToolCallsCreateOutputSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsCreateOutputSenderParticipantData: + return ManagementInstanceToolCallsCreateOutputSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsCreateOutputSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsCreateOutputSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsCreateOutputSenderParticipant: + return ManagementInstanceToolCallsCreateOutputSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceToolCallsCreateOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsCreateOutputSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsCreateOutputResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsCreateOutputResponderParticipantData: + return ManagementInstanceToolCallsCreateOutputResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsCreateOutputResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsCreateOutputResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsCreateOutputResponderParticipant: + return ManagementInstanceToolCallsCreateOutputResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceToolCallsCreateOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsCreateOutputResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceToolCallsCreateOutputToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsCreateOutputToolInputSchema: @@ -186,6 +324,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsCreateOutput: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapManagementInstanceToolCallsCreateOutputSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapManagementInstanceToolCallsCreateOutputResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapManagementInstanceToolCallsCreateOutputTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapManagementInstanceToolCallsCreateOutputError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/get.py index fc2f2a84..dbc53330 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/get.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceToolCallsGetOutputSenderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceToolCallsGetOutputSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceToolCallsGetOutputSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ManagementInstanceToolCallsGetOutputResponderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceToolCallsGetOutputResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceToolCallsGetOutputResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceToolCallsGetOutputToolInputSchema: type: str @@ -62,11 +106,105 @@ class ManagementInstanceToolCallsGetOutput: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ManagementInstanceToolCallsGetOutputSenderParticipant] = None + responder_participant: Optional[ManagementInstanceToolCallsGetOutputResponderParticipant] = None error: Optional[ManagementInstanceToolCallsGetOutputError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None +class mapManagementInstanceToolCallsGetOutputSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsGetOutputSenderParticipantData: + return ManagementInstanceToolCallsGetOutputSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsGetOutputSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsGetOutputSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsGetOutputSenderParticipant: + return ManagementInstanceToolCallsGetOutputSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceToolCallsGetOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsGetOutputSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsGetOutputResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsGetOutputResponderParticipantData: + return ManagementInstanceToolCallsGetOutputResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsGetOutputResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsGetOutputResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsGetOutputResponderParticipant: + return ManagementInstanceToolCallsGetOutputResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceToolCallsGetOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsGetOutputResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceToolCallsGetOutputToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsGetOutputToolInputSchema: @@ -186,6 +324,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsGetOutput: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapManagementInstanceToolCallsGetOutputSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapManagementInstanceToolCallsGetOutputResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapManagementInstanceToolCallsGetOutputTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapManagementInstanceToolCallsGetOutputError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/list.py index 5aa36f25..2d88b9ad 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/tool_calls/list.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class ManagementInstanceToolCallsListOutputItemsSenderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceToolCallsListOutputItemsSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceToolCallsListOutputItemsSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ManagementInstanceToolCallsListOutputItemsResponderParticipantData: + identifier: str + name: str +@dataclass +class ManagementInstanceToolCallsListOutputItemsResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ManagementInstanceToolCallsListOutputItemsResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ManagementInstanceToolCallsListOutputItemsToolInputSchema: type: str @@ -62,6 +106,8 @@ class ManagementInstanceToolCallsListOutputItems: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ManagementInstanceToolCallsListOutputItemsSenderParticipant] = None + responder_participant: Optional[ManagementInstanceToolCallsListOutputItemsResponderParticipant] = None error: Optional[ManagementInstanceToolCallsListOutputItemsError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -75,6 +121,98 @@ class ManagementInstanceToolCallsListOutput: pagination: ManagementInstanceToolCallsListOutputPagination +class mapManagementInstanceToolCallsListOutputItemsSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsListOutputItemsSenderParticipantData: + return ManagementInstanceToolCallsListOutputItemsSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsListOutputItemsSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsListOutputItemsSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsListOutputItemsSenderParticipant: + return ManagementInstanceToolCallsListOutputItemsSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceToolCallsListOutputItemsSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsListOutputItemsSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsListOutputItemsResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsListOutputItemsResponderParticipantData: + return ManagementInstanceToolCallsListOutputItemsResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsListOutputItemsResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceToolCallsListOutputItemsResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsListOutputItemsResponderParticipant: + return ManagementInstanceToolCallsListOutputItemsResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapManagementInstanceToolCallsListOutputItemsResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceToolCallsListOutputItemsResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapManagementInstanceToolCallsListOutputItemsToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsListOutputItemsToolInputSchema: @@ -194,6 +332,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsListOutputItem session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapManagementInstanceToolCallsListOutputItemsSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapManagementInstanceToolCallsListOutputItemsResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapManagementInstanceToolCallsListOutputItemsTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapManagementInstanceToolCallsListOutputItemsError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -263,6 +403,11 @@ class ManagementInstanceToolCallsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_id: Optional[Union[str, List[str]]] = None provider_auth_config_id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None tool_id: Optional[Union[str, List[str]]] = None created_at: Optional[ManagementInstanceToolCallsListQueryCreatedAt] = None updated_at: Optional[ManagementInstanceToolCallsListQueryUpdatedAt] = None @@ -283,6 +428,11 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceToolCallsListQuery: provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), provider_auth_config_id=data.get('provider_auth_config_id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), tool_id=data.get('tool_id'), created_at=mapManagementInstanceToolCallsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapManagementInstanceToolCallsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/__init__.py index ca972d2b..3606c329 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/__init__.py @@ -1,5 +1,12 @@ +from .access import * +from .access_requests import * +from .auth import * +from .consumer_groups import * +from .consumer_invites import * +from .consumer_profiles import * from .create import * from .delete import * from .get import * from .list import * +from .listings import * from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/create.py new file mode 100644 index 00000000..2fbf44e5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/create.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAccessCreateOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsAccessCreateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: PortalsAccessCreateOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsAccessCreateOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessCreateOutputConsumerGroup: + return PortalsAccessCreateOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessCreateOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessCreateOutput: + return PortalsAccessCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapPortalsAccessCreateOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAccessCreateBody: + consumer_group_id: str + access: Dict[str, Any] + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsAccessCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessCreateBody: + return PortalsAccessCreateBody( + consumer_group_id=data.get('consumer_group_id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/delete.py new file mode 100644 index 00000000..fb21782a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/delete.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAccessDeleteOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsAccessDeleteOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: PortalsAccessDeleteOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsAccessDeleteOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessDeleteOutputConsumerGroup: + return PortalsAccessDeleteOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessDeleteOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessDeleteOutput: + return PortalsAccessDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapPortalsAccessDeleteOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/get.py new file mode 100644 index 00000000..009da109 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/get.py @@ -0,0 +1,76 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAccessGetOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsAccessGetOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: PortalsAccessGetOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsAccessGetOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessGetOutputConsumerGroup: + return PortalsAccessGetOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessGetOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessGetOutput: + return PortalsAccessGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapPortalsAccessGetOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/list.py new file mode 100644 index 00000000..766079aa --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/list.py @@ -0,0 +1,165 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAccessListOutputItemsConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsAccessListOutputItems: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: PortalsAccessListOutputItemsConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None +@dataclass +class PortalsAccessListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class PortalsAccessListOutput: + items: List[PortalsAccessListOutputItems] + pagination: PortalsAccessListOutputPagination + + +class mapPortalsAccessListOutputItemsConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessListOutputItemsConsumerGroup: + return PortalsAccessListOutputItemsConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessListOutputItemsConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessListOutputItems: + return PortalsAccessListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapPortalsAccessListOutputItemsConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessListOutputPagination: + return PortalsAccessListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessListOutput: + return PortalsAccessListOutput( + items=[mapPortalsAccessListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapPortalsAccessListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAccessListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_group_id: Optional[Union[str, List[str]]] = None + provider_template_id: Optional[Union[str, List[str]]] = None + magic_mcp_server_id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + skill_template_id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + consumer_access_listing_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + + +class mapPortalsAccessListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessListQuery: + return PortalsAccessListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_group_id=data.get('consumer_group_id'), + provider_template_id=data.get('provider_template_id'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + skill_id=data.get('skill_id'), + skill_template_id=data.get('skill_template_id'), + skill_group_id=data.get('skill_group_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + consumer_access_listing_id=data.get('consumer_access_listing_id'), + type=data.get('type') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/update.py new file mode 100644 index 00000000..bc44d5f9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access/update.py @@ -0,0 +1,101 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAccessUpdateOutputConsumerGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsAccessUpdateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + consumer_group: PortalsAccessUpdateOutputConsumerGroup + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsAccessUpdateOutputConsumerGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessUpdateOutputConsumerGroup: + return PortalsAccessUpdateOutputConsumerGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessUpdateOutputConsumerGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessUpdateOutput: + return PortalsAccessUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + consumer_group=mapPortalsAccessUpdateOutputConsumerGroup.from_dict(data.get('consumer_group')) if data.get('consumer_group') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAccessUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsAccessUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessUpdateBody: + return PortalsAccessUpdateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/__init__.py new file mode 100644 index 00000000..1a83b619 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/get.py new file mode 100644 index 00000000..313ff943 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/get.py @@ -0,0 +1,68 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAccessRequestsGetOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class PortalsAccessRequestsGetOutput: + object: str + id: str + status: str + consumer_profile: PortalsAccessRequestsGetOutputConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None + + +class mapPortalsAccessRequestsGetOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsGetOutputConsumerProfile: + return PortalsAccessRequestsGetOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsGetOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessRequestsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsGetOutput: + return PortalsAccessRequestsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapPortalsAccessRequestsGetOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/list.py new file mode 100644 index 00000000..63af5582 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/list.py @@ -0,0 +1,143 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAccessRequestsListOutputItemsConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class PortalsAccessRequestsListOutputItems: + object: str + id: str + status: str + consumer_profile: PortalsAccessRequestsListOutputItemsConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None +@dataclass +class PortalsAccessRequestsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class PortalsAccessRequestsListOutput: + items: List[PortalsAccessRequestsListOutputItems] + pagination: PortalsAccessRequestsListOutputPagination + + +class mapPortalsAccessRequestsListOutputItemsConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsListOutputItemsConsumerProfile: + return PortalsAccessRequestsListOutputItemsConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsListOutputItemsConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessRequestsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsListOutputItems: + return PortalsAccessRequestsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapPortalsAccessRequestsListOutputItemsConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessRequestsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsListOutputPagination: + return PortalsAccessRequestsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessRequestsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsListOutput: + return PortalsAccessRequestsListOutput( + items=[mapPortalsAccessRequestsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapPortalsAccessRequestsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAccessRequestsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + + +class mapPortalsAccessRequestsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsListQuery: + return PortalsAccessRequestsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + consumer_profile_id=data.get('consumer_profile_id'), + search=data.get('search') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/update.py new file mode 100644 index 00000000..956a2383 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/access_requests/update.py @@ -0,0 +1,93 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAccessRequestsUpdateOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class PortalsAccessRequestsUpdateOutput: + object: str + id: str + status: str + consumer_profile: PortalsAccessRequestsUpdateOutputConsumerProfile + target: Dict[str, Any] + created_at: datetime + updated_at: datetime + message: Optional[str] = None + resolution_message: Optional[str] = None + reviewed_at: Optional[datetime] = None + + +class mapPortalsAccessRequestsUpdateOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsUpdateOutputConsumerProfile: + return PortalsAccessRequestsUpdateOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsUpdateOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAccessRequestsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsUpdateOutput: + return PortalsAccessRequestsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + message=data.get('message'), + resolution_message=data.get('resolution_message'), + consumer_profile=mapPortalsAccessRequestsUpdateOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + target=data.get('target'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reviewed_at=datetime.fromisoformat(data.get('reviewed_at').replace('Z', '+00:00')) if data.get('reviewed_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAccessRequestsUpdateBody: + status: str + resolution_message: Optional[str] = None + consumer_group_id: Optional[str] = None + + +class mapPortalsAccessRequestsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAccessRequestsUpdateBody: + return PortalsAccessRequestsUpdateBody( + status=data.get('status'), + resolution_message=data.get('resolution_message'), + consumer_group_id=data.get('consumer_group_id') + ) + + @staticmethod + def to_dict(value: Union[PortalsAccessRequestsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/__init__.py new file mode 100644 index 00000000..44f589f0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/__init__.py @@ -0,0 +1,2 @@ +from .app import * +from .sso_tenants import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/__init__.py new file mode 100644 index 00000000..7ce85e04 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/get.py new file mode 100644 index 00000000..471b0b5d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/get.py @@ -0,0 +1,36 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAuthAppGetOutput: + object: str + id: str + email_whitelist: List[str] + created_at: datetime + updated_at: datetime + slug: Optional[str] = None + + +class mapPortalsAuthAppGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthAppGetOutput: + return PortalsAuthAppGetOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + email_whitelist=data.get('email_whitelist', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthAppGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/update.py new file mode 100644 index 00000000..a2af05f2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/app/update.py @@ -0,0 +1,57 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAuthAppUpdateOutput: + object: str + id: str + email_whitelist: List[str] + created_at: datetime + updated_at: datetime + slug: Optional[str] = None + + +class mapPortalsAuthAppUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthAppUpdateOutput: + return PortalsAuthAppUpdateOutput( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + email_whitelist=data.get('email_whitelist', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthAppUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAuthAppUpdateBody: + email_whitelist: Optional[List[str]] = None + + +class mapPortalsAuthAppUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthAppUpdateBody: + return PortalsAuthAppUpdateBody( + email_whitelist=data.get('email_whitelist', []) + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthAppUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/__init__.py new file mode 100644 index 00000000..271b84a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/__init__.py @@ -0,0 +1,4 @@ +from .connections import * +from .create import * +from .list import * +from .setup import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/connections/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/connections/__init__.py new file mode 100644 index 00000000..7f803db3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/connections/__init__.py @@ -0,0 +1 @@ +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/connections/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/connections/list.py new file mode 100644 index 00000000..2142a555 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/connections/list.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAuthSsoTenantsConnectionsListOutputItems: + object: str + id: str + name: str + provider_type: str + created_at: datetime + provider_name: Optional[str] = None +@dataclass +class PortalsAuthSsoTenantsConnectionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class PortalsAuthSsoTenantsConnectionsListOutput: + items: List[PortalsAuthSsoTenantsConnectionsListOutputItems] + pagination: PortalsAuthSsoTenantsConnectionsListOutputPagination + + +class mapPortalsAuthSsoTenantsConnectionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsConnectionsListOutputItems: + return PortalsAuthSsoTenantsConnectionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + provider_type=data.get('provider_type'), + provider_name=data.get('provider_name'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsConnectionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAuthSsoTenantsConnectionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsConnectionsListOutputPagination: + return PortalsAuthSsoTenantsConnectionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsConnectionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAuthSsoTenantsConnectionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsConnectionsListOutput: + return PortalsAuthSsoTenantsConnectionsListOutput( + items=[mapPortalsAuthSsoTenantsConnectionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapPortalsAuthSsoTenantsConnectionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsConnectionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAuthSsoTenantsConnectionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapPortalsAuthSsoTenantsConnectionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsConnectionsListQuery: + return PortalsAuthSsoTenantsConnectionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsConnectionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/create.py new file mode 100644 index 00000000..7264d8ce --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/create.py @@ -0,0 +1,79 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAuthSsoTenantsCreateOutputCounts: + connections: float +@dataclass +class PortalsAuthSsoTenantsCreateOutput: + object: str + id: str + name: str + status: str + client_id: str + counts: PortalsAuthSsoTenantsCreateOutputCounts + created_at: datetime + updated_at: datetime + + +class mapPortalsAuthSsoTenantsCreateOutputCounts: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsCreateOutputCounts: + return PortalsAuthSsoTenantsCreateOutputCounts( + connections=data.get('connections') + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsCreateOutputCounts, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAuthSsoTenantsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsCreateOutput: + return PortalsAuthSsoTenantsCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + status=data.get('status'), + client_id=data.get('client_id'), + counts=mapPortalsAuthSsoTenantsCreateOutputCounts.from_dict(data.get('counts')) if data.get('counts') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAuthSsoTenantsCreateBody: + name: str + + +class mapPortalsAuthSsoTenantsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsCreateBody: + return PortalsAuthSsoTenantsCreateBody( + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/list.py new file mode 100644 index 00000000..aae6cc9a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/list.py @@ -0,0 +1,127 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAuthSsoTenantsListOutputItemsCounts: + connections: float +@dataclass +class PortalsAuthSsoTenantsListOutputItems: + object: str + id: str + name: str + status: str + client_id: str + counts: PortalsAuthSsoTenantsListOutputItemsCounts + created_at: datetime + updated_at: datetime +@dataclass +class PortalsAuthSsoTenantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class PortalsAuthSsoTenantsListOutput: + items: List[PortalsAuthSsoTenantsListOutputItems] + pagination: PortalsAuthSsoTenantsListOutputPagination + + +class mapPortalsAuthSsoTenantsListOutputItemsCounts: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsListOutputItemsCounts: + return PortalsAuthSsoTenantsListOutputItemsCounts( + connections=data.get('connections') + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsListOutputItemsCounts, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAuthSsoTenantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsListOutputItems: + return PortalsAuthSsoTenantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + status=data.get('status'), + client_id=data.get('client_id'), + counts=mapPortalsAuthSsoTenantsListOutputItemsCounts.from_dict(data.get('counts')) if data.get('counts') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAuthSsoTenantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsListOutputPagination: + return PortalsAuthSsoTenantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsAuthSsoTenantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsListOutput: + return PortalsAuthSsoTenantsListOutput( + items=[mapPortalsAuthSsoTenantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapPortalsAuthSsoTenantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsAuthSsoTenantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapPortalsAuthSsoTenantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsListQuery: + return PortalsAuthSsoTenantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/setup.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/setup.py new file mode 100644 index 00000000..c19560b2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/auth/sso_tenants/setup.py @@ -0,0 +1,28 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsAuthSsoTenantsSetupOutput: + object: str + url: str + + +class mapPortalsAuthSsoTenantsSetupOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsAuthSsoTenantsSetupOutput: + return PortalsAuthSsoTenantsSetupOutput( + object=data.get('object'), + url=data.get('url') + ) + + @staticmethod + def to_dict(value: Union[PortalsAuthSsoTenantsSetupOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/create.py new file mode 100644 index 00000000..d3cca2d9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/create.py @@ -0,0 +1,69 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerGroupsCreateOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapPortalsConsumerGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsCreateOutput: + return PortalsConsumerGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerGroupsCreateBody: + name: str + description: Optional[str] = None + sso_group_ids: Optional[List[str]] = None + is_default: Optional[bool] = None + + +class mapPortalsConsumerGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsCreateBody: + return PortalsConsumerGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + sso_group_ids=data.get('sso_group_ids', []), + is_default=data.get('is_default') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/delete.py new file mode 100644 index 00000000..024d94e2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/delete.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerGroupsDeleteOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapPortalsConsumerGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsDeleteOutput: + return PortalsConsumerGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/get.py new file mode 100644 index 00000000..e9c04c08 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/get.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerGroupsGetOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapPortalsConsumerGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsGetOutput: + return PortalsConsumerGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/list.py new file mode 100644 index 00000000..fe328b9f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/list.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerGroupsListOutputItems: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsConsumerGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class PortalsConsumerGroupsListOutput: + items: List[PortalsConsumerGroupsListOutputItems] + pagination: PortalsConsumerGroupsListOutputPagination + + +class mapPortalsConsumerGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsListOutputItems: + return PortalsConsumerGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsListOutputPagination: + return PortalsConsumerGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsListOutput: + return PortalsConsumerGroupsListOutput( + items=[mapPortalsConsumerGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapPortalsConsumerGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + + +class mapPortalsConsumerGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsListQuery: + return PortalsConsumerGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + search=data.get('search') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/update.py new file mode 100644 index 00000000..55483758 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_groups/update.py @@ -0,0 +1,69 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerGroupsUpdateOutput: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapPortalsConsumerGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsUpdateOutput: + return PortalsConsumerGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + sso_group_ids: Optional[List[str]] = None + is_default: Optional[bool] = None + + +class mapPortalsConsumerGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerGroupsUpdateBody: + return PortalsConsumerGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + sso_group_ids=data.get('sso_group_ids', []), + is_default=data.get('is_default') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/create.py new file mode 100644 index 00000000..4c6d1f6e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/create.py @@ -0,0 +1,117 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerInvitesCreateOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class PortalsConsumerInvitesCreateOutputInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class PortalsConsumerInvitesCreateOutput: + object: str + id: str + status: str + consumer_profile: PortalsConsumerInvitesCreateOutputConsumerProfile + invited_by: PortalsConsumerInvitesCreateOutputInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None + + +class mapPortalsConsumerInvitesCreateOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesCreateOutputConsumerProfile: + return PortalsConsumerInvitesCreateOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesCreateOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerInvitesCreateOutputInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesCreateOutputInvitedBy: + return PortalsConsumerInvitesCreateOutputInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesCreateOutputInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerInvitesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesCreateOutput: + return PortalsConsumerInvitesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapPortalsConsumerInvitesCreateOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapPortalsConsumerInvitesCreateOutputInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerInvitesCreateBody: + name: str + email: str + message: Optional[str] = None + + +class mapPortalsConsumerInvitesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesCreateBody: + return PortalsConsumerInvitesCreateBody( + name=data.get('name'), + email=data.get('email'), + message=data.get('message') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/get.py new file mode 100644 index 00000000..570369cb --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/get.py @@ -0,0 +1,92 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerInvitesGetOutputConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class PortalsConsumerInvitesGetOutputInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class PortalsConsumerInvitesGetOutput: + object: str + id: str + status: str + consumer_profile: PortalsConsumerInvitesGetOutputConsumerProfile + invited_by: PortalsConsumerInvitesGetOutputInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None + + +class mapPortalsConsumerInvitesGetOutputConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesGetOutputConsumerProfile: + return PortalsConsumerInvitesGetOutputConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesGetOutputConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerInvitesGetOutputInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesGetOutputInvitedBy: + return PortalsConsumerInvitesGetOutputInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesGetOutputInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerInvitesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesGetOutput: + return PortalsConsumerInvitesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapPortalsConsumerInvitesGetOutputConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapPortalsConsumerInvitesGetOutputInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/list.py new file mode 100644 index 00000000..418f367c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_invites/list.py @@ -0,0 +1,165 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerInvitesListOutputItemsConsumerProfile: + object: str + id: str + name: str + email: str +@dataclass +class PortalsConsumerInvitesListOutputItemsInvitedBy: + object: str + id: str + name: str + email: Optional[str] = None +@dataclass +class PortalsConsumerInvitesListOutputItems: + object: str + id: str + status: str + consumer_profile: PortalsConsumerInvitesListOutputItemsConsumerProfile + invited_by: PortalsConsumerInvitesListOutputItemsInvitedBy + created_at: datetime + updated_at: datetime + portal_url: Optional[str] = None + message: Optional[str] = None + accepted_at: Optional[datetime] = None +@dataclass +class PortalsConsumerInvitesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class PortalsConsumerInvitesListOutput: + items: List[PortalsConsumerInvitesListOutputItems] + pagination: PortalsConsumerInvitesListOutputPagination + + +class mapPortalsConsumerInvitesListOutputItemsConsumerProfile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesListOutputItemsConsumerProfile: + return PortalsConsumerInvitesListOutputItemsConsumerProfile( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesListOutputItemsConsumerProfile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerInvitesListOutputItemsInvitedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesListOutputItemsInvitedBy: + return PortalsConsumerInvitesListOutputItemsInvitedBy( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesListOutputItemsInvitedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerInvitesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesListOutputItems: + return PortalsConsumerInvitesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + portal_url=data.get('portal_url'), + consumer_profile=mapPortalsConsumerInvitesListOutputItemsConsumerProfile.from_dict(data.get('consumer_profile')) if data.get('consumer_profile') else None, + invited_by=mapPortalsConsumerInvitesListOutputItemsInvitedBy.from_dict(data.get('invited_by')) if data.get('invited_by') else None, + message=data.get('message'), + accepted_at=datetime.fromisoformat(data.get('accepted_at').replace('Z', '+00:00')) if data.get('accepted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerInvitesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesListOutputPagination: + return PortalsConsumerInvitesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerInvitesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesListOutput: + return PortalsConsumerInvitesListOutput( + items=[mapPortalsConsumerInvitesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapPortalsConsumerInvitesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerInvitesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + + +class mapPortalsConsumerInvitesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerInvitesListQuery: + return PortalsConsumerInvitesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerInvitesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/__init__.py new file mode 100644 index 00000000..390c65e3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/__init__.py @@ -0,0 +1,5 @@ +from .assign_groups import * +from .create import * +from .get import * +from .list import * +from .unassign_groups import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/assign_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/assign_groups.py new file mode 100644 index 00000000..b7385353 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/assign_groups.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerProfilesAssignGroupsOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsConsumerProfilesAssignGroupsOutputGroups: + object: str + group: PortalsConsumerProfilesAssignGroupsOutputGroupsGroup + assigned_via: str +@dataclass +class PortalsConsumerProfilesAssignGroupsOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[PortalsConsumerProfilesAssignGroupsOutputGroups]] = None + + +class mapPortalsConsumerProfilesAssignGroupsOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesAssignGroupsOutput: + return PortalsConsumerProfilesAssignGroupsOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapPortalsConsumerProfilesAssignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesAssignGroupsOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerProfilesAssignGroupsBody: + group_ids: List[str] + + +class mapPortalsConsumerProfilesAssignGroupsBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesAssignGroupsBody: + return PortalsConsumerProfilesAssignGroupsBody( + group_ids=data.get('group_ids', []) + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesAssignGroupsBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/create.py new file mode 100644 index 00000000..28b24f2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/create.py @@ -0,0 +1,83 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerProfilesCreateOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsConsumerProfilesCreateOutputGroups: + object: str + group: PortalsConsumerProfilesCreateOutputGroupsGroup + assigned_via: str +@dataclass +class PortalsConsumerProfilesCreateOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[PortalsConsumerProfilesCreateOutputGroups]] = None + + +class mapPortalsConsumerProfilesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesCreateOutput: + return PortalsConsumerProfilesCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapPortalsConsumerProfilesCreateOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerProfilesCreateBody: + email: str + name: str + + +class mapPortalsConsumerProfilesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesCreateBody: + return PortalsConsumerProfilesCreateBody( + email=data.get('email'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/get.py new file mode 100644 index 00000000..6074d0ed --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsConsumerProfilesGetOutputGroups: + object: str + group: PortalsConsumerProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class PortalsConsumerProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[PortalsConsumerProfilesGetOutputGroups]] = None + + +class mapPortalsConsumerProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesGetOutput: + return PortalsConsumerProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapPortalsConsumerProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/list.py new file mode 100644 index 00000000..907e0d7c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/list.py @@ -0,0 +1,83 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class PortalsConsumerProfilesListOutput: + items: List[Dict[str, Any]] + pagination: PortalsConsumerProfilesListOutputPagination + + +class mapPortalsConsumerProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesListOutputPagination: + return PortalsConsumerProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsConsumerProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesListOutput: + return PortalsConsumerProfilesListOutput( + items=data.get('items', []), + pagination=mapPortalsConsumerProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_group_id: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + + +class mapPortalsConsumerProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesListQuery: + return PortalsConsumerProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_group_id=data.get('consumer_group_id'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/unassign_groups.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/unassign_groups.py new file mode 100644 index 00000000..57ad6334 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/consumer_profiles/unassign_groups.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class PortalsConsumerProfilesUnassignGroupsOutputGroups: + object: str + group: PortalsConsumerProfilesUnassignGroupsOutputGroupsGroup + assigned_via: str +@dataclass +class PortalsConsumerProfilesUnassignGroupsOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + status: str + created_at: datetime + updated_at: datetime + groups: Optional[List[PortalsConsumerProfilesUnassignGroupsOutputGroups]] = None + + +class mapPortalsConsumerProfilesUnassignGroupsOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesUnassignGroupsOutput: + return PortalsConsumerProfilesUnassignGroupsOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + consumer_id=data.get('consumer_id'), + status=data.get('status'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + groups=[mapPortalsConsumerProfilesUnassignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item] + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesUnassignGroupsOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsConsumerProfilesUnassignGroupsBody: + group_ids: List[str] + + +class mapPortalsConsumerProfilesUnassignGroupsBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesUnassignGroupsBody: + return PortalsConsumerProfilesUnassignGroupsBody( + group_ids=data.get('group_ids', []) + ) + + @staticmethod + def to_dict(value: Union[PortalsConsumerProfilesUnassignGroupsBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/create.py index 80d640d4..5cad57db 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/create.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class PortalsCreateOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class PortalsCreateOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class PortalsCreateOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: PortalsCreateOutputSkillConfiguration auth: PortalsCreateOutputAuth urls: List[PortalsCreateOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class PortalsCreateOutput: description: Optional[str] = None +class mapPortalsCreateOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsCreateOutputSkillConfiguration: + return PortalsCreateOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[PortalsCreateOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapPortalsCreateOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsCreateOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> PortalsCreateOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapPortalsCreateOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapPortalsCreateOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapPortalsCreateOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -111,6 +145,8 @@ class PortalsCreateBody: description: Optional[str] = None allowed_redirect_url_filters: Optional[List[PortalsCreateBodyAllowedRedirectUrlFilters]] = None session_expiry_time_in_seconds: Optional[float] = None + allow_consumer_skill_authoring: Optional[bool] = None + allow_consumer_skill_publishing: Optional[bool] = None class mapPortalsCreateBodyAllowedRedirectUrlFilters: @@ -135,7 +171,9 @@ def from_dict(data: Dict[str, Any]) -> PortalsCreateBody: name=data.get('name'), description=data.get('description'), allowed_redirect_url_filters=[mapPortalsCreateBodyAllowedRedirectUrlFilters.from_dict(item) for item in data.get('allowed_redirect_url_filters', []) if item], - session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/delete.py index 29a6df01..cf56f821 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/delete.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class PortalsDeleteOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class PortalsDeleteOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class PortalsDeleteOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: PortalsDeleteOutputSkillConfiguration auth: PortalsDeleteOutputAuth urls: List[PortalsDeleteOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class PortalsDeleteOutput: description: Optional[str] = None +class mapPortalsDeleteOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsDeleteOutputSkillConfiguration: + return PortalsDeleteOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[PortalsDeleteOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapPortalsDeleteOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsDeleteOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> PortalsDeleteOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapPortalsDeleteOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapPortalsDeleteOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapPortalsDeleteOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/get.py index 10310b83..a0c305bb 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/get.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class PortalsGetOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class PortalsGetOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class PortalsGetOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: PortalsGetOutputSkillConfiguration auth: PortalsGetOutputAuth urls: List[PortalsGetOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class PortalsGetOutput: description: Optional[str] = None +class mapPortalsGetOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsGetOutputSkillConfiguration: + return PortalsGetOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[PortalsGetOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapPortalsGetOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsGetOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> PortalsGetOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapPortalsGetOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapPortalsGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapPortalsGetOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/list.py index b1844567..ae1815ea 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/list.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class PortalsListOutputItemsSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class PortalsListOutputItemsAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class PortalsListOutputItems: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: PortalsListOutputItemsSkillConfiguration auth: PortalsListOutputItemsAuth urls: List[PortalsListOutputItemsUrls] created_at: datetime @@ -37,6 +48,26 @@ class PortalsListOutput: pagination: PortalsListOutputPagination +class mapPortalsListOutputItemsSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListOutputItemsSkillConfiguration: + return PortalsListOutputItemsSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[PortalsListOutputItemsSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapPortalsListOutputItemsAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsListOutputItemsAuthAllowedRedirectUrlFilters: @@ -95,6 +126,9 @@ def from_dict(data: Dict[str, Any]) -> PortalsListOutputItems: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapPortalsListOutputItemsSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapPortalsListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapPortalsListOutputItemsUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/create.py new file mode 100644 index 00000000..e3515cf6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/create.py @@ -0,0 +1,93 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsListingsCreateOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class PortalsListingsCreateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[PortalsListingsCreateOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsListingsCreateOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsCreateOutputGroups: + return PortalsListingsCreateOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsCreateOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsListingsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsCreateOutput: + return PortalsListingsCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapPortalsListingsCreateOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsListingsCreateBody: + access: Dict[str, Any] + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsListingsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsCreateBody: + return PortalsListingsCreateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/delete.py new file mode 100644 index 00000000..d2691599 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/delete.py @@ -0,0 +1,66 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsListingsDeleteOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class PortalsListingsDeleteOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[PortalsListingsDeleteOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsListingsDeleteOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsDeleteOutputGroups: + return PortalsListingsDeleteOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsDeleteOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsListingsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsDeleteOutput: + return PortalsListingsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapPortalsListingsDeleteOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/get.py new file mode 100644 index 00000000..ded579d8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/get.py @@ -0,0 +1,66 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsListingsGetOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class PortalsListingsGetOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[PortalsListingsGetOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsListingsGetOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsGetOutputGroups: + return PortalsListingsGetOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsListingsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsGetOutput: + return PortalsListingsGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapPortalsListingsGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/list.py new file mode 100644 index 00000000..349ad881 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/list.py @@ -0,0 +1,153 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsListingsListOutputItemsGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class PortalsListingsListOutputItems: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[PortalsListingsListOutputItemsGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None +@dataclass +class PortalsListingsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class PortalsListingsListOutput: + items: List[PortalsListingsListOutputItems] + pagination: PortalsListingsListOutputPagination + + +class mapPortalsListingsListOutputItemsGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsListOutputItemsGroups: + return PortalsListingsListOutputItemsGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsListingsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsListOutputItems: + return PortalsListingsListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapPortalsListingsListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsListingsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsListOutputPagination: + return PortalsListingsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsListingsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsListOutput: + return PortalsListingsListOutput( + items=[mapPortalsListingsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapPortalsListingsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsListingsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + consumer_surface_provider_group_id: Optional[Union[str, List[str]]] = None + provider_template_id: Optional[Union[str, List[str]]] = None + magic_mcp_server_id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + skill_template_id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + + +class mapPortalsListingsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsListQuery: + return PortalsListingsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + consumer_surface_provider_group_id=data.get('consumer_surface_provider_group_id'), + provider_template_id=data.get('provider_template_id'), + magic_mcp_server_id=data.get('magic_mcp_server_id'), + skill_id=data.get('skill_id'), + skill_template_id=data.get('skill_template_id'), + skill_group_id=data.get('skill_group_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + type=data.get('type') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/update.py new file mode 100644 index 00000000..a968bcf4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/listings/update.py @@ -0,0 +1,91 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class PortalsListingsUpdateOutputGroups: + id: str + name: str + index: float + description: Optional[str] = None +@dataclass +class PortalsListingsUpdateOutput: + object: str + id: str + name: str + access: Dict[str, Any] + groups: List[PortalsListingsUpdateOutputGroups] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsListingsUpdateOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsUpdateOutputGroups: + return PortalsListingsUpdateOutputGroups( + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + index=data.get('index') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsUpdateOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapPortalsListingsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsUpdateOutput: + return PortalsListingsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme'), + access=data.get('access'), + groups=[mapPortalsListingsUpdateOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class PortalsListingsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + readme: Optional[str] = None + + +class mapPortalsListingsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsListingsUpdateBody: + return PortalsListingsUpdateBody( + name=data.get('name'), + description=data.get('description'), + readme=data.get('readme') + ) + + @staticmethod + def to_dict(value: Union[PortalsListingsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/update.py index 51552a69..2e771c18 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/portals/update.py @@ -3,6 +3,14 @@ from datetime import datetime import dataclasses +@dataclass +class PortalsUpdateOutputSkillConfiguration: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool @dataclass class PortalsUpdateOutputAuthAllowedRedirectUrlFilters: url: str @@ -22,6 +30,9 @@ class PortalsUpdateOutput: status: str name: str slug: str + allow_consumer_skill_authoring: bool + allow_consumer_skill_publishing: bool + skill_configuration: PortalsUpdateOutputSkillConfiguration auth: PortalsUpdateOutputAuth urls: List[PortalsUpdateOutputUrls] created_at: datetime @@ -29,6 +40,26 @@ class PortalsUpdateOutput: description: Optional[str] = None +class mapPortalsUpdateOutputSkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsUpdateOutputSkillConfiguration: + return PortalsUpdateOutputSkillConfiguration( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[PortalsUpdateOutputSkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapPortalsUpdateOutputAuthAllowedRedirectUrlFilters: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsUpdateOutputAuthAllowedRedirectUrlFilters: @@ -87,6 +118,9 @@ def from_dict(data: Dict[str, Any]) -> PortalsUpdateOutput: name=data.get('name'), slug=data.get('slug'), description=data.get('description'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapPortalsUpdateOutputSkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None, auth=mapPortalsUpdateOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, urls=[mapPortalsUpdateOutputUrls.from_dict(item) for item in data.get('urls', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, @@ -106,11 +140,19 @@ def to_dict(value: Union[PortalsUpdateOutput, Dict[str, Any], None]) -> Optional class PortalsUpdateBodyAllowedRedirectUrlFilters: url: str @dataclass +class PortalsUpdateBodySkillConfiguration: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None +@dataclass class PortalsUpdateBody: name: Optional[str] = None description: Optional[str] = None allowed_redirect_url_filters: Optional[List[PortalsUpdateBodyAllowedRedirectUrlFilters]] = None session_expiry_time_in_seconds: Optional[float] = None + allow_consumer_skill_authoring: Optional[bool] = None + allow_consumer_skill_publishing: Optional[bool] = None + skill_configuration: Optional[PortalsUpdateBodySkillConfiguration] = None class mapPortalsUpdateBodyAllowedRedirectUrlFilters: @@ -128,6 +170,23 @@ def to_dict(value: Union[PortalsUpdateBodyAllowedRedirectUrlFilters, Dict[str, A return value return dataclasses.asdict(value) +class mapPortalsUpdateBodySkillConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> PortalsUpdateBodySkillConfiguration: + return PortalsUpdateBodySkillConfiguration( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[PortalsUpdateBodySkillConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapPortalsUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsUpdateBody: @@ -135,7 +194,10 @@ def from_dict(data: Dict[str, Any]) -> PortalsUpdateBody: name=data.get('name'), description=data.get('description'), allowed_redirect_url_filters=[mapPortalsUpdateBodyAllowedRedirectUrlFilters.from_dict(item) for item in data.get('allowed_redirect_url_filters', []) if item], - session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds'), + allow_consumer_skill_authoring=data.get('allow_consumer_skill_authoring'), + allow_consumer_skill_publishing=data.get('allow_consumer_skill_publishing'), + skill_configuration=mapPortalsUpdateBodySkillConfiguration.from_dict(data.get('skill_configuration')) if data.get('skill_configuration') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/auth_configs/list.py index a39aeadb..06170be2 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/auth_configs/list.py @@ -299,6 +299,8 @@ class ProviderDeploymentsAuthConfigsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None + available_for_use: Optional[bool] = None + available_for_provider_deployment_id: Optional[str] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None actor_id: Optional[Union[str, List[str]]] = None @@ -323,6 +325,8 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsAuthConfigsListQuery: id=data.get('id'), provider_id=data.get('provider_id'), provider_deployment_id=data.get('provider_deployment_id'), + available_for_use=data.get('available_for_use'), + available_for_provider_deployment_id=data.get('available_for_provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), actor_id=data.get('actor_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/configs/list.py index f28fc220..ed68e786 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/configs/list.py @@ -214,6 +214,8 @@ class ProviderDeploymentsConfigsListQuery: provider_id: Optional[Union[str, List[str]]] = None provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None + available_for_use: Optional[bool] = None + available_for_provider_deployment_id: Optional[str] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None actor_id: Optional[Union[str, List[str]]] = None consumer_id: Optional[Union[str, List[str]]] = None @@ -238,6 +240,8 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsConfigsListQuery: provider_id=data.get('provider_id'), provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), + available_for_use=data.get('available_for_use'), + available_for_provider_deployment_id=data.get('available_for_provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), actor_id=data.get('actor_id'), consumer_id=data.get('consumer_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/create.py index 6c8d3d4b..cf830ca7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/create.py @@ -10,11 +10,10 @@ class ProviderTemplatesCreateOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapProviderTemplatesCreateOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderTemplatesCreateOutput: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -43,22 +41,47 @@ def to_dict(value: Union[ProviderTemplatesCreateOutput, Dict[str, Any], None]) - return dataclasses.asdict(value) @dataclass -class ProviderTemplatesCreateBodyProviderDeployment: +class ProviderTemplatesCreateBodyProviders: provider_id: str + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - locked_provider_version_id: Optional[str] = None + tool_filters: Optional[Any] = None @dataclass class ProviderTemplatesCreateBody: name: str + providers: List[ProviderTemplatesCreateBodyProviders] description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - tool_filers: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None - provider_deployment_id: Optional[str] = None - provider_deployment: Optional[ProviderTemplatesCreateBodyProviderDeployment] = None +class mapProviderTemplatesCreateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ProviderTemplatesCreateBodyProviders: + return ProviderTemplatesCreateBodyProviders( + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ProviderTemplatesCreateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapProviderTemplatesCreateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> ProviderTemplatesCreateBody: @@ -66,9 +89,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderTemplatesCreateBody: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - tool_filers=data.get('tool_filers'), - provider_deployment_id=data.get('provider_deployment_id'), - provider_deployment=data.get('provider_deployment') + providers=[mapProviderTemplatesCreateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/delete.py index 68e3be1e..31d8c637 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/delete.py @@ -10,11 +10,10 @@ class ProviderTemplatesDeleteOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapProviderTemplatesDeleteOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderTemplatesDeleteOutput: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/get.py index c3f31425..d9797ae3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/get.py @@ -10,11 +10,10 @@ class ProviderTemplatesGetOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapProviderTemplatesGetOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderTemplatesGetOutput: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/list.py index e1f92591..13f4eaf8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/list.py @@ -10,11 +10,10 @@ class ProviderTemplatesListOutputItems: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None @dataclass class ProviderTemplatesListOutputPagination: has_more_before: bool @@ -35,8 +34,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderTemplatesListOutputItems: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -90,7 +88,7 @@ class ProviderTemplatesListQuery: cursor: Optional[str] = None order: Optional[str] = None id: Optional[Union[str, List[str]]] = None - provider_deployment_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None status: Optional[Union[str, List[str]]] = None @@ -105,7 +103,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderTemplatesListQuery: cursor=data.get('cursor'), order=data.get('order'), id=data.get('id'), - provider_deployment_id=data.get('provider_deployment_id'), + integration_id=data.get('integration_id'), search=data.get('search'), status=data.get('status') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/update.py index 0914d4e8..30f8c948 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_templates/update.py @@ -10,11 +10,10 @@ class ProviderTemplatesUpdateOutput: status: str name: str metadata: Dict[str, Any] - provider_deployment_id: str - tool_filters: Dict[str, Any] created_at: datetime updated_at: datetime description: Optional[str] = None + integration_id: Optional[str] = None class mapProviderTemplatesUpdateOutput: @@ -27,8 +26,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderTemplatesUpdateOutput: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - provider_deployment_id=data.get('provider_deployment_id'), - tool_filters=data.get('tool_filters'), + integration_id=data.get('integration_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -43,13 +41,47 @@ def to_dict(value: Union[ProviderTemplatesUpdateOutput, Dict[str, Any], None]) - return dataclasses.asdict(value) @dataclass +class ProviderTemplatesUpdateBodyProviders: + provider_id: str + provider_deployment_id: Optional[str] = None + provider_auth_method_id: Optional[str] = None + provider_auth_credentials_id: Optional[str] = None + provider_config_id: Optional[str] = None + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + tool_filters: Optional[Any] = None +@dataclass class ProviderTemplatesUpdateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None - tool_filters: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]] = None + providers: Optional[List[ProviderTemplatesUpdateBodyProviders]] = None +class mapProviderTemplatesUpdateBodyProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ProviderTemplatesUpdateBodyProviders: + return ProviderTemplatesUpdateBodyProviders( + provider_id=data.get('provider_id'), + provider_deployment_id=data.get('provider_deployment_id'), + provider_auth_method_id=data.get('provider_auth_method_id'), + provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + provider_config_id=data.get('provider_config_id'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + tool_filters=data.get('tool_filters') + ) + + @staticmethod + def to_dict(value: Union[ProviderTemplatesUpdateBodyProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapProviderTemplatesUpdateBody: @staticmethod def from_dict(data: Dict[str, Any]) -> ProviderTemplatesUpdateBody: @@ -57,7 +89,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderTemplatesUpdateBody: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), - tool_filters=data.get('tool_filters') + providers=[mapProviderTemplatesUpdateBodyProviders.from_dict(item) for item in data.get('providers', []) if item] ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/create.py index 76a149a5..346faf63 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/create.py @@ -53,6 +53,10 @@ class SessionTemplatesCreateOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapSessionTemplatesCreateOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> SessionTemplatesCreateOutput: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapSessionTemplatesCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/delete.py index 33a6ba10..b89717b9 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/delete.py @@ -53,6 +53,10 @@ class SessionTemplatesDeleteOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapSessionTemplatesDeleteOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> SessionTemplatesDeleteOutput: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapSessionTemplatesDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/get.py index 8c1766b8..aaf0d1b0 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/get.py @@ -53,6 +53,10 @@ class SessionTemplatesGetOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapSessionTemplatesGetOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> SessionTemplatesGetOutput: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapSessionTemplatesGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/list.py index f2a2e4ce..cf546ea0 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/list.py @@ -53,6 +53,10 @@ class SessionTemplatesListOutputItems: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None @dataclass class SessionTemplatesListOutputPagination: has_more_before: bool @@ -160,6 +164,10 @@ def from_dict(data: Dict[str, Any]) -> SessionTemplatesListOutputItems: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapSessionTemplatesListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/update.py index 5aa5f3cf..42ffbcbd 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/session_templates/update.py @@ -53,6 +53,10 @@ class SessionTemplatesUpdateOutput: updated_at: datetime description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + integration_instance_id: Optional[str] = None + integration_instance_group_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapSessionTemplatesUpdateOutputProvidersDeployment: @@ -152,6 +156,10 @@ def from_dict(data: Dict[str, Any]) -> SessionTemplatesUpdateOutput: name=data.get('name'), description=data.get('description'), metadata=data.get('metadata'), + integration_instance_id=data.get('integration_instance_id'), + integration_instance_group_id=data.get('integration_instance_group_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), providers=[mapSessionTemplatesUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/connections/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/connections/get.py index 47dd67fc..779543c2 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/connections/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/connections/get.py @@ -26,6 +26,14 @@ class SessionsConnectionsGetOutputParticipant: data: SessionsConnectionsGetOutputParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsConnectionsGetOutput: object: str @@ -103,6 +111,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsConnectionsGetOutputParticipant: name=data.get('name'), data=mapSessionsConnectionsGetOutputParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/connections/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/connections/list.py index 306da9ad..3256b28c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/connections/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/connections/list.py @@ -26,6 +26,14 @@ class SessionsConnectionsListOutputItemsParticipant: data: SessionsConnectionsListOutputItemsParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsConnectionsListOutputItems: object: str @@ -111,6 +119,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsConnectionsListOutputItemsPartici name=data.get('name'), data=mapSessionsConnectionsListOutputItemsParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -200,6 +216,11 @@ class SessionsConnectionsListQuery: status: Optional[Union[str, List[str]]] = None connection_state: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None session_id: Optional[Union[str, List[str]]] = None session_provider_id: Optional[Union[str, List[str]]] = None participant_id: Optional[Union[str, List[str]]] = None @@ -219,6 +240,11 @@ def from_dict(data: Dict[str, Any]) -> SessionsConnectionsListQuery: status=data.get('status'), connection_state=data.get('connection_state'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), session_id=data.get('session_id'), session_provider_id=data.get('session_provider_id'), participant_id=data.get('participant_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/create.py index 43ce5c5d..3ba47cf4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/create.py @@ -71,6 +71,8 @@ class SessionsCreateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapSessionsCreateOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsCreateOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/delete.py index 27c3e3d6..4e32a265 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/delete.py @@ -71,6 +71,8 @@ class SessionsDeleteOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapSessionsDeleteOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsDeleteOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/events/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/events/get.py index 723c79cd..46afa97d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/events/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/events/get.py @@ -26,6 +26,14 @@ class SessionsEventsGetOutputConnectionParticipant: data: SessionsEventsGetOutputConnectionParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsEventsGetOutputConnection: object: str @@ -76,6 +84,50 @@ class SessionsEventsGetOutputMessageTransport: mcp: Optional[SessionsEventsGetOutputMessageTransportMcp] = None tool_call: Optional[SessionsEventsGetOutputMessageTransportToolCall] = None @dataclass +class SessionsEventsGetOutputMessageToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class SessionsEventsGetOutputMessageToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: SessionsEventsGetOutputMessageToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class SessionsEventsGetOutputMessageToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class SessionsEventsGetOutputMessageToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: SessionsEventsGetOutputMessageToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class SessionsEventsGetOutputMessageToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -134,6 +186,8 @@ class SessionsEventsGetOutputMessageToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[SessionsEventsGetOutputMessageToolCallSenderParticipant] = None + responder_participant: Optional[SessionsEventsGetOutputMessageToolCallResponderParticipant] = None error: Optional[SessionsEventsGetOutputMessageToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -151,6 +205,14 @@ class SessionsEventsGetOutputMessageSenderParticipant: data: SessionsEventsGetOutputMessageSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsEventsGetOutputMessageResponderParticipantData: identifier: str @@ -165,6 +227,14 @@ class SessionsEventsGetOutputMessageResponderParticipant: data: SessionsEventsGetOutputMessageResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsEventsGetOutputMessageError: object: str @@ -297,6 +367,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputConnectionParticip name=data.get('name'), data=mapSessionsEventsGetOutputConnectionParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -429,6 +507,98 @@ def to_dict(value: Union[SessionsEventsGetOutputMessageTransport, Dict[str, Any] return value return dataclasses.asdict(value) +class mapSessionsEventsGetOutputMessageToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputMessageToolCallSenderParticipantData: + return SessionsEventsGetOutputMessageToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[SessionsEventsGetOutputMessageToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsEventsGetOutputMessageToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputMessageToolCallSenderParticipant: + return SessionsEventsGetOutputMessageToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapSessionsEventsGetOutputMessageToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SessionsEventsGetOutputMessageToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsEventsGetOutputMessageToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputMessageToolCallResponderParticipantData: + return SessionsEventsGetOutputMessageToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[SessionsEventsGetOutputMessageToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsEventsGetOutputMessageToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputMessageToolCallResponderParticipant: + return SessionsEventsGetOutputMessageToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapSessionsEventsGetOutputMessageToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SessionsEventsGetOutputMessageToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapSessionsEventsGetOutputMessageToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputMessageToolCallToolInputSchema: @@ -548,6 +718,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputMessageToolCall: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapSessionsEventsGetOutputMessageToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapSessionsEventsGetOutputMessageToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapSessionsEventsGetOutputMessageToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapSessionsEventsGetOutputMessageToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -590,6 +762,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputMessageSenderParti name=data.get('name'), data=mapSessionsEventsGetOutputMessageSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -628,6 +808,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsEventsGetOutputMessageResponderPa name=data.get('name'), data=mapSessionsEventsGetOutputMessageResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/events/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/events/list.py index a3da3bb4..50d3c4ee 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/events/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/events/list.py @@ -26,6 +26,14 @@ class SessionsEventsListOutputItemsConnectionParticipant: data: SessionsEventsListOutputItemsConnectionParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsEventsListOutputItemsConnection: object: str @@ -76,6 +84,50 @@ class SessionsEventsListOutputItemsMessageTransport: mcp: Optional[SessionsEventsListOutputItemsMessageTransportMcp] = None tool_call: Optional[SessionsEventsListOutputItemsMessageTransportToolCall] = None @dataclass +class SessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class SessionsEventsListOutputItemsMessageToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: SessionsEventsListOutputItemsMessageToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class SessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class SessionsEventsListOutputItemsMessageToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: SessionsEventsListOutputItemsMessageToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class SessionsEventsListOutputItemsMessageToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -134,6 +186,8 @@ class SessionsEventsListOutputItemsMessageToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[SessionsEventsListOutputItemsMessageToolCallSenderParticipant] = None + responder_participant: Optional[SessionsEventsListOutputItemsMessageToolCallResponderParticipant] = None error: Optional[SessionsEventsListOutputItemsMessageToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -151,6 +205,14 @@ class SessionsEventsListOutputItemsMessageSenderParticipant: data: SessionsEventsListOutputItemsMessageSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsEventsListOutputItemsMessageResponderParticipantData: identifier: str @@ -165,6 +227,14 @@ class SessionsEventsListOutputItemsMessageResponderParticipant: data: SessionsEventsListOutputItemsMessageResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsEventsListOutputItemsMessageError: object: str @@ -305,6 +375,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsConnectionPa name=data.get('name'), data=mapSessionsEventsListOutputItemsConnectionParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -437,6 +515,98 @@ def to_dict(value: Union[SessionsEventsListOutputItemsMessageTransport, Dict[str return value return dataclasses.asdict(value) +class mapSessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsMessageToolCallSenderParticipantData: + return SessionsEventsListOutputItemsMessageToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[SessionsEventsListOutputItemsMessageToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsEventsListOutputItemsMessageToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsMessageToolCallSenderParticipant: + return SessionsEventsListOutputItemsMessageToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapSessionsEventsListOutputItemsMessageToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SessionsEventsListOutputItemsMessageToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsMessageToolCallResponderParticipantData: + return SessionsEventsListOutputItemsMessageToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[SessionsEventsListOutputItemsMessageToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsEventsListOutputItemsMessageToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsMessageToolCallResponderParticipant: + return SessionsEventsListOutputItemsMessageToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapSessionsEventsListOutputItemsMessageToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SessionsEventsListOutputItemsMessageToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapSessionsEventsListOutputItemsMessageToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsMessageToolCallToolInputSchema: @@ -556,6 +726,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsMessageToolC session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapSessionsEventsListOutputItemsMessageToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapSessionsEventsListOutputItemsMessageToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapSessionsEventsListOutputItemsMessageToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapSessionsEventsListOutputItemsMessageToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -598,6 +770,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsMessageSende name=data.get('name'), data=mapSessionsEventsListOutputItemsMessageSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -636,6 +816,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsEventsListOutputItemsMessageRespo name=data.get('name'), data=mapSessionsEventsListOutputItemsMessageResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/get.py index 6922a82c..0bf5f5db 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/get.py @@ -71,6 +71,8 @@ class SessionsGetOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapSessionsGetOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsGetOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/list.py index 34d084fe..20e9eb95 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/list.py @@ -71,6 +71,8 @@ class SessionsListOutputItems: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None @dataclass class SessionsListOutputPagination: has_more_before: bool @@ -221,6 +223,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsListOutputItems: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @@ -283,6 +287,10 @@ class SessionsListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None session_template_id: Optional[Union[str, List[str]]] = None session_provider_id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None @@ -304,6 +312,10 @@ def from_dict(data: Dict[str, Any]) -> SessionsListQuery: order=data.get('order'), status=data.get('status'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), session_template_id=data.get('session_template_id'), session_provider_id=data.get('session_provider_id'), provider_id=data.get('provider_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/messages/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/messages/get.py index 1967113e..c63269e4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/messages/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/messages/get.py @@ -26,6 +26,50 @@ class SessionsMessagesGetOutputTransport: mcp: Optional[SessionsMessagesGetOutputTransportMcp] = None tool_call: Optional[SessionsMessagesGetOutputTransportToolCall] = None @dataclass +class SessionsMessagesGetOutputToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class SessionsMessagesGetOutputToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: SessionsMessagesGetOutputToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class SessionsMessagesGetOutputToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class SessionsMessagesGetOutputToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: SessionsMessagesGetOutputToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class SessionsMessagesGetOutputToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -84,6 +128,8 @@ class SessionsMessagesGetOutputToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[SessionsMessagesGetOutputToolCallSenderParticipant] = None + responder_participant: Optional[SessionsMessagesGetOutputToolCallResponderParticipant] = None error: Optional[SessionsMessagesGetOutputToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -101,6 +147,14 @@ class SessionsMessagesGetOutputSenderParticipant: data: SessionsMessagesGetOutputSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsMessagesGetOutputResponderParticipantData: identifier: str @@ -115,6 +169,14 @@ class SessionsMessagesGetOutputResponderParticipant: data: SessionsMessagesGetOutputResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsMessagesGetOutputError: object: str @@ -221,6 +283,98 @@ def to_dict(value: Union[SessionsMessagesGetOutputTransport, Dict[str, Any], Non return value return dataclasses.asdict(value) +class mapSessionsMessagesGetOutputToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsMessagesGetOutputToolCallSenderParticipantData: + return SessionsMessagesGetOutputToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[SessionsMessagesGetOutputToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsMessagesGetOutputToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsMessagesGetOutputToolCallSenderParticipant: + return SessionsMessagesGetOutputToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapSessionsMessagesGetOutputToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SessionsMessagesGetOutputToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsMessagesGetOutputToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsMessagesGetOutputToolCallResponderParticipantData: + return SessionsMessagesGetOutputToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[SessionsMessagesGetOutputToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsMessagesGetOutputToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsMessagesGetOutputToolCallResponderParticipant: + return SessionsMessagesGetOutputToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapSessionsMessagesGetOutputToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SessionsMessagesGetOutputToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapSessionsMessagesGetOutputToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> SessionsMessagesGetOutputToolCallToolInputSchema: @@ -340,6 +494,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsMessagesGetOutputToolCall: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapSessionsMessagesGetOutputToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapSessionsMessagesGetOutputToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapSessionsMessagesGetOutputToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapSessionsMessagesGetOutputToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -382,6 +538,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsMessagesGetOutputSenderParticipan name=data.get('name'), data=mapSessionsMessagesGetOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -420,6 +584,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsMessagesGetOutputResponderPartici name=data.get('name'), data=mapSessionsMessagesGetOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/messages/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/messages/list.py index 0b6a9cee..86abd759 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/messages/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/messages/list.py @@ -26,6 +26,50 @@ class SessionsMessagesListOutputItemsTransport: mcp: Optional[SessionsMessagesListOutputItemsTransportMcp] = None tool_call: Optional[SessionsMessagesListOutputItemsTransportToolCall] = None @dataclass +class SessionsMessagesListOutputItemsToolCallSenderParticipantData: + identifier: str + name: str +@dataclass +class SessionsMessagesListOutputItemsToolCallSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: SessionsMessagesListOutputItemsToolCallSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class SessionsMessagesListOutputItemsToolCallResponderParticipantData: + identifier: str + name: str +@dataclass +class SessionsMessagesListOutputItemsToolCallResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: SessionsMessagesListOutputItemsToolCallResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass class SessionsMessagesListOutputItemsToolCallToolInputSchema: type: str schema: Dict[str, Any] @@ -84,6 +128,8 @@ class SessionsMessagesListOutputItemsToolCall: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[SessionsMessagesListOutputItemsToolCallSenderParticipant] = None + responder_participant: Optional[SessionsMessagesListOutputItemsToolCallResponderParticipant] = None error: Optional[SessionsMessagesListOutputItemsToolCallError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -101,6 +147,14 @@ class SessionsMessagesListOutputItemsSenderParticipant: data: SessionsMessagesListOutputItemsSenderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsMessagesListOutputItemsResponderParticipantData: identifier: str @@ -115,6 +169,14 @@ class SessionsMessagesListOutputItemsResponderParticipant: data: SessionsMessagesListOutputItemsResponderParticipantData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsMessagesListOutputItemsError: object: str @@ -229,6 +291,98 @@ def to_dict(value: Union[SessionsMessagesListOutputItemsTransport, Dict[str, Any return value return dataclasses.asdict(value) +class mapSessionsMessagesListOutputItemsToolCallSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsMessagesListOutputItemsToolCallSenderParticipantData: + return SessionsMessagesListOutputItemsToolCallSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[SessionsMessagesListOutputItemsToolCallSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsMessagesListOutputItemsToolCallSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsMessagesListOutputItemsToolCallSenderParticipant: + return SessionsMessagesListOutputItemsToolCallSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapSessionsMessagesListOutputItemsToolCallSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SessionsMessagesListOutputItemsToolCallSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsMessagesListOutputItemsToolCallResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsMessagesListOutputItemsToolCallResponderParticipantData: + return SessionsMessagesListOutputItemsToolCallResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[SessionsMessagesListOutputItemsToolCallResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSessionsMessagesListOutputItemsToolCallResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SessionsMessagesListOutputItemsToolCallResponderParticipant: + return SessionsMessagesListOutputItemsToolCallResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapSessionsMessagesListOutputItemsToolCallResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SessionsMessagesListOutputItemsToolCallResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapSessionsMessagesListOutputItemsToolCallToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> SessionsMessagesListOutputItemsToolCallToolInputSchema: @@ -348,6 +502,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsMessagesListOutputItemsToolCall: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapSessionsMessagesListOutputItemsToolCallSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapSessionsMessagesListOutputItemsToolCallResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapSessionsMessagesListOutputItemsToolCallTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapSessionsMessagesListOutputItemsToolCallError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -390,6 +546,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsMessagesListOutputItemsSenderPart name=data.get('name'), data=mapSessionsMessagesListOutputItemsSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -428,6 +592,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsMessagesListOutputItemsResponderP name=data.get('name'), data=mapSessionsMessagesListOutputItemsResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/participants/get.py index 16c3e8a4..c6856db1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/participants/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/participants/get.py @@ -17,6 +17,14 @@ class SessionsParticipantsGetOutput: data: SessionsParticipantsGetOutputData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None class mapSessionsParticipantsGetOutputData: @@ -46,6 +54,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsParticipantsGetOutput: name=data.get('name'), data=mapSessionsParticipantsGetOutputData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/participants/list.py index 79fa6fa2..bb8d933c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/participants/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/participants/list.py @@ -17,6 +17,14 @@ class SessionsParticipantsListOutputItems: data: SessionsParticipantsListOutputItemsData created_at: datetime provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class SessionsParticipantsListOutputPagination: has_more_before: bool @@ -54,6 +62,14 @@ def from_dict(data: Dict[str, Any]) -> SessionsParticipantsListOutputItems: name=data.get('name'), data=mapSessionsParticipantsListOutputItemsData.from_dict(data.get('data')) if data.get('data') else None, provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None ) @@ -115,6 +131,11 @@ class SessionsParticipantsListQuery: order: Optional[str] = None type: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None session_id: Optional[Union[str, List[str]]] = None session_connection_id: Optional[Union[str, List[str]]] = None session_message_id: Optional[Union[str, List[str]]] = None @@ -133,6 +154,11 @@ def from_dict(data: Dict[str, Any]) -> SessionsParticipantsListQuery: order=data.get('order'), type=data.get('type'), id=data.get('id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), session_id=data.get('session_id'), session_connection_id=data.get('session_connection_id'), session_message_id=data.get('session_message_id'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/update.py index 7a13e890..93cc97db 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/sessions/update.py @@ -71,6 +71,8 @@ class SessionsUpdateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None client_secret: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None class mapSessionsUpdateOutputUsage: @@ -213,6 +215,8 @@ def from_dict(data: Dict[str, Any]) -> SessionsUpdateOutput: from_templates_ids=data.get('from_templates_ids', []), has_errors=data.get('has_errors'), has_warnings=data.get('has_warnings'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/__init__.py new file mode 100644 index 00000000..b69ba27e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/__init__.py @@ -0,0 +1,18 @@ +from .agents import * +from .configurations import * +from .create import * +from .delete import * +from .duplicate import * +from .exports import * +from .fork import * +from .get import * +from .groups import * +from .items import * +from .list import * +from .marketplaces import * +from .participants import * +from .plugins import * +from .publish_consumer_skill import * +from .templates import * +from .update import * +from .versions import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/create.py new file mode 100644 index 00000000..be25aeac --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/create.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsAgentsCreateOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapSkillsAgentsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsCreateOutput: + return SkillsAgentsCreateOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsAgentsCreateBody: + name: str + description: Optional[str] = None + content: Optional[str] = None + + +class mapSkillsAgentsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsCreateBody: + return SkillsAgentsCreateBody( + name=data.get('name'), + description=data.get('description'), + content=data.get('content') + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/delete.py new file mode 100644 index 00000000..5899aa42 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/delete.py @@ -0,0 +1,52 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsAgentsDeleteOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapSkillsAgentsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsDeleteOutput: + return SkillsAgentsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/get.py new file mode 100644 index 00000000..278a5a0b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/get.py @@ -0,0 +1,52 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsAgentsGetOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapSkillsAgentsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsGetOutput: + return SkillsAgentsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/list.py new file mode 100644 index 00000000..a9d4a567 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/list.py @@ -0,0 +1,123 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsAgentsListOutputItems: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsAgentsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsAgentsListOutput: + items: List[SkillsAgentsListOutputItems] + pagination: SkillsAgentsListOutputPagination + + +class mapSkillsAgentsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsListOutputItems: + return SkillsAgentsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsAgentsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsListOutputPagination: + return SkillsAgentsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsAgentsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsListOutput: + return SkillsAgentsListOutput( + items=[mapSkillsAgentsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsAgentsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsAgentsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + include_archived: Optional[bool] = None + + +class mapSkillsAgentsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsListQuery: + return SkillsAgentsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + include_archived=data.get('include_archived') + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/update.py new file mode 100644 index 00000000..67655fde --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/agents/update.py @@ -0,0 +1,75 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsAgentsUpdateOutput: + object: str + id: str + skill_id: str + name: str + slug: str + status: str + store_id: str + document_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + store_item_id: Optional[str] = None + path: Optional[str] = None + archived_at: Optional[datetime] = None + + +class mapSkillsAgentsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsUpdateOutput: + return SkillsAgentsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + status=data.get('status'), + store_id=data.get('store_id'), + store_item_id=data.get('store_item_id'), + path=data.get('path'), + document_id=data.get('document_id'), + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsAgentsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + + +class mapSkillsAgentsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsAgentsUpdateBody: + return SkillsAgentsUpdateBody( + name=data.get('name'), + description=data.get('description') + ) + + @staticmethod + def to_dict(value: Union[SkillsAgentsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/__init__.py new file mode 100644 index 00000000..ca972d2b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .delete import * +from .get import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/create.py new file mode 100644 index 00000000..5dd52b15 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/create.py @@ -0,0 +1,67 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsConfigurationsCreateOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapSkillsConfigurationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsCreateOutput: + return SkillsConfigurationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsConfigurationsCreateBody: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None + + +class mapSkillsConfigurationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsCreateBody: + return SkillsConfigurationsCreateBody( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/delete.py new file mode 100644 index 00000000..994fe015 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/delete.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsConfigurationsDeleteOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapSkillsConfigurationsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsDeleteOutput: + return SkillsConfigurationsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/get.py new file mode 100644 index 00000000..71a6fb74 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/get.py @@ -0,0 +1,42 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsConfigurationsGetOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapSkillsConfigurationsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsGetOutput: + return SkillsConfigurationsGetOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/list.py new file mode 100644 index 00000000..b329e4fd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/list.py @@ -0,0 +1,111 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsConfigurationsListOutputItems: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None +@dataclass +class SkillsConfigurationsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsConfigurationsListOutput: + items: List[SkillsConfigurationsListOutputItems] + pagination: SkillsConfigurationsListOutputPagination + + +class mapSkillsConfigurationsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsListOutputItems: + return SkillsConfigurationsListOutputItems( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsConfigurationsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsListOutputPagination: + return SkillsConfigurationsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsConfigurationsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsListOutput: + return SkillsConfigurationsListOutput( + items=[mapSkillsConfigurationsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsConfigurationsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsConfigurationsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapSkillsConfigurationsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsListQuery: + return SkillsConfigurationsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/update.py new file mode 100644 index 00000000..07811fdc --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/configurations/update.py @@ -0,0 +1,67 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsConfigurationsUpdateOutput: + object: str + id: str + is_default: bool + allow_scripts: bool + allowed_file_extensions: List[str] + allow_non_standard_directories: bool + created_at: datetime + updated_at: datetime + deleted_at: Optional[datetime] = None + + +class mapSkillsConfigurationsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsUpdateOutput: + return SkillsConfigurationsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + is_default=data.get('is_default'), + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories'), + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsConfigurationsUpdateBody: + allow_scripts: Optional[bool] = None + allowed_file_extensions: Optional[List[str]] = None + allow_non_standard_directories: Optional[bool] = None + + +class mapSkillsConfigurationsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsConfigurationsUpdateBody: + return SkillsConfigurationsUpdateBody( + allow_scripts=data.get('allow_scripts'), + allowed_file_extensions=data.get('allowed_file_extensions', []), + allow_non_standard_directories=data.get('allow_non_standard_directories') + ) + + @staticmethod + def to_dict(value: Union[SkillsConfigurationsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/create.py new file mode 100644 index 00000000..0982f5e6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/create.py @@ -0,0 +1,641 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsCreateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsCreateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsCreateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsCreateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsCreateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[SkillsCreateOutputHierarchyCreatorConsumer] = None +@dataclass +class SkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsCreateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsCreateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsCreateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsCreateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[SkillsCreateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsCreateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[SkillsCreateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class SkillsCreateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[SkillsCreateOutputHierarchyForkCreator] = None + original_creator: Optional[SkillsCreateOutputHierarchyForkOriginalCreator] = None +@dataclass +class SkillsCreateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsCreateOutputHierarchy: + object: str + type: str + entity: SkillsCreateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[SkillsCreateOutputHierarchyCreator] = None + fork: Optional[SkillsCreateOutputHierarchyFork] = None +@dataclass +class SkillsCreateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsCreateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: SkillsCreateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsCreateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsCreateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: SkillsCreateOutputHierarchy + integrations: List[SkillsCreateOutputIntegrations] + providers: List[SkillsCreateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapSkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyCreatorOrganizationActorTeams: + return SkillsCreateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyCreatorOrganizationActor: + return SkillsCreateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsCreateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyCreatorConsumer: + return SkillsCreateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyCreator: + return SkillsCreateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsCreateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsCreateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams: + return SkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyForkCreatorOrganizationActor: + return SkillsCreateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsCreateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyForkCreatorConsumer: + return SkillsCreateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyForkCreator: + return SkillsCreateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsCreateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsCreateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor: + return SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyForkOriginalCreatorConsumer: + return SkillsCreateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyForkOriginalCreator: + return SkillsCreateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsCreateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsCreateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyFork: + return SkillsCreateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsCreateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapSkillsCreateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchyEntity: + return SkillsCreateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputHierarchy: + return SkillsCreateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsCreateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapSkillsCreateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapSkillsCreateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputIntegrationsConfiguration: + return SkillsCreateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputIntegrations: + return SkillsCreateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsCreateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutputProviders: + return SkillsCreateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateOutput: + return SkillsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapSkillsCreateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapSkillsCreateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapSkillsCreateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + template_id: Optional[str] = None + + +class mapSkillsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsCreateBody: + return SkillsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + image_file_id=data.get('image_file_id'), + template_id=data.get('template_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/delete.py new file mode 100644 index 00000000..a7a0c206 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/delete.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDeleteOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsDeleteOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsDeleteOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDeleteOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsDeleteOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[SkillsDeleteOutputHierarchyCreatorConsumer] = None +@dataclass +class SkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsDeleteOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDeleteOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsDeleteOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[SkillsDeleteOutputHierarchyForkCreatorConsumer] = None +@dataclass +class SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDeleteOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[SkillsDeleteOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class SkillsDeleteOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[SkillsDeleteOutputHierarchyForkCreator] = None + original_creator: Optional[SkillsDeleteOutputHierarchyForkOriginalCreator] = None +@dataclass +class SkillsDeleteOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsDeleteOutputHierarchy: + object: str + type: str + entity: SkillsDeleteOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[SkillsDeleteOutputHierarchyCreator] = None + fork: Optional[SkillsDeleteOutputHierarchyFork] = None +@dataclass +class SkillsDeleteOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsDeleteOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: SkillsDeleteOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsDeleteOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsDeleteOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: SkillsDeleteOutputHierarchy + integrations: List[SkillsDeleteOutputIntegrations] + providers: List[SkillsDeleteOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyCreatorOrganizationActorTeams: + return SkillsDeleteOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyCreatorOrganizationActor: + return SkillsDeleteOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsDeleteOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyCreatorConsumer: + return SkillsDeleteOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyCreator: + return SkillsDeleteOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsDeleteOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsDeleteOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams: + return SkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyForkCreatorOrganizationActor: + return SkillsDeleteOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsDeleteOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyForkCreatorConsumer: + return SkillsDeleteOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyForkCreator: + return SkillsDeleteOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsDeleteOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsDeleteOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor: + return SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyForkOriginalCreatorConsumer: + return SkillsDeleteOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyForkOriginalCreator: + return SkillsDeleteOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsDeleteOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsDeleteOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyFork: + return SkillsDeleteOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsDeleteOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapSkillsDeleteOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchyEntity: + return SkillsDeleteOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputHierarchy: + return SkillsDeleteOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsDeleteOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapSkillsDeleteOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapSkillsDeleteOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputIntegrationsConfiguration: + return SkillsDeleteOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputIntegrations: + return SkillsDeleteOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsDeleteOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutputProviders: + return SkillsDeleteOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDeleteOutput: + return SkillsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapSkillsDeleteOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapSkillsDeleteOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapSkillsDeleteOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/duplicate.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/duplicate.py new file mode 100644 index 00000000..a0f1b92c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/duplicate.py @@ -0,0 +1,637 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDuplicateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsDuplicateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDuplicateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsDuplicateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[SkillsDuplicateOutputHierarchyCreatorConsumer] = None +@dataclass +class SkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsDuplicateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDuplicateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsDuplicateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[SkillsDuplicateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsDuplicateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[SkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class SkillsDuplicateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[SkillsDuplicateOutputHierarchyForkCreator] = None + original_creator: Optional[SkillsDuplicateOutputHierarchyForkOriginalCreator] = None +@dataclass +class SkillsDuplicateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsDuplicateOutputHierarchy: + object: str + type: str + entity: SkillsDuplicateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[SkillsDuplicateOutputHierarchyCreator] = None + fork: Optional[SkillsDuplicateOutputHierarchyFork] = None +@dataclass +class SkillsDuplicateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsDuplicateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: SkillsDuplicateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsDuplicateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsDuplicateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: SkillsDuplicateOutputHierarchy + integrations: List[SkillsDuplicateOutputIntegrations] + providers: List[SkillsDuplicateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams: + return SkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyCreatorOrganizationActor: + return SkillsDuplicateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsDuplicateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyCreatorConsumer: + return SkillsDuplicateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyCreator: + return SkillsDuplicateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsDuplicateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsDuplicateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams: + return SkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyForkCreatorOrganizationActor: + return SkillsDuplicateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsDuplicateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyForkCreatorConsumer: + return SkillsDuplicateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyForkCreator: + return SkillsDuplicateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsDuplicateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsDuplicateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor: + return SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer: + return SkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyForkOriginalCreator: + return SkillsDuplicateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsDuplicateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsDuplicateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyFork: + return SkillsDuplicateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsDuplicateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapSkillsDuplicateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchyEntity: + return SkillsDuplicateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputHierarchy: + return SkillsDuplicateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsDuplicateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapSkillsDuplicateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapSkillsDuplicateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputIntegrationsConfiguration: + return SkillsDuplicateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputIntegrations: + return SkillsDuplicateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsDuplicateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutputProviders: + return SkillsDuplicateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsDuplicateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateOutput: + return SkillsDuplicateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapSkillsDuplicateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapSkillsDuplicateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapSkillsDuplicateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsDuplicateBody: + name: str + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapSkillsDuplicateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsDuplicateBody: + return SkillsDuplicateBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[SkillsDuplicateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/__init__.py new file mode 100644 index 00000000..f8b85669 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/__init__.py @@ -0,0 +1,3 @@ +from .create import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/create.py new file mode 100644 index 00000000..b24c3ace --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/create.py @@ -0,0 +1,381 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsCreateOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsExportsCreateOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsExportsCreateOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsCreateOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsExportsCreateOutputFileCreatedByOrganizationActor] = None + consumer: Optional[SkillsExportsCreateOutputFileCreatedByConsumer] = None +@dataclass +class SkillsExportsCreateOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[SkillsExportsCreateOutputFileCreatedBy] = None +@dataclass +class SkillsExportsCreateOutputFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class SkillsExportsCreateOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsCreateOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsExportsCreateOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsExportsCreateOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsCreateOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsExportsCreateOutputCreatedByOrganizationActor] = None + consumer: Optional[SkillsExportsCreateOutputCreatedByConsumer] = None +@dataclass +class SkillsExportsCreateOutput: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[SkillsExportsCreateOutputFile] = None + file_link: Optional[SkillsExportsCreateOutputFileLink] = None + created_by: Optional[SkillsExportsCreateOutputCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None + + +class mapSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputFileCreatedByOrganizationActorTeams: + return SkillsExportsCreateOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputFileCreatedByOrganizationActor: + return SkillsExportsCreateOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsExportsCreateOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputFileCreatedByConsumer: + return SkillsExportsCreateOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputFileCreatedBy: + return SkillsExportsCreateOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsExportsCreateOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsExportsCreateOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputFile: + return SkillsExportsCreateOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapSkillsExportsCreateOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputFileLink: + return SkillsExportsCreateOutputFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputCreatedByOrganizationActorTeams: + return SkillsExportsCreateOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputCreatedByOrganizationActor: + return SkillsExportsCreateOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsExportsCreateOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputCreatedByConsumer: + return SkillsExportsCreateOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutputCreatedBy: + return SkillsExportsCreateOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsExportsCreateOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsExportsCreateOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateOutput: + return SkillsExportsCreateOutput( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapSkillsExportsCreateOutputFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapSkillsExportsCreateOutputFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapSkillsExportsCreateOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsExportsCreateBody: + target: str + skill_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + + +class mapSkillsExportsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsCreateBody: + return SkillsExportsCreateBody( + target=data.get('target'), + skill_id=data.get('skill_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_marketplace_id=data.get('skill_marketplace_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/get.py new file mode 100644 index 00000000..0bf25b66 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/get.py @@ -0,0 +1,354 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsGetOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsExportsGetOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsExportsGetOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsGetOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsExportsGetOutputFileCreatedByOrganizationActor] = None + consumer: Optional[SkillsExportsGetOutputFileCreatedByConsumer] = None +@dataclass +class SkillsExportsGetOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[SkillsExportsGetOutputFileCreatedBy] = None +@dataclass +class SkillsExportsGetOutputFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class SkillsExportsGetOutputCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsGetOutputCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsExportsGetOutputCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsExportsGetOutputCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsGetOutputCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsExportsGetOutputCreatedByOrganizationActor] = None + consumer: Optional[SkillsExportsGetOutputCreatedByConsumer] = None +@dataclass +class SkillsExportsGetOutput: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[SkillsExportsGetOutputFile] = None + file_link: Optional[SkillsExportsGetOutputFileLink] = None + created_by: Optional[SkillsExportsGetOutputCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None + + +class mapSkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputFileCreatedByOrganizationActorTeams: + return SkillsExportsGetOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputFileCreatedByOrganizationActor: + return SkillsExportsGetOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsExportsGetOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputFileCreatedByConsumer: + return SkillsExportsGetOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputFileCreatedBy: + return SkillsExportsGetOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsExportsGetOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsExportsGetOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputFile: + return SkillsExportsGetOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapSkillsExportsGetOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputFileLink: + return SkillsExportsGetOutputFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputCreatedByOrganizationActorTeams: + return SkillsExportsGetOutputCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputCreatedByOrganizationActor: + return SkillsExportsGetOutputCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsExportsGetOutputCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputCreatedByConsumer: + return SkillsExportsGetOutputCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutputCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutputCreatedBy: + return SkillsExportsGetOutputCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsExportsGetOutputCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsExportsGetOutputCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutputCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsGetOutput: + return SkillsExportsGetOutput( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapSkillsExportsGetOutputFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapSkillsExportsGetOutputFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapSkillsExportsGetOutputCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/list.py new file mode 100644 index 00000000..80879e25 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/exports/list.py @@ -0,0 +1,429 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsListOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsExportsListOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsListOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsExportsListOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[SkillsExportsListOutputItemsFileCreatedByConsumer] = None +@dataclass +class SkillsExportsListOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[SkillsExportsListOutputItemsFileCreatedBy] = None +@dataclass +class SkillsExportsListOutputItemsFileLink: + object: str + id: str + file_id: str + url: str + created_at: datetime + expires_at: Optional[datetime] = None +@dataclass +class SkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsListOutputItemsCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsExportsListOutputItemsCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsExportsListOutputItemsCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsExportsListOutputItemsCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsExportsListOutputItemsCreatedByOrganizationActor] = None + consumer: Optional[SkillsExportsListOutputItemsCreatedByConsumer] = None +@dataclass +class SkillsExportsListOutputItems: + object: str + id: str + target: str + status: str + created_at: datetime + file: Optional[SkillsExportsListOutputItemsFile] = None + file_link: Optional[SkillsExportsListOutputItemsFileLink] = None + created_by: Optional[SkillsExportsListOutputItemsCreatedBy] = None + started_at: Optional[datetime] = None + completed_at: Optional[datetime] = None +@dataclass +class SkillsExportsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsExportsListOutput: + items: List[SkillsExportsListOutputItems] + pagination: SkillsExportsListOutputPagination + + +class mapSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams: + return SkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsFileCreatedByOrganizationActor: + return SkillsExportsListOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsExportsListOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsFileCreatedByConsumer: + return SkillsExportsListOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsFileCreatedBy: + return SkillsExportsListOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsExportsListOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsExportsListOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsFile: + return SkillsExportsListOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapSkillsExportsListOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsFileLink: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsFileLink: + return SkillsExportsListOutputItemsFileLink( + object=data.get('object'), + id=data.get('id'), + file_id=data.get('file_id'), + url=data.get('url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsFileLink, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsCreatedByOrganizationActorTeams: + return SkillsExportsListOutputItemsCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsCreatedByOrganizationActor: + return SkillsExportsListOutputItemsCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsExportsListOutputItemsCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsCreatedByConsumer: + return SkillsExportsListOutputItemsCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItemsCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItemsCreatedBy: + return SkillsExportsListOutputItemsCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsExportsListOutputItemsCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsExportsListOutputItemsCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItemsCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputItems: + return SkillsExportsListOutputItems( + object=data.get('object'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status'), + file=mapSkillsExportsListOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + file_link=mapSkillsExportsListOutputItemsFileLink.from_dict(data.get('file_link')) if data.get('file_link') else None, + created_by=mapSkillsExportsListOutputItemsCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + started_at=datetime.fromisoformat(data.get('started_at').replace('Z', '+00:00')) if data.get('started_at') else None, + completed_at=datetime.fromisoformat(data.get('completed_at').replace('Z', '+00:00')) if data.get('completed_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutputPagination: + return SkillsExportsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsExportsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListOutput: + return SkillsExportsListOutput( + items=[mapSkillsExportsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsExportsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsExportsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + target: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + + +class mapSkillsExportsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsExportsListQuery: + return SkillsExportsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + target=data.get('target'), + status=data.get('status') + ) + + @staticmethod + def to_dict(value: Union[SkillsExportsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/fork.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/fork.py new file mode 100644 index 00000000..aff6adc9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/fork.py @@ -0,0 +1,639 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsForkOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsForkOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsForkOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsForkOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsForkOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsForkOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[SkillsForkOutputHierarchyCreatorConsumer] = None +@dataclass +class SkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsForkOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsForkOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsForkOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsForkOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsForkOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[SkillsForkOutputHierarchyForkCreatorConsumer] = None +@dataclass +class SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsForkOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsForkOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[SkillsForkOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class SkillsForkOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[SkillsForkOutputHierarchyForkCreator] = None + original_creator: Optional[SkillsForkOutputHierarchyForkOriginalCreator] = None +@dataclass +class SkillsForkOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsForkOutputHierarchy: + object: str + type: str + entity: SkillsForkOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[SkillsForkOutputHierarchyCreator] = None + fork: Optional[SkillsForkOutputHierarchyFork] = None +@dataclass +class SkillsForkOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsForkOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: SkillsForkOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsForkOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsForkOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: SkillsForkOutputHierarchy + integrations: List[SkillsForkOutputIntegrations] + providers: List[SkillsForkOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapSkillsForkOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyCreatorOrganizationActorTeams: + return SkillsForkOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyCreatorOrganizationActor: + return SkillsForkOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsForkOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyCreatorConsumer: + return SkillsForkOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyCreator: + return SkillsForkOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsForkOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsForkOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyForkCreatorOrganizationActorTeams: + return SkillsForkOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyForkCreatorOrganizationActor: + return SkillsForkOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsForkOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyForkCreatorConsumer: + return SkillsForkOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyForkCreator: + return SkillsForkOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsForkOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsForkOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor: + return SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyForkOriginalCreatorConsumer: + return SkillsForkOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyForkOriginalCreator: + return SkillsForkOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsForkOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsForkOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyFork: + return SkillsForkOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsForkOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapSkillsForkOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchyEntity: + return SkillsForkOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputHierarchy: + return SkillsForkOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsForkOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapSkillsForkOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapSkillsForkOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputIntegrationsConfiguration: + return SkillsForkOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputIntegrations: + return SkillsForkOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsForkOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutputProviders: + return SkillsForkOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsForkOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkOutput: + return SkillsForkOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapSkillsForkOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapSkillsForkOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapSkillsForkOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsForkOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsForkBody: + name: str + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + + +class mapSkillsForkBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsForkBody: + return SkillsForkBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata'), + image_file_id=data.get('image_file_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsForkBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/get.py new file mode 100644 index 00000000..e9cc1127 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/get.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGetOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsGetOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsGetOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsGetOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsGetOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsGetOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[SkillsGetOutputHierarchyCreatorConsumer] = None +@dataclass +class SkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsGetOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsGetOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsGetOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsGetOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsGetOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[SkillsGetOutputHierarchyForkCreatorConsumer] = None +@dataclass +class SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsGetOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsGetOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[SkillsGetOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class SkillsGetOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[SkillsGetOutputHierarchyForkCreator] = None + original_creator: Optional[SkillsGetOutputHierarchyForkOriginalCreator] = None +@dataclass +class SkillsGetOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsGetOutputHierarchy: + object: str + type: str + entity: SkillsGetOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[SkillsGetOutputHierarchyCreator] = None + fork: Optional[SkillsGetOutputHierarchyFork] = None +@dataclass +class SkillsGetOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsGetOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: SkillsGetOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsGetOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsGetOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: SkillsGetOutputHierarchy + integrations: List[SkillsGetOutputIntegrations] + providers: List[SkillsGetOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapSkillsGetOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyCreatorOrganizationActorTeams: + return SkillsGetOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyCreatorOrganizationActor: + return SkillsGetOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsGetOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyCreatorConsumer: + return SkillsGetOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyCreator: + return SkillsGetOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsGetOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsGetOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyForkCreatorOrganizationActorTeams: + return SkillsGetOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyForkCreatorOrganizationActor: + return SkillsGetOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsGetOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyForkCreatorConsumer: + return SkillsGetOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyForkCreator: + return SkillsGetOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsGetOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsGetOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor: + return SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyForkOriginalCreatorConsumer: + return SkillsGetOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyForkOriginalCreator: + return SkillsGetOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsGetOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsGetOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyFork: + return SkillsGetOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsGetOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapSkillsGetOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchyEntity: + return SkillsGetOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputHierarchy: + return SkillsGetOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsGetOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapSkillsGetOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapSkillsGetOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputIntegrationsConfiguration: + return SkillsGetOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputIntegrations: + return SkillsGetOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsGetOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutputProviders: + return SkillsGetOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGetOutput: + return SkillsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapSkillsGetOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapSkillsGetOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapSkillsGetOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/__init__.py new file mode 100644 index 00000000..a54a2223 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/create.py new file mode 100644 index 00000000..941862a4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/create.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsCreateOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsCreateOutput: + object: str + id: str + status: str + name: str + skills: List[SkillsGroupsCreateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapSkillsGroupsCreateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsCreateOutputSkills: + return SkillsGroupsCreateOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsCreateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsCreateOutput: + return SkillsGroupsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapSkillsGroupsCreateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsGroupsCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + skill_ids: Optional[List[str]] = None + + +class mapSkillsGroupsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsCreateBody: + return SkillsGroupsCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skill_ids=data.get('skill_ids', []) + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/delete.py new file mode 100644 index 00000000..f2ccf2f1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/delete.py @@ -0,0 +1,88 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsDeleteOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsDeleteOutput: + object: str + id: str + status: str + name: str + skills: List[SkillsGroupsDeleteOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapSkillsGroupsDeleteOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsDeleteOutputSkills: + return SkillsGroupsDeleteOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsDeleteOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsDeleteOutput: + return SkillsGroupsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapSkillsGroupsDeleteOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/get.py new file mode 100644 index 00000000..6a884006 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/get.py @@ -0,0 +1,88 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsGetOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsGetOutput: + object: str + id: str + status: str + name: str + skills: List[SkillsGroupsGetOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapSkillsGroupsGetOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsGetOutputSkills: + return SkillsGroupsGetOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsGetOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsGetOutput: + return SkillsGroupsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapSkillsGroupsGetOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/create.py new file mode 100644 index 00000000..4bc88068 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/create.py @@ -0,0 +1,103 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsItemsCreateOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsItemsCreateOutput: + object: str + id: str + status: str + skill_group_id: str + skill: SkillsGroupsItemsCreateOutputSkill + created_at: datetime + + +class mapSkillsGroupsItemsCreateOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsCreateOutputSkill: + return SkillsGroupsItemsCreateOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsCreateOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsCreateOutput: + return SkillsGroupsItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapSkillsGroupsItemsCreateOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsGroupsItemsCreateBody: + skill_id: str + + +class mapSkillsGroupsItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsCreateBody: + return SkillsGroupsItemsCreateBody( + skill_id=data.get('skill_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/delete.py new file mode 100644 index 00000000..67cd12a0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/delete.py @@ -0,0 +1,82 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsItemsDeleteOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsItemsDeleteOutput: + object: str + id: str + status: str + skill_group_id: str + skill: SkillsGroupsItemsDeleteOutputSkill + created_at: datetime + + +class mapSkillsGroupsItemsDeleteOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsDeleteOutputSkill: + return SkillsGroupsItemsDeleteOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsDeleteOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsDeleteOutput: + return SkillsGroupsItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapSkillsGroupsItemsDeleteOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/get.py new file mode 100644 index 00000000..165a4c13 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/get.py @@ -0,0 +1,82 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsItemsGetOutputSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsItemsGetOutput: + object: str + id: str + status: str + skill_group_id: str + skill: SkillsGroupsItemsGetOutputSkill + created_at: datetime + + +class mapSkillsGroupsItemsGetOutputSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsGetOutputSkill: + return SkillsGroupsItemsGetOutputSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsGetOutputSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsGetOutput: + return SkillsGroupsItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapSkillsGroupsItemsGetOutputSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/list.py new file mode 100644 index 00000000..cf9c1a97 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/items/list.py @@ -0,0 +1,163 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsItemsListOutputItemsSkill: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsItemsListOutputItems: + object: str + id: str + status: str + skill_group_id: str + skill: SkillsGroupsItemsListOutputItemsSkill + created_at: datetime +@dataclass +class SkillsGroupsItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsGroupsItemsListOutput: + items: List[SkillsGroupsItemsListOutputItems] + pagination: SkillsGroupsItemsListOutputPagination + + +class mapSkillsGroupsItemsListOutputItemsSkill: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsListOutputItemsSkill: + return SkillsGroupsItemsListOutputItemsSkill( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsListOutputItemsSkill, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsListOutputItems: + return SkillsGroupsItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + skill_group_id=data.get('skill_group_id'), + skill=mapSkillsGroupsItemsListOutputItemsSkill.from_dict(data.get('skill')) if data.get('skill') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsListOutputPagination: + return SkillsGroupsItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsListOutput: + return SkillsGroupsItemsListOutput( + items=[mapSkillsGroupsItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsGroupsItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsGroupsItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsGroupsItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + created_at: Optional[SkillsGroupsItemsListQueryCreatedAt] = None + + +class mapSkillsGroupsItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsItemsListQuery: + return SkillsGroupsItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + id=data.get('id'), + skill_id=data.get('skill_id'), + created_at=mapSkillsGroupsItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/list.py new file mode 100644 index 00000000..fbcde88b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/list.py @@ -0,0 +1,177 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsListOutputItemsSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsListOutputItems: + object: str + id: str + status: str + name: str + skills: List[SkillsGroupsListOutputItemsSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsGroupsListOutput: + items: List[SkillsGroupsListOutputItems] + pagination: SkillsGroupsListOutputPagination + + +class mapSkillsGroupsListOutputItemsSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsListOutputItemsSkills: + return SkillsGroupsListOutputItemsSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsListOutputItemsSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsListOutputItems: + return SkillsGroupsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapSkillsGroupsListOutputItemsSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsListOutputPagination: + return SkillsGroupsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsListOutput: + return SkillsGroupsListOutput( + items=[mapSkillsGroupsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsGroupsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsGroupsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsGroupsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsGroupsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + created_at: Optional[SkillsGroupsListQueryCreatedAt] = None + updated_at: Optional[SkillsGroupsListQueryUpdatedAt] = None + + +class mapSkillsGroupsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsListQuery: + return SkillsGroupsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + skill_id=data.get('skill_id'), + created_at=mapSkillsGroupsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapSkillsGroupsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/update.py new file mode 100644 index 00000000..c345c019 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/groups/update.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsGroupsUpdateOutputSkills: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None +@dataclass +class SkillsGroupsUpdateOutput: + object: str + id: str + status: str + name: str + skills: List[SkillsGroupsUpdateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapSkillsGroupsUpdateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsUpdateOutputSkills: + return SkillsGroupsUpdateOutputSkills( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsUpdateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsGroupsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsUpdateOutput: + return SkillsGroupsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skills=[mapSkillsGroupsUpdateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsGroupsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + skill_ids: Optional[List[str]] = None + + +class mapSkillsGroupsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsGroupsUpdateBody: + return SkillsGroupsUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + skill_ids=data.get('skill_ids', []) + ) + + @staticmethod + def to_dict(value: Union[SkillsGroupsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/create.py new file mode 100644 index 00000000..898b4f3d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/create.py @@ -0,0 +1,145 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsItemsCreateOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsItemsCreateOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsItemsCreateOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsItemsCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsItemsCreateOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[SkillsItemsCreateOutputIntegration] = None + provider: Optional[SkillsItemsCreateOutputProvider] = None + + +class mapSkillsItemsCreateOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsCreateOutputIntegrationConfiguration: + return SkillsItemsCreateOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsCreateOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsCreateOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsCreateOutputIntegration: + return SkillsItemsCreateOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsItemsCreateOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsCreateOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsCreateOutputProvider: + return SkillsItemsCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsCreateOutput: + return SkillsItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapSkillsItemsCreateOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsItemsCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +SkillsItemsCreateBody = Dict[str, Any] + + +class mapSkillsItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsCreateBody: + data + + @staticmethod + def to_dict(value: Union[SkillsItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/delete.py new file mode 100644 index 00000000..294e432f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/delete.py @@ -0,0 +1,128 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsItemsDeleteOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsItemsDeleteOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsItemsDeleteOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsItemsDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsItemsDeleteOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[SkillsItemsDeleteOutputIntegration] = None + provider: Optional[SkillsItemsDeleteOutputProvider] = None + + +class mapSkillsItemsDeleteOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsDeleteOutputIntegrationConfiguration: + return SkillsItemsDeleteOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsDeleteOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsDeleteOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsDeleteOutputIntegration: + return SkillsItemsDeleteOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsItemsDeleteOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsDeleteOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsDeleteOutputProvider: + return SkillsItemsDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsDeleteOutput: + return SkillsItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapSkillsItemsDeleteOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsItemsDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/get.py new file mode 100644 index 00000000..8266b0a6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/get.py @@ -0,0 +1,128 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsItemsGetOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsItemsGetOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsItemsGetOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsItemsGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsItemsGetOutput: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[SkillsItemsGetOutputIntegration] = None + provider: Optional[SkillsItemsGetOutputProvider] = None + + +class mapSkillsItemsGetOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsGetOutputIntegrationConfiguration: + return SkillsItemsGetOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsGetOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsGetOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsGetOutputIntegration: + return SkillsItemsGetOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsItemsGetOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsGetOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsGetOutputProvider: + return SkillsItemsGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsGetOutput: + return SkillsItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapSkillsItemsGetOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsItemsGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/list.py new file mode 100644 index 00000000..482bc5b0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/items/list.py @@ -0,0 +1,213 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsItemsListOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsItemsListOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsItemsListOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsItemsListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsItemsListOutputItems: + object: str + id: str + status: str + type: str + skill_id: str + created_at: datetime + integration: Optional[SkillsItemsListOutputItemsIntegration] = None + provider: Optional[SkillsItemsListOutputItemsProvider] = None +@dataclass +class SkillsItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsItemsListOutput: + items: List[SkillsItemsListOutputItems] + pagination: SkillsItemsListOutputPagination + + +class mapSkillsItemsListOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsListOutputItemsIntegrationConfiguration: + return SkillsItemsListOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsListOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsListOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsListOutputItemsIntegration: + return SkillsItemsListOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsItemsListOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsListOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsListOutputItemsProvider: + return SkillsItemsListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsListOutputItems: + return SkillsItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + skill_id=data.get('skill_id'), + integration=mapSkillsItemsListOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsItemsListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsListOutputPagination: + return SkillsItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsListOutput: + return SkillsItemsListOutput( + items=[mapSkillsItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[SkillsItemsListQueryCreatedAt] = None + + +class mapSkillsItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsItemsListQuery: + return SkillsItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + status=data.get('status'), + type=data.get('type'), + id=data.get('id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + created_at=mapSkillsItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/list.py new file mode 100644 index 00000000..36122df3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/list.py @@ -0,0 +1,695 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsListOutputItemsHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsListOutputItemsHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsListOutputItemsHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsListOutputItemsHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsListOutputItemsHierarchyCreatorOrganizationActor] = None + consumer: Optional[SkillsListOutputItemsHierarchyCreatorConsumer] = None +@dataclass +class SkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsListOutputItemsHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsListOutputItemsHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsListOutputItemsHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[SkillsListOutputItemsHierarchyForkCreatorConsumer] = None +@dataclass +class SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsListOutputItemsHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[SkillsListOutputItemsHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class SkillsListOutputItemsHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[SkillsListOutputItemsHierarchyForkCreator] = None + original_creator: Optional[SkillsListOutputItemsHierarchyForkOriginalCreator] = None +@dataclass +class SkillsListOutputItemsHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsListOutputItemsHierarchy: + object: str + type: str + entity: SkillsListOutputItemsHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[SkillsListOutputItemsHierarchyCreator] = None + fork: Optional[SkillsListOutputItemsHierarchyFork] = None +@dataclass +class SkillsListOutputItemsIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsListOutputItemsIntegrations: + object: str + id: str + slug: str + name: str + configuration: SkillsListOutputItemsIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsListOutputItemsProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsListOutputItems: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: SkillsListOutputItemsHierarchy + integrations: List[SkillsListOutputItemsIntegrations] + providers: List[SkillsListOutputItemsProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None +@dataclass +class SkillsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsListOutput: + items: List[SkillsListOutputItems] + pagination: SkillsListOutputPagination + + +class mapSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyCreatorOrganizationActorTeams: + return SkillsListOutputItemsHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyCreatorOrganizationActor: + return SkillsListOutputItemsHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsListOutputItemsHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyCreatorConsumer: + return SkillsListOutputItemsHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyCreator: + return SkillsListOutputItemsHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsListOutputItemsHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsListOutputItemsHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams: + return SkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyForkCreatorOrganizationActor: + return SkillsListOutputItemsHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsListOutputItemsHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyForkCreatorConsumer: + return SkillsListOutputItemsHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyForkCreator: + return SkillsListOutputItemsHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsListOutputItemsHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsListOutputItemsHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams: + return SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor: + return SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyForkOriginalCreatorConsumer: + return SkillsListOutputItemsHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyForkOriginalCreator: + return SkillsListOutputItemsHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsListOutputItemsHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsListOutputItemsHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyFork: + return SkillsListOutputItemsHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsListOutputItemsHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapSkillsListOutputItemsHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchyEntity: + return SkillsListOutputItemsHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsHierarchy: + return SkillsListOutputItemsHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsListOutputItemsHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapSkillsListOutputItemsHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapSkillsListOutputItemsHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsIntegrationsConfiguration: + return SkillsListOutputItemsIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsIntegrations: + return SkillsListOutputItemsIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsListOutputItemsIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItemsProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItemsProviders: + return SkillsListOutputItemsProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItemsProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputItems: + return SkillsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapSkillsListOutputItemsHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapSkillsListOutputItemsIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapSkillsListOutputItemsProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutputPagination: + return SkillsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListOutput: + return SkillsListOutput( + items=[mapSkillsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + skill_group_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + created_at: Optional[SkillsListQueryCreatedAt] = None + updated_at: Optional[SkillsListQueryUpdatedAt] = None + + +class mapSkillsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsListQuery: + return SkillsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + id=data.get('id'), + skill_group_id=data.get('skill_group_id'), + integration_id=data.get('integration_id'), + provider_id=data.get('provider_id'), + created_at=mapSkillsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapSkillsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/__init__.py new file mode 100644 index 00000000..e24d109e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/__init__.py @@ -0,0 +1,7 @@ +from .archive import * +from .create import * +from .get import * +from .list import * +from .plugins import * +from .sync import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/archive.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/archive.py new file mode 100644 index 00000000..c3a6e983 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/archive.py @@ -0,0 +1,170 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesArchiveOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesArchiveOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesArchiveOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesArchiveOutputPluginsSkillPlugin] = None +@dataclass +class SkillsMarketplacesArchiveOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[SkillsMarketplacesArchiveOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesArchiveOutputPluginsSkillPluginSkills: + return SkillsMarketplacesArchiveOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesArchiveOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesArchiveOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesArchiveOutputPluginsSkillPlugin: + return SkillsMarketplacesArchiveOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesArchiveOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesArchiveOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesArchiveOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesArchiveOutputPlugins: + return SkillsMarketplacesArchiveOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesArchiveOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesArchiveOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesArchiveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesArchiveOutput: + return SkillsMarketplacesArchiveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapSkillsMarketplacesArchiveOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesArchiveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/create.py new file mode 100644 index 00000000..fdf85c3e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/create.py @@ -0,0 +1,197 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesCreateOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesCreateOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesCreateOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesCreateOutputPluginsSkillPlugin] = None +@dataclass +class SkillsMarketplacesCreateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[SkillsMarketplacesCreateOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesCreateOutputPluginsSkillPluginSkills: + return SkillsMarketplacesCreateOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesCreateOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesCreateOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesCreateOutputPluginsSkillPlugin: + return SkillsMarketplacesCreateOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesCreateOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesCreateOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesCreateOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesCreateOutputPlugins: + return SkillsMarketplacesCreateOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesCreateOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesCreateOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesCreateOutput: + return SkillsMarketplacesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapSkillsMarketplacesCreateOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsMarketplacesCreateBody: + name: str + description: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsMarketplacesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesCreateBody: + return SkillsMarketplacesCreateBody( + name=data.get('name'), + description=data.get('description'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/get.py new file mode 100644 index 00000000..a66890a9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/get.py @@ -0,0 +1,170 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesGetOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesGetOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesGetOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesGetOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesGetOutputPluginsSkillPlugin] = None +@dataclass +class SkillsMarketplacesGetOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[SkillsMarketplacesGetOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsMarketplacesGetOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesGetOutputPluginsSkillPluginSkills: + return SkillsMarketplacesGetOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesGetOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesGetOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesGetOutputPluginsSkillPlugin: + return SkillsMarketplacesGetOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesGetOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesGetOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesGetOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesGetOutputPlugins: + return SkillsMarketplacesGetOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesGetOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesGetOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesGetOutput: + return SkillsMarketplacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapSkillsMarketplacesGetOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/list.py new file mode 100644 index 00000000..a6de2542 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/list.py @@ -0,0 +1,259 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesListOutputItemsPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesListOutputItemsPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesListOutputItemsPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesListOutputItemsPluginsSkillPlugin] = None +@dataclass +class SkillsMarketplacesListOutputItems: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[SkillsMarketplacesListOutputItemsPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsMarketplacesListOutput: + items: List[SkillsMarketplacesListOutputItems] + pagination: SkillsMarketplacesListOutputPagination + + +class mapSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesListOutputItemsPluginsSkillPluginSkills: + return SkillsMarketplacesListOutputItemsPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesListOutputItemsPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesListOutputItemsPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesListOutputItemsPluginsSkillPlugin: + return SkillsMarketplacesListOutputItemsPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesListOutputItemsPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesListOutputItemsPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesListOutputItemsPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesListOutputItemsPlugins: + return SkillsMarketplacesListOutputItemsPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesListOutputItemsPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesListOutputItemsPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesListOutputItems: + return SkillsMarketplacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapSkillsMarketplacesListOutputItemsPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesListOutputPagination: + return SkillsMarketplacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesListOutput: + return SkillsMarketplacesListOutput( + items=[mapSkillsMarketplacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsMarketplacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsMarketplacesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsMarketplacesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsMarketplacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + search: Optional[str] = None + created_at: Optional[SkillsMarketplacesListQueryCreatedAt] = None + updated_at: Optional[SkillsMarketplacesListQueryUpdatedAt] = None + + +class mapSkillsMarketplacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesListQuery: + return SkillsMarketplacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + search=data.get('search'), + created_at=mapSkillsMarketplacesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapSkillsMarketplacesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/__init__.py new file mode 100644 index 00000000..ec5e2d9b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/__init__.py @@ -0,0 +1,4 @@ +from .add import * +from .get import * +from .list import * +from .remove import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/add.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/add.py new file mode 100644 index 00000000..34872146 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/add.py @@ -0,0 +1,155 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesPluginsAddOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesPluginsAddOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesPluginsAddOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesPluginsAddOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesPluginsAddOutputSkillPlugin] = None + + +class mapSkillsMarketplacesPluginsAddOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsAddOutputSkillPluginSkills: + return SkillsMarketplacesPluginsAddOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsAddOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsAddOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsAddOutputSkillPlugin: + return SkillsMarketplacesPluginsAddOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesPluginsAddOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsAddOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsAddOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsAddOutput: + return SkillsMarketplacesPluginsAddOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesPluginsAddOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsAddOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsMarketplacesPluginsAddBody: + skill_plugin_id: str + skill_configuration_id: Optional[str] = None + identifier: Optional[str] = None + + +class mapSkillsMarketplacesPluginsAddBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsAddBody: + return SkillsMarketplacesPluginsAddBody( + skill_plugin_id=data.get('skill_plugin_id'), + skill_configuration_id=data.get('skill_configuration_id'), + identifier=data.get('identifier') + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsAddBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/get.py new file mode 100644 index 00000000..7dd26514 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/get.py @@ -0,0 +1,130 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesPluginsGetOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesPluginsGetOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesPluginsGetOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesPluginsGetOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesPluginsGetOutputSkillPlugin] = None + + +class mapSkillsMarketplacesPluginsGetOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsGetOutputSkillPluginSkills: + return SkillsMarketplacesPluginsGetOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsGetOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsGetOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsGetOutputSkillPlugin: + return SkillsMarketplacesPluginsGetOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesPluginsGetOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsGetOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsGetOutput: + return SkillsMarketplacesPluginsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesPluginsGetOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/list.py new file mode 100644 index 00000000..e64b9345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/list.py @@ -0,0 +1,219 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesPluginsListOutputItemsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesPluginsListOutputItemsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesPluginsListOutputItems: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesPluginsListOutputItemsSkillPlugin] = None +@dataclass +class SkillsMarketplacesPluginsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsMarketplacesPluginsListOutput: + items: List[SkillsMarketplacesPluginsListOutputItems] + pagination: SkillsMarketplacesPluginsListOutputPagination + + +class mapSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsListOutputItemsSkillPluginSkills: + return SkillsMarketplacesPluginsListOutputItemsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsListOutputItemsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsListOutputItemsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsListOutputItemsSkillPlugin: + return SkillsMarketplacesPluginsListOutputItemsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesPluginsListOutputItemsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsListOutputItemsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsListOutputItems: + return SkillsMarketplacesPluginsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesPluginsListOutputItemsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsListOutputPagination: + return SkillsMarketplacesPluginsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsListOutput: + return SkillsMarketplacesPluginsListOutput( + items=[mapSkillsMarketplacesPluginsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsMarketplacesPluginsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsMarketplacesPluginsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsMarketplacesPluginsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsMarketplacesPluginsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_plugin_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[SkillsMarketplacesPluginsListQueryCreatedAt] = None + updated_at: Optional[SkillsMarketplacesPluginsListQueryUpdatedAt] = None + + +class mapSkillsMarketplacesPluginsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsListQuery: + return SkillsMarketplacesPluginsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_plugin_id=data.get('skill_plugin_id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapSkillsMarketplacesPluginsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapSkillsMarketplacesPluginsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/remove.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/remove.py new file mode 100644 index 00000000..37d3812f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/plugins/remove.py @@ -0,0 +1,130 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesPluginsRemoveOutputSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesPluginsRemoveOutputSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesPluginsRemoveOutput: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesPluginsRemoveOutputSkillPlugin] = None + + +class mapSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsRemoveOutputSkillPluginSkills: + return SkillsMarketplacesPluginsRemoveOutputSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsRemoveOutputSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsRemoveOutputSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsRemoveOutputSkillPlugin: + return SkillsMarketplacesPluginsRemoveOutputSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesPluginsRemoveOutputSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsRemoveOutputSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesPluginsRemoveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesPluginsRemoveOutput: + return SkillsMarketplacesPluginsRemoveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesPluginsRemoveOutputSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesPluginsRemoveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/sync.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/sync.py new file mode 100644 index 00000000..3c0db1f9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/sync.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesSyncOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesSyncOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesSyncOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesSyncOutputPluginsSkillPlugin] = None +@dataclass +class SkillsMarketplacesSyncOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[SkillsMarketplacesSyncOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesSyncOutputPluginsSkillPluginSkills: + return SkillsMarketplacesSyncOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesSyncOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesSyncOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesSyncOutputPluginsSkillPlugin: + return SkillsMarketplacesSyncOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesSyncOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesSyncOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesSyncOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesSyncOutputPlugins: + return SkillsMarketplacesSyncOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesSyncOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesSyncOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesSyncOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesSyncOutput: + return SkillsMarketplacesSyncOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapSkillsMarketplacesSyncOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesSyncOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsMarketplacesSyncBody: + pass + + +class mapSkillsMarketplacesSyncBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesSyncBody: + return SkillsMarketplacesSyncBody( + + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesSyncBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/update.py new file mode 100644 index 00000000..cc28bbc0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/marketplaces/update.py @@ -0,0 +1,197 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesUpdateOutputPluginsSkillPlugin: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsMarketplacesUpdateOutputPluginsSkillPluginSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsMarketplacesUpdateOutputPlugins: + object: str + id: str + status: str + identifier: str + created_at: datetime + updated_at: datetime + skill_configuration_id: Optional[str] = None + skill_marketplace_id: Optional[str] = None + skill_plugin_id: Optional[str] = None + skill_plugin: Optional[SkillsMarketplacesUpdateOutputPluginsSkillPlugin] = None +@dataclass +class SkillsMarketplacesUpdateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + plugins: List[SkillsMarketplacesUpdateOutputPlugins] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesUpdateOutputPluginsSkillPluginSkills: + return SkillsMarketplacesUpdateOutputPluginsSkillPluginSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesUpdateOutputPluginsSkillPluginSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesUpdateOutputPluginsSkillPlugin: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesUpdateOutputPluginsSkillPlugin: + return SkillsMarketplacesUpdateOutputPluginsSkillPlugin( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsMarketplacesUpdateOutputPluginsSkillPluginSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesUpdateOutputPluginsSkillPlugin, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesUpdateOutputPlugins: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesUpdateOutputPlugins: + return SkillsMarketplacesUpdateOutputPlugins( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + identifier=data.get('identifier'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + skill_plugin_id=data.get('skill_plugin_id'), + skill_plugin=mapSkillsMarketplacesUpdateOutputPluginsSkillPlugin.from_dict(data.get('skill_plugin')) if data.get('skill_plugin') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesUpdateOutputPlugins, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsMarketplacesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesUpdateOutput: + return SkillsMarketplacesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + plugins=[mapSkillsMarketplacesUpdateOutputPlugins.from_dict(item) for item in data.get('plugins', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsMarketplacesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsMarketplacesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsMarketplacesUpdateBody: + return SkillsMarketplacesUpdateBody( + name=data.get('name'), + description=data.get('description'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsMarketplacesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/get.py new file mode 100644 index 00000000..d7021471 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/get.py @@ -0,0 +1,160 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[SkillsParticipantsGetOutputActorConsumer] = None +@dataclass +class SkillsParticipantsGetOutput: + object: str + id: str + skill_id: str + roles: List[str] + actor: SkillsParticipantsGetOutputActor + created_at: datetime + updated_at: datetime + + +class mapSkillsParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsGetOutputActorOrganizationActorTeams: + return SkillsParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsGetOutputActorOrganizationActor: + return SkillsParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsGetOutputActorConsumer: + return SkillsParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsGetOutputActor: + return SkillsParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsGetOutput: + return SkillsParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + roles=data.get('roles', []), + actor=mapSkillsParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/list.py new file mode 100644 index 00000000..c33459e6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/participants/list.py @@ -0,0 +1,229 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[SkillsParticipantsListOutputItemsActorConsumer] = None +@dataclass +class SkillsParticipantsListOutputItems: + object: str + id: str + skill_id: str + roles: List[str] + actor: SkillsParticipantsListOutputItemsActor + created_at: datetime + updated_at: datetime +@dataclass +class SkillsParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsParticipantsListOutput: + items: List[SkillsParticipantsListOutputItems] + pagination: SkillsParticipantsListOutputPagination + + +class mapSkillsParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsListOutputItemsActorOrganizationActorTeams: + return SkillsParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsListOutputItemsActorOrganizationActor: + return SkillsParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsListOutputItemsActorConsumer: + return SkillsParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsListOutputItemsActor: + return SkillsParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsListOutputItems: + return SkillsParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + roles=data.get('roles', []), + actor=mapSkillsParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsListOutputPagination: + return SkillsParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsListOutput: + return SkillsParticipantsListOutput( + items=[mapSkillsParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapSkillsParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsParticipantsListQuery: + return SkillsParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[SkillsParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/__init__.py new file mode 100644 index 00000000..3b047e06 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/__init__.py @@ -0,0 +1,7 @@ +from .archive import * +from .create import * +from .get import * +from .list import * +from .skills import * +from .sync import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/archive.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/archive.py new file mode 100644 index 00000000..a2d7ad72 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/archive.py @@ -0,0 +1,94 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsArchiveOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsPluginsArchiveOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsPluginsArchiveOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsArchiveOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsArchiveOutputSkills: + return SkillsPluginsArchiveOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsArchiveOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsArchiveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsArchiveOutput: + return SkillsPluginsArchiveOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsPluginsArchiveOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsArchiveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/create.py new file mode 100644 index 00000000..2e925e23 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/create.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsCreateOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsPluginsCreateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsPluginsCreateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsCreateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsCreateOutputSkills: + return SkillsPluginsCreateOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsCreateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsCreateOutput: + return SkillsPluginsCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsPluginsCreateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsPluginsCreateBody: + name: str + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsCreateBody: + return SkillsPluginsCreateBody( + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/get.py new file mode 100644 index 00000000..f54b1a9e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/get.py @@ -0,0 +1,94 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsGetOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsPluginsGetOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsPluginsGetOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsGetOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsGetOutputSkills: + return SkillsPluginsGetOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsGetOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsGetOutput: + return SkillsPluginsGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsPluginsGetOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/list.py new file mode 100644 index 00000000..45f8f958 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/list.py @@ -0,0 +1,187 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsListOutputItemsSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsPluginsListOutputItems: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsPluginsListOutputItemsSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsPluginsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsPluginsListOutput: + items: List[SkillsPluginsListOutputItems] + pagination: SkillsPluginsListOutputPagination + + +class mapSkillsPluginsListOutputItemsSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsListOutputItemsSkills: + return SkillsPluginsListOutputItemsSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsListOutputItemsSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsListOutputItems: + return SkillsPluginsListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsPluginsListOutputItemsSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsListOutputPagination: + return SkillsPluginsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsListOutput: + return SkillsPluginsListOutput( + items=[mapSkillsPluginsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsPluginsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsPluginsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsPluginsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsPluginsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_marketplace_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + category: Optional[str] = None + search: Optional[str] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[SkillsPluginsListQueryCreatedAt] = None + updated_at: Optional[SkillsPluginsListQueryUpdatedAt] = None + + +class mapSkillsPluginsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsListQuery: + return SkillsPluginsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_marketplace_id=data.get('skill_marketplace_id'), + status=data.get('status'), + category=data.get('category'), + search=data.get('search'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapSkillsPluginsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapSkillsPluginsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/__init__.py new file mode 100644 index 00000000..90f0a399 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/__init__.py @@ -0,0 +1,5 @@ +from .add import * +from .get import * +from .list import * +from .remove import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/add.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/add.py new file mode 100644 index 00000000..09621923 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/add.py @@ -0,0 +1,85 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsSkillsAddOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsSkillsAddOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsAddOutput: + return SkillsPluginsSkillsAddOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsAddOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsPluginsSkillsAddBody: + skill_id: str + identifier: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsSkillsAddBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsAddBody: + return SkillsPluginsSkillsAddBody( + skill_id=data.get('skill_id'), + identifier=data.get('identifier'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsAddBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/get.py new file mode 100644 index 00000000..3cd1550e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/get.py @@ -0,0 +1,50 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsSkillsGetOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsSkillsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsGetOutput: + return SkillsPluginsSkillsGetOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/list.py new file mode 100644 index 00000000..8733b505 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/list.py @@ -0,0 +1,139 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsSkillsListOutputItems: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsPluginsSkillsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsPluginsSkillsListOutput: + items: List[SkillsPluginsSkillsListOutputItems] + pagination: SkillsPluginsSkillsListOutputPagination + + +class mapSkillsPluginsSkillsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsListOutputItems: + return SkillsPluginsSkillsListOutputItems( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsSkillsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsListOutputPagination: + return SkillsPluginsSkillsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsSkillsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsListOutput: + return SkillsPluginsSkillsListOutput( + items=[mapSkillsPluginsSkillsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsPluginsSkillsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsPluginsSkillsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsPluginsSkillsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsPluginsSkillsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + skill_id: Optional[Union[str, List[str]]] = None + status: Optional[Union[str, List[str]]] = None + skill_configuration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[SkillsPluginsSkillsListQueryCreatedAt] = None + updated_at: Optional[SkillsPluginsSkillsListQueryUpdatedAt] = None + + +class mapSkillsPluginsSkillsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsListQuery: + return SkillsPluginsSkillsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + skill_id=data.get('skill_id'), + status=data.get('status'), + skill_configuration_id=data.get('skill_configuration_id'), + created_at=mapSkillsPluginsSkillsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapSkillsPluginsSkillsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/remove.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/remove.py new file mode 100644 index 00000000..78fa1264 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/remove.py @@ -0,0 +1,50 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsSkillsRemoveOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsSkillsRemoveOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsRemoveOutput: + return SkillsPluginsSkillsRemoveOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsRemoveOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/update.py new file mode 100644 index 00000000..97ac9237 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/skills/update.py @@ -0,0 +1,81 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsSkillsUpdateOutput: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsSkillsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsUpdateOutput: + return SkillsPluginsSkillsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsPluginsSkillsUpdateBody: + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsSkillsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSkillsUpdateBody: + return SkillsPluginsSkillsUpdateBody( + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSkillsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/sync.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/sync.py new file mode 100644 index 00000000..5598606c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/sync.py @@ -0,0 +1,115 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsSyncOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsPluginsSyncOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsPluginsSyncOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsSyncOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSyncOutputSkills: + return SkillsPluginsSyncOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSyncOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsSyncOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSyncOutput: + return SkillsPluginsSyncOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsPluginsSyncOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSyncOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsPluginsSyncBody: + pass + + +class mapSkillsPluginsSyncBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsSyncBody: + return SkillsPluginsSyncBody( + + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsSyncBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/update.py new file mode 100644 index 00000000..d644e7a0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/plugins/update.py @@ -0,0 +1,125 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPluginsUpdateOutputSkills: + object: str + id: str + identifier: str + status: str + skill_id: str + created_at: datetime + updated_at: datetime + client_name: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + skill_configuration_id: Optional[str] = None +@dataclass +class SkillsPluginsUpdateOutput: + object: str + id: str + status: str + sync_status: str + image_url: str + name: str + slug: str + skills: List[SkillsPluginsUpdateOutputSkills] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsUpdateOutputSkills: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsUpdateOutputSkills: + return SkillsPluginsUpdateOutputSkills( + object=data.get('object'), + id=data.get('id'), + identifier=data.get('identifier'), + status=data.get('status'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + skill_configuration_id=data.get('skill_configuration_id'), + skill_id=data.get('skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsUpdateOutputSkills, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPluginsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsUpdateOutput: + return SkillsPluginsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + sync_status=data.get('sync_status'), + image_url=data.get('image_url'), + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + slug=data.get('slug'), + skill_configuration_id=data.get('skill_configuration_id'), + skills=[mapSkillsPluginsUpdateOutputSkills.from_dict(item) for item in data.get('skills', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsPluginsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + long_description: Optional[str] = None + category: Optional[str] = None + image_file_id: Optional[str] = None + skill_configuration_id: Optional[str] = None + + +class mapSkillsPluginsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPluginsUpdateBody: + return SkillsPluginsUpdateBody( + name=data.get('name'), + description=data.get('description'), + long_description=data.get('long_description'), + category=data.get('category'), + image_file_id=data.get('image_file_id'), + skill_configuration_id=data.get('skill_configuration_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsPluginsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/publish_consumer_skill.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/publish_consumer_skill.py new file mode 100644 index 00000000..89903e4a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/publish_consumer_skill.py @@ -0,0 +1,602 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[SkillsPublishConsumerSkillOutputHierarchyCreatorConsumer] = None +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[SkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer] = None +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[SkillsPublishConsumerSkillOutputHierarchyForkCreator] = None + original_creator: Optional[SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator] = None +@dataclass +class SkillsPublishConsumerSkillOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsPublishConsumerSkillOutputHierarchy: + object: str + type: str + entity: SkillsPublishConsumerSkillOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[SkillsPublishConsumerSkillOutputHierarchyCreator] = None + fork: Optional[SkillsPublishConsumerSkillOutputHierarchyFork] = None +@dataclass +class SkillsPublishConsumerSkillOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsPublishConsumerSkillOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: SkillsPublishConsumerSkillOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsPublishConsumerSkillOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsPublishConsumerSkillOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: SkillsPublishConsumerSkillOutputHierarchy + integrations: List[SkillsPublishConsumerSkillOutputIntegrations] + providers: List[SkillsPublishConsumerSkillOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams: + return SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor: + return SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyCreatorConsumer: + return SkillsPublishConsumerSkillOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyCreator: + return SkillsPublishConsumerSkillOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsPublishConsumerSkillOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsPublishConsumerSkillOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams: + return SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor: + return SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer: + return SkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyForkCreator: + return SkillsPublishConsumerSkillOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsPublishConsumerSkillOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsPublishConsumerSkillOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor: + return SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer: + return SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator: + return SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyFork: + return SkillsPublishConsumerSkillOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsPublishConsumerSkillOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapSkillsPublishConsumerSkillOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchyEntity: + return SkillsPublishConsumerSkillOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputHierarchy: + return SkillsPublishConsumerSkillOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsPublishConsumerSkillOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapSkillsPublishConsumerSkillOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapSkillsPublishConsumerSkillOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputIntegrationsConfiguration: + return SkillsPublishConsumerSkillOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputIntegrations: + return SkillsPublishConsumerSkillOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsPublishConsumerSkillOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutputProviders: + return SkillsPublishConsumerSkillOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsPublishConsumerSkillOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsPublishConsumerSkillOutput: + return SkillsPublishConsumerSkillOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapSkillsPublishConsumerSkillOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapSkillsPublishConsumerSkillOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapSkillsPublishConsumerSkillOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsPublishConsumerSkillOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/__init__.py new file mode 100644 index 00000000..a54a2223 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/create.py new file mode 100644 index 00000000..182addd0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/create.py @@ -0,0 +1,193 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesCreateOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesCreateOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesCreateOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesCreateOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesCreateOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesCreateOutputItemsIntegration] = None + provider: Optional[SkillsTemplatesCreateOutputItemsProvider] = None +@dataclass +class SkillsTemplatesCreateOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[SkillsTemplatesCreateOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapSkillsTemplatesCreateOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesCreateOutputItemsIntegrationConfiguration: + return SkillsTemplatesCreateOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesCreateOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesCreateOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesCreateOutputItemsIntegration: + return SkillsTemplatesCreateOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesCreateOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesCreateOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesCreateOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesCreateOutputItemsProvider: + return SkillsTemplatesCreateOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesCreateOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesCreateOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesCreateOutputItems: + return SkillsTemplatesCreateOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesCreateOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesCreateOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesCreateOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesCreateOutput: + return SkillsTemplatesCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapSkillsTemplatesCreateOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsTemplatesCreateBody: + name: str + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + from_skill_id: Optional[str] = None + + +class mapSkillsTemplatesCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesCreateBody: + return SkillsTemplatesCreateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + from_skill_id=data.get('from_skill_Id') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/delete.py new file mode 100644 index 00000000..dd2e5bfd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/delete.py @@ -0,0 +1,166 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesDeleteOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesDeleteOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesDeleteOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesDeleteOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesDeleteOutputItemsIntegration] = None + provider: Optional[SkillsTemplatesDeleteOutputItemsProvider] = None +@dataclass +class SkillsTemplatesDeleteOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[SkillsTemplatesDeleteOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapSkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesDeleteOutputItemsIntegrationConfiguration: + return SkillsTemplatesDeleteOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesDeleteOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesDeleteOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesDeleteOutputItemsIntegration: + return SkillsTemplatesDeleteOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesDeleteOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesDeleteOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesDeleteOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesDeleteOutputItemsProvider: + return SkillsTemplatesDeleteOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesDeleteOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesDeleteOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesDeleteOutputItems: + return SkillsTemplatesDeleteOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesDeleteOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesDeleteOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesDeleteOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesDeleteOutput: + return SkillsTemplatesDeleteOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapSkillsTemplatesDeleteOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/get.py new file mode 100644 index 00000000..ead6f1a1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/get.py @@ -0,0 +1,166 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesGetOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesGetOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesGetOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesGetOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesGetOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesGetOutputItemsIntegration] = None + provider: Optional[SkillsTemplatesGetOutputItemsProvider] = None +@dataclass +class SkillsTemplatesGetOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[SkillsTemplatesGetOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapSkillsTemplatesGetOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesGetOutputItemsIntegrationConfiguration: + return SkillsTemplatesGetOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesGetOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesGetOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesGetOutputItemsIntegration: + return SkillsTemplatesGetOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesGetOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesGetOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesGetOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesGetOutputItemsProvider: + return SkillsTemplatesGetOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesGetOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesGetOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesGetOutputItems: + return SkillsTemplatesGetOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesGetOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesGetOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesGetOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesGetOutput: + return SkillsTemplatesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapSkillsTemplatesGetOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/__init__.py new file mode 100644 index 00000000..26672d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/__init__.py @@ -0,0 +1,4 @@ +from .create import * +from .delete import * +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/create.py new file mode 100644 index 00000000..298b696a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/create.py @@ -0,0 +1,143 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesItemsCreateOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesItemsCreateOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesItemsCreateOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesItemsCreateOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesItemsCreateOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesItemsCreateOutputIntegration] = None + provider: Optional[SkillsTemplatesItemsCreateOutputProvider] = None + + +class mapSkillsTemplatesItemsCreateOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsCreateOutputIntegrationConfiguration: + return SkillsTemplatesItemsCreateOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsCreateOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsCreateOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsCreateOutputIntegration: + return SkillsTemplatesItemsCreateOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesItemsCreateOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsCreateOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsCreateOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsCreateOutputProvider: + return SkillsTemplatesItemsCreateOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsCreateOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsCreateOutput: + return SkillsTemplatesItemsCreateOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesItemsCreateOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesItemsCreateOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +SkillsTemplatesItemsCreateBody = Dict[str, Any] + + +class mapSkillsTemplatesItemsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsCreateBody: + data + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/delete.py new file mode 100644 index 00000000..5620da1f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/delete.py @@ -0,0 +1,126 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesItemsDeleteOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesItemsDeleteOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesItemsDeleteOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesItemsDeleteOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesItemsDeleteOutputIntegration] = None + provider: Optional[SkillsTemplatesItemsDeleteOutputProvider] = None + + +class mapSkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsDeleteOutputIntegrationConfiguration: + return SkillsTemplatesItemsDeleteOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsDeleteOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsDeleteOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsDeleteOutputIntegration: + return SkillsTemplatesItemsDeleteOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesItemsDeleteOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsDeleteOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsDeleteOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsDeleteOutputProvider: + return SkillsTemplatesItemsDeleteOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsDeleteOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsDeleteOutput: + return SkillsTemplatesItemsDeleteOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesItemsDeleteOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesItemsDeleteOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/get.py new file mode 100644 index 00000000..d346660d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/get.py @@ -0,0 +1,126 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesItemsGetOutputIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesItemsGetOutputIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesItemsGetOutputIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesItemsGetOutputProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesItemsGetOutput: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesItemsGetOutputIntegration] = None + provider: Optional[SkillsTemplatesItemsGetOutputProvider] = None + + +class mapSkillsTemplatesItemsGetOutputIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsGetOutputIntegrationConfiguration: + return SkillsTemplatesItemsGetOutputIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsGetOutputIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsGetOutputIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsGetOutputIntegration: + return SkillsTemplatesItemsGetOutputIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesItemsGetOutputIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsGetOutputIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsGetOutputProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsGetOutputProvider: + return SkillsTemplatesItemsGetOutputProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsGetOutputProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsGetOutput: + return SkillsTemplatesItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesItemsGetOutputIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesItemsGetOutputProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/list.py new file mode 100644 index 00000000..7511ef78 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/items/list.py @@ -0,0 +1,195 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesItemsListOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesItemsListOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesItemsListOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesItemsListOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesItemsListOutputItemsIntegration] = None + provider: Optional[SkillsTemplatesItemsListOutputItemsProvider] = None +@dataclass +class SkillsTemplatesItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsTemplatesItemsListOutput: + items: List[SkillsTemplatesItemsListOutputItems] + pagination: SkillsTemplatesItemsListOutputPagination + + +class mapSkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsListOutputItemsIntegrationConfiguration: + return SkillsTemplatesItemsListOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsListOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsListOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsListOutputItemsIntegration: + return SkillsTemplatesItemsListOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesItemsListOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsListOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsListOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsListOutputItemsProvider: + return SkillsTemplatesItemsListOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsListOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsListOutputItems: + return SkillsTemplatesItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesItemsListOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesItemsListOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsListOutputPagination: + return SkillsTemplatesItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsListOutput: + return SkillsTemplatesItemsListOutput( + items=[mapSkillsTemplatesItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsTemplatesItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsTemplatesItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapSkillsTemplatesItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesItemsListQuery: + return SkillsTemplatesItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/list.py new file mode 100644 index 00000000..7221fb1e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/list.py @@ -0,0 +1,259 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesListOutputItemsItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesListOutputItemsItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesListOutputItemsItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesListOutputItemsItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesListOutputItemsItemsIntegration] = None + provider: Optional[SkillsTemplatesListOutputItemsItemsProvider] = None +@dataclass +class SkillsTemplatesListOutputItems: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[SkillsTemplatesListOutputItemsItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsTemplatesListOutput: + items: List[SkillsTemplatesListOutputItems] + pagination: SkillsTemplatesListOutputPagination + + +class mapSkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesListOutputItemsItemsIntegrationConfiguration: + return SkillsTemplatesListOutputItemsItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesListOutputItemsItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesListOutputItemsItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesListOutputItemsItemsIntegration: + return SkillsTemplatesListOutputItemsItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesListOutputItemsItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesListOutputItemsItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesListOutputItemsItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesListOutputItemsItemsProvider: + return SkillsTemplatesListOutputItemsItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesListOutputItemsItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesListOutputItemsItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesListOutputItemsItems: + return SkillsTemplatesListOutputItemsItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesListOutputItemsItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesListOutputItemsItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesListOutputItemsItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesListOutputItems: + return SkillsTemplatesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapSkillsTemplatesListOutputItemsItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesListOutputPagination: + return SkillsTemplatesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesListOutput: + return SkillsTemplatesListOutput( + items=[mapSkillsTemplatesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsTemplatesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsTemplatesListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsTemplatesListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class SkillsTemplatesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + search: Optional[str] = None + status: Optional[Union[str, List[str]]] = None + owner: Optional[Union[str, List[str]]] = None + id: Optional[Union[str, List[str]]] = None + provider_id: Optional[Union[str, List[str]]] = None + integration_id: Optional[Union[str, List[str]]] = None + created_at: Optional[SkillsTemplatesListQueryCreatedAt] = None + updated_at: Optional[SkillsTemplatesListQueryUpdatedAt] = None + + +class mapSkillsTemplatesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesListQuery: + return SkillsTemplatesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + search=data.get('search'), + status=data.get('status'), + owner=data.get('owner'), + id=data.get('id'), + provider_id=data.get('provider_id'), + integration_id=data.get('integration_id'), + created_at=mapSkillsTemplatesListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapSkillsTemplatesListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/update.py new file mode 100644 index 00000000..8ef4f26d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/templates/update.py @@ -0,0 +1,191 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsTemplatesUpdateOutputItemsIntegration: + object: str + id: str + slug: str + name: str + configuration: SkillsTemplatesUpdateOutputItemsIntegrationConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsTemplatesUpdateOutputItemsProvider: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsTemplatesUpdateOutputItems: + object: str + id: str + type: str + created_at: datetime + updated_at: datetime + integration: Optional[SkillsTemplatesUpdateOutputItemsIntegration] = None + provider: Optional[SkillsTemplatesUpdateOutputItemsProvider] = None +@dataclass +class SkillsTemplatesUpdateOutput: + object: str + id: str + status: str + owner: str + slug: str + name: str + metadata: Dict[str, Any] + store_id: str + items: List[SkillsTemplatesUpdateOutputItems] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapSkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesUpdateOutputItemsIntegrationConfiguration: + return SkillsTemplatesUpdateOutputItemsIntegrationConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesUpdateOutputItemsIntegrationConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesUpdateOutputItemsIntegration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesUpdateOutputItemsIntegration: + return SkillsTemplatesUpdateOutputItemsIntegration( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsTemplatesUpdateOutputItemsIntegrationConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesUpdateOutputItemsIntegration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesUpdateOutputItemsProvider: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesUpdateOutputItemsProvider: + return SkillsTemplatesUpdateOutputItemsProvider( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesUpdateOutputItemsProvider, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesUpdateOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesUpdateOutputItems: + return SkillsTemplatesUpdateOutputItems( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + integration=mapSkillsTemplatesUpdateOutputItemsIntegration.from_dict(data.get('integration')) if data.get('integration') else None, + provider=mapSkillsTemplatesUpdateOutputItemsProvider.from_dict(data.get('provider')) if data.get('provider') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesUpdateOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsTemplatesUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesUpdateOutput: + return SkillsTemplatesUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + owner=data.get('owner'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + items=[mapSkillsTemplatesUpdateOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsTemplatesUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + + +class mapSkillsTemplatesUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsTemplatesUpdateBody: + return SkillsTemplatesUpdateBody( + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata') + ) + + @staticmethod + def to_dict(value: Union[SkillsTemplatesUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/update.py new file mode 100644 index 00000000..fc625d41 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/update.py @@ -0,0 +1,639 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsUpdateOutputHierarchyCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsUpdateOutputHierarchyCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsUpdateOutputHierarchyCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsUpdateOutputHierarchyCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsUpdateOutputHierarchyCreatorOrganizationActor] = None + consumer: Optional[SkillsUpdateOutputHierarchyCreatorConsumer] = None +@dataclass +class SkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsUpdateOutputHierarchyForkCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsUpdateOutputHierarchyForkCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsUpdateOutputHierarchyForkCreatorOrganizationActor] = None + consumer: Optional[SkillsUpdateOutputHierarchyForkCreatorConsumer] = None +@dataclass +class SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class SkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class SkillsUpdateOutputHierarchyForkOriginalCreator: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor] = None + consumer: Optional[SkillsUpdateOutputHierarchyForkOriginalCreatorConsumer] = None +@dataclass +class SkillsUpdateOutputHierarchyFork: + id: str + parent_skill_id: str + created_at: datetime + creator: Optional[SkillsUpdateOutputHierarchyForkCreator] = None + original_creator: Optional[SkillsUpdateOutputHierarchyForkOriginalCreator] = None +@dataclass +class SkillsUpdateOutputHierarchyEntity: + object: str + id: str + name: str + slug: str + parent_skill_id: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsUpdateOutputHierarchy: + object: str + type: str + entity: SkillsUpdateOutputHierarchyEntity + parent_skill_id: Optional[str] = None + creator: Optional[SkillsUpdateOutputHierarchyCreator] = None + fork: Optional[SkillsUpdateOutputHierarchyFork] = None +@dataclass +class SkillsUpdateOutputIntegrationsConfiguration: + can_attach_custom_tool_filters: bool + can_attach_custom_provider_config: bool + can_override_tool_filters: bool +@dataclass +class SkillsUpdateOutputIntegrations: + object: str + id: str + slug: str + name: str + configuration: SkillsUpdateOutputIntegrationsConfiguration + created_at: datetime + updated_at: datetime + description: Optional[str] = None + metadata: Optional[Dict[str, Any]] = None + archived_at: Optional[datetime] = None +@dataclass +class SkillsUpdateOutputProviders: + object: str + id: str + name: str + slug: str + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class SkillsUpdateOutput: + object: str + id: str + status: str + slug: str + name: str + image_url: str + client_name: str + metadata: Dict[str, Any] + store_id: str + hierarchy: SkillsUpdateOutputHierarchy + integrations: List[SkillsUpdateOutputIntegrations] + providers: List[SkillsUpdateOutputProviders] + created_at: datetime + updated_at: datetime + description: Optional[str] = None + client_description: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + license: Optional[str] = None + compatibility: Optional[str] = None + + +class mapSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyCreatorOrganizationActorTeams: + return SkillsUpdateOutputHierarchyCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyCreatorOrganizationActor: + return SkillsUpdateOutputHierarchyCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsUpdateOutputHierarchyCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyCreatorConsumer: + return SkillsUpdateOutputHierarchyCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyCreator: + return SkillsUpdateOutputHierarchyCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsUpdateOutputHierarchyCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsUpdateOutputHierarchyCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams: + return SkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyForkCreatorOrganizationActor: + return SkillsUpdateOutputHierarchyForkCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsUpdateOutputHierarchyForkCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyForkCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyForkCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyForkCreatorConsumer: + return SkillsUpdateOutputHierarchyForkCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyForkCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyForkCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyForkCreator: + return SkillsUpdateOutputHierarchyForkCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsUpdateOutputHierarchyForkCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsUpdateOutputHierarchyForkCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyForkCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams: + return SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor: + return SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyForkOriginalCreatorConsumer: + return SkillsUpdateOutputHierarchyForkOriginalCreatorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyForkOriginalCreatorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyForkOriginalCreator: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyForkOriginalCreator: + return SkillsUpdateOutputHierarchyForkOriginalCreator( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapSkillsUpdateOutputHierarchyForkOriginalCreatorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapSkillsUpdateOutputHierarchyForkOriginalCreatorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyForkOriginalCreator, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyFork: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyFork: + return SkillsUpdateOutputHierarchyFork( + id=data.get('id'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsUpdateOutputHierarchyForkCreator.from_dict(data.get('creator')) if data.get('creator') else None, + original_creator=mapSkillsUpdateOutputHierarchyForkOriginalCreator.from_dict(data.get('original_creator')) if data.get('original_creator') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyFork, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchyEntity: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchyEntity: + return SkillsUpdateOutputHierarchyEntity( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + description=data.get('description'), + parent_skill_id=data.get('parent_skill_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchyEntity, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputHierarchy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputHierarchy: + return SkillsUpdateOutputHierarchy( + object=data.get('object'), + type=data.get('type'), + parent_skill_id=data.get('parent_skill_id'), + creator=mapSkillsUpdateOutputHierarchyCreator.from_dict(data.get('creator')) if data.get('creator') else None, + fork=mapSkillsUpdateOutputHierarchyFork.from_dict(data.get('fork')) if data.get('fork') else None, + entity=mapSkillsUpdateOutputHierarchyEntity.from_dict(data.get('entity')) if data.get('entity') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputHierarchy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputIntegrationsConfiguration: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputIntegrationsConfiguration: + return SkillsUpdateOutputIntegrationsConfiguration( + can_attach_custom_tool_filters=data.get('can_attach_custom_tool_filters'), + can_attach_custom_provider_config=data.get('can_attach_custom_provider_config'), + can_override_tool_filters=data.get('can_override_tool_filters') + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputIntegrationsConfiguration, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputIntegrations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputIntegrations: + return SkillsUpdateOutputIntegrations( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + metadata=data.get('metadata'), + configuration=mapSkillsUpdateOutputIntegrationsConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + archived_at=datetime.fromisoformat(data.get('archived_at').replace('Z', '+00:00')) if data.get('archived_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputIntegrations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutputProviders: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutputProviders: + return SkillsUpdateOutputProviders( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + description=data.get('description'), + slug=data.get('slug'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutputProviders, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateOutput: + return SkillsUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + description=data.get('description'), + image_url=data.get('image_url'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + client_metadata=data.get('client_metadata'), + license=data.get('license'), + compatibility=data.get('compatibility'), + metadata=data.get('metadata'), + store_id=data.get('store_id'), + hierarchy=mapSkillsUpdateOutputHierarchy.from_dict(data.get('hierarchy')) if data.get('hierarchy') else None, + integrations=[mapSkillsUpdateOutputIntegrations.from_dict(item) for item in data.get('integrations', []) if item], + providers=[mapSkillsUpdateOutputProviders.from_dict(item) for item in data.get('providers', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + client_name: Optional[str] = None + client_description: Optional[str] = None + license: Optional[str] = None + compatibility: Optional[str] = None + client_metadata: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + image_file_id: Optional[str] = None + + +class mapSkillsUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsUpdateBody: + return SkillsUpdateBody( + name=data.get('name'), + description=data.get('description'), + client_name=data.get('client_name'), + client_description=data.get('client_description'), + license=data.get('license'), + compatibility=data.get('compatibility'), + client_metadata=data.get('client_metadata'), + metadata=data.get('metadata'), + image_file_id=data.get('image_file_id') + ) + + @staticmethod + def to_dict(value: Union[SkillsUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/__init__.py new file mode 100644 index 00000000..3f08f2e5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .snapshot import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/get.py new file mode 100644 index 00000000..2cac9960 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsVersionsGetOutput: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + created_at: datetime + + +class mapSkillsVersionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsVersionsGetOutput: + return SkillsVersionsGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsVersionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/list.py new file mode 100644 index 00000000..17693b5a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/list.py @@ -0,0 +1,107 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsVersionsListOutputItems: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + created_at: datetime +@dataclass +class SkillsVersionsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class SkillsVersionsListOutput: + items: List[SkillsVersionsListOutputItems] + pagination: SkillsVersionsListOutputPagination + + +class mapSkillsVersionsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsVersionsListOutputItems: + return SkillsVersionsListOutputItems( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsVersionsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsVersionsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsVersionsListOutputPagination: + return SkillsVersionsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[SkillsVersionsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsVersionsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsVersionsListOutput: + return SkillsVersionsListOutput( + items=[mapSkillsVersionsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapSkillsVersionsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsVersionsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class SkillsVersionsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapSkillsVersionsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsVersionsListQuery: + return SkillsVersionsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[SkillsVersionsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/snapshot/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/snapshot/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/snapshot/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/snapshot/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/snapshot/get.py new file mode 100644 index 00000000..f6bc0821 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/skills/versions/snapshot/get.py @@ -0,0 +1,74 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class SkillsVersionsSnapshotGetOutputItems: + object: str + id: str + kind: str + path: str + created_at: datetime + file_id: Optional[str] = None + document_id: Optional[str] = None + document_version_id: Optional[str] = None + content: Optional[str] = None +@dataclass +class SkillsVersionsSnapshotGetOutput: + object: str + id: str + skill_id: str + store_id: str + store_version_id: str + version_number: float + items: List[SkillsVersionsSnapshotGetOutputItems] + created_at: datetime + + +class mapSkillsVersionsSnapshotGetOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsVersionsSnapshotGetOutputItems: + return SkillsVersionsSnapshotGetOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + file_id=data.get('file_id'), + document_id=data.get('document_id'), + document_version_id=data.get('document_version_id'), + content=data.get('content'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsVersionsSnapshotGetOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapSkillsVersionsSnapshotGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> SkillsVersionsSnapshotGetOutput: + return SkillsVersionsSnapshotGetOutput( + object=data.get('object'), + id=data.get('id'), + skill_id=data.get('skill_id'), + store_id=data.get('store_id'), + store_version_id=data.get('store_version_id'), + version_number=data.get('version_number'), + items=[mapSkillsVersionsSnapshotGetOutputItems.from_dict(item) for item in data.get('items', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[SkillsVersionsSnapshotGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/__init__.py new file mode 100644 index 00000000..c1b3b5cd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/__init__.py @@ -0,0 +1,8 @@ +from .create import * +from .delete import * +from .get import * +from .items import * +from .list import * +from .participants import * +from .permissions import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/create.py new file mode 100644 index 00000000..dc2dba3d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/create.py @@ -0,0 +1,65 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresCreateOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapStoresCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresCreateOutput: + return StoresCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class StoresCreateBody: + name: str + access: Optional[str] = None + template_id: Optional[str] = None + parent_id: Optional[str] = None + + +class mapStoresCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresCreateBody: + return StoresCreateBody( + name=data.get('name'), + access=data.get('access'), + template_id=data.get('template_id'), + parent_id=data.get('parent_id') + ) + + @staticmethod + def to_dict(value: Union[StoresCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/delete.py new file mode 100644 index 00000000..ffc0ddfe --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/delete.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresDeleteOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapStoresDeleteOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresDeleteOutput: + return StoresDeleteOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresDeleteOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/get.py new file mode 100644 index 00000000..308ae840 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresGetOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapStoresGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresGetOutput: + return StoresGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/__init__.py new file mode 100644 index 00000000..5fddd7bf --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/__init__.py @@ -0,0 +1,3 @@ +from .get import * +from .list import * +from .modify import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/get.py new file mode 100644 index 00000000..dee4f3b9 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/get.py @@ -0,0 +1,364 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresItemsGetOutputFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsGetOutputFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[StoresItemsGetOutputFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class StoresItemsGetOutputFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsGetOutputFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[StoresItemsGetOutputFileCreatedByOrganizationActor] = None + consumer: Optional[StoresItemsGetOutputFileCreatedByConsumer] = None +@dataclass +class StoresItemsGetOutputFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[StoresItemsGetOutputFileCreatedBy] = None +@dataclass +class StoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsGetOutputDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[StoresItemsGetOutputDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class StoresItemsGetOutputDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsGetOutputDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[StoresItemsGetOutputDocumentCreatedByOrganizationActor] = None + consumer: Optional[StoresItemsGetOutputDocumentCreatedByConsumer] = None +@dataclass +class StoresItemsGetOutputDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[StoresItemsGetOutputDocumentCreatedBy] = None +@dataclass +class StoresItemsGetOutput: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[StoresItemsGetOutputFile] = None + document: Optional[StoresItemsGetOutputDocument] = None + + +class mapStoresItemsGetOutputFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputFileCreatedByOrganizationActorTeams: + return StoresItemsGetOutputFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputFileCreatedByOrganizationActor: + return StoresItemsGetOutputFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapStoresItemsGetOutputFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputFileCreatedByConsumer: + return StoresItemsGetOutputFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputFileCreatedBy: + return StoresItemsGetOutputFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapStoresItemsGetOutputFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapStoresItemsGetOutputFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputFile: + return StoresItemsGetOutputFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapStoresItemsGetOutputFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputDocumentCreatedByOrganizationActorTeams: + return StoresItemsGetOutputDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputDocumentCreatedByOrganizationActor: + return StoresItemsGetOutputDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapStoresItemsGetOutputDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputDocumentCreatedByConsumer: + return StoresItemsGetOutputDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputDocumentCreatedBy: + return StoresItemsGetOutputDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapStoresItemsGetOutputDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapStoresItemsGetOutputDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutputDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutputDocument: + return StoresItemsGetOutputDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapStoresItemsGetOutputDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutputDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsGetOutput: + return StoresItemsGetOutput( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapStoresItemsGetOutputFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapStoresItemsGetOutputDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/list.py new file mode 100644 index 00000000..06b69713 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/list.py @@ -0,0 +1,453 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsListOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[StoresItemsListOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class StoresItemsListOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsListOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[StoresItemsListOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[StoresItemsListOutputItemsFileCreatedByConsumer] = None +@dataclass +class StoresItemsListOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[StoresItemsListOutputItemsFileCreatedBy] = None +@dataclass +class StoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[StoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class StoresItemsListOutputItemsDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsListOutputItemsDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[StoresItemsListOutputItemsDocumentCreatedByOrganizationActor] = None + consumer: Optional[StoresItemsListOutputItemsDocumentCreatedByConsumer] = None +@dataclass +class StoresItemsListOutputItemsDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[StoresItemsListOutputItemsDocumentCreatedBy] = None +@dataclass +class StoresItemsListOutputItems: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[StoresItemsListOutputItemsFile] = None + document: Optional[StoresItemsListOutputItemsDocument] = None +@dataclass +class StoresItemsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class StoresItemsListOutput: + items: List[StoresItemsListOutputItems] + pagination: StoresItemsListOutputPagination + + +class mapStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsFileCreatedByOrganizationActorTeams: + return StoresItemsListOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsFileCreatedByOrganizationActor: + return StoresItemsListOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapStoresItemsListOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsFileCreatedByConsumer: + return StoresItemsListOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsFileCreatedBy: + return StoresItemsListOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapStoresItemsListOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapStoresItemsListOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsFile: + return StoresItemsListOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapStoresItemsListOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams: + return StoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsDocumentCreatedByOrganizationActor: + return StoresItemsListOutputItemsDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapStoresItemsListOutputItemsDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsDocumentCreatedByConsumer: + return StoresItemsListOutputItemsDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsDocumentCreatedBy: + return StoresItemsListOutputItemsDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapStoresItemsListOutputItemsDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapStoresItemsListOutputItemsDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItemsDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItemsDocument: + return StoresItemsListOutputItemsDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapStoresItemsListOutputItemsDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItemsDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputItems: + return StoresItemsListOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapStoresItemsListOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapStoresItemsListOutputItemsDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutputPagination: + return StoresItemsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListOutput: + return StoresItemsListOutput( + items=[mapStoresItemsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapStoresItemsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class StoresItemsListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class StoresItemsListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class StoresItemsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + file_id: Optional[Union[str, List[str]]] = None + document_id: Optional[Union[str, List[str]]] = None + type: Optional[Union[str, List[str]]] = None + created_at: Optional[StoresItemsListQueryCreatedAt] = None + updated_at: Optional[StoresItemsListQueryUpdatedAt] = None + + +class mapStoresItemsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsListQuery: + return StoresItemsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + file_id=data.get('file_id'), + document_id=data.get('document_id'), + type=data.get('type'), + created_at=mapStoresItemsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapStoresItemsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/modify.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/modify.py new file mode 100644 index 00000000..c79e0c06 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/items/modify.py @@ -0,0 +1,431 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[StoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class StoresItemsModifyOutputItemsFileCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsModifyOutputItemsFileCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[StoresItemsModifyOutputItemsFileCreatedByOrganizationActor] = None + consumer: Optional[StoresItemsModifyOutputItemsFileCreatedByConsumer] = None +@dataclass +class StoresItemsModifyOutputItemsFile: + object: str + id: str + status: str + file_name: str + file_size: float + file_type: str + title: str + purpose: str + created_at: datetime + updated_at: datetime + created_by: Optional[StoresItemsModifyOutputItemsFileCreatedBy] = None +@dataclass +class StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class StoresItemsModifyOutputItemsDocumentCreatedByConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresItemsModifyOutputItemsDocumentCreatedBy: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor] = None + consumer: Optional[StoresItemsModifyOutputItemsDocumentCreatedByConsumer] = None +@dataclass +class StoresItemsModifyOutputItemsDocument: + object: str + id: str + status: str + title: str + content: str + file_id: str + created_at: datetime + updated_at: datetime + parent_document_id: Optional[str] = None + current_version_id: Optional[str] = None + created_by: Optional[StoresItemsModifyOutputItemsDocumentCreatedBy] = None +@dataclass +class StoresItemsModifyOutputItems: + object: str + id: str + kind: str + path: str + store_id: str + created_at: datetime + updated_at: datetime + directory_id: Optional[str] = None + file: Optional[StoresItemsModifyOutputItemsFile] = None + document: Optional[StoresItemsModifyOutputItemsDocument] = None +@dataclass +class StoresItemsModifyOutput: + object: str + items: List[StoresItemsModifyOutputItems] + + +class mapStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams: + return StoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsFileCreatedByOrganizationActor: + return StoresItemsModifyOutputItemsFileCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapStoresItemsModifyOutputItemsFileCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsFileCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsFileCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsFileCreatedByConsumer: + return StoresItemsModifyOutputItemsFileCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsFileCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsFileCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsFileCreatedBy: + return StoresItemsModifyOutputItemsFileCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapStoresItemsModifyOutputItemsFileCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapStoresItemsModifyOutputItemsFileCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsFileCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsFile: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsFile: + return StoresItemsModifyOutputItemsFile( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + file_name=data.get('file_name'), + file_size=data.get('file_size'), + file_type=data.get('file_type'), + title=data.get('title'), + purpose=data.get('purpose'), + created_by=mapStoresItemsModifyOutputItemsFileCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsFile, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams: + return StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor: + return StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsDocumentCreatedByConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsDocumentCreatedByConsumer: + return StoresItemsModifyOutputItemsDocumentCreatedByConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsDocumentCreatedByConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsDocumentCreatedBy: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsDocumentCreatedBy: + return StoresItemsModifyOutputItemsDocumentCreatedBy( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapStoresItemsModifyOutputItemsDocumentCreatedByOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapStoresItemsModifyOutputItemsDocumentCreatedByConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsDocumentCreatedBy, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItemsDocument: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItemsDocument: + return StoresItemsModifyOutputItemsDocument( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + title=data.get('title'), + content=data.get('content'), + file_id=data.get('file_id'), + parent_document_id=data.get('parent_document_id'), + current_version_id=data.get('current_version_id'), + created_by=mapStoresItemsModifyOutputItemsDocumentCreatedBy.from_dict(data.get('created_by')) if data.get('created_by') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItemsDocument, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutputItems: + return StoresItemsModifyOutputItems( + object=data.get('object'), + id=data.get('id'), + kind=data.get('kind'), + path=data.get('path'), + store_id=data.get('store_id'), + directory_id=data.get('directory_id'), + file=mapStoresItemsModifyOutputItemsFile.from_dict(data.get('file')) if data.get('file') else None, + document=mapStoresItemsModifyOutputItemsDocument.from_dict(data.get('document')) if data.get('document') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyOutput: + return StoresItemsModifyOutput( + object=data.get('object'), + items=[mapStoresItemsModifyOutputItems.from_dict(item) for item in data.get('items', []) if item] + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class StoresItemsModifyBodyOperations: + type: Optional[str] = None + item_id: Optional[str] = None + file_id: Optional[str] = None + document_id: Optional[str] = None + path: Optional[str] = None +@dataclass +class StoresItemsModifyBody: + operations: List[StoresItemsModifyBodyOperations] + + +class mapStoresItemsModifyBodyOperations: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyBodyOperations: + return StoresItemsModifyBodyOperations( + type=data.get('type'), + item_id=data.get('itemId'), + file_id=data.get('fileId'), + document_id=data.get('documentId'), + path=data.get('path') + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyBodyOperations, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresItemsModifyBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresItemsModifyBody: + return StoresItemsModifyBody( + operations=[mapStoresItemsModifyBodyOperations.from_dict(item) for item in data.get('operations', []) if item] + ) + + @staticmethod + def to_dict(value: Union[StoresItemsModifyBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/list.py new file mode 100644 index 00000000..d12d780d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/list.py @@ -0,0 +1,121 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresListOutputItems: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime +@dataclass +class StoresListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class StoresListOutput: + items: List[StoresListOutputItems] + pagination: StoresListOutputPagination + + +class mapStoresListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresListOutputItems: + return StoresListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresListOutputPagination: + return StoresListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[StoresListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresListOutput: + return StoresListOutput( + items=[mapStoresListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapStoresListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[StoresListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class StoresListQueryCreatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class StoresListQueryUpdatedAt: + gt: Optional[datetime] = None + lt: Optional[datetime] = None +@dataclass +class StoresListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + id: Optional[Union[str, List[str]]] = None + created_at: Optional[StoresListQueryCreatedAt] = None + updated_at: Optional[StoresListQueryUpdatedAt] = None + + +class mapStoresListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresListQuery: + return StoresListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + id=data.get('id'), + created_at=mapStoresListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, + updated_at=mapStoresListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/get.py new file mode 100644 index 00000000..b0240006 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/get.py @@ -0,0 +1,158 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresParticipantsGetOutputActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresParticipantsGetOutputActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[StoresParticipantsGetOutputActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class StoresParticipantsGetOutputActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresParticipantsGetOutputActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[StoresParticipantsGetOutputActorOrganizationActor] = None + consumer: Optional[StoresParticipantsGetOutputActorConsumer] = None +@dataclass +class StoresParticipantsGetOutput: + object: str + id: str + store_id: str + permissions: List[str] + actor: StoresParticipantsGetOutputActor + created_at: datetime + + +class mapStoresParticipantsGetOutputActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsGetOutputActorOrganizationActorTeams: + return StoresParticipantsGetOutputActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsGetOutputActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsGetOutputActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsGetOutputActorOrganizationActor: + return StoresParticipantsGetOutputActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapStoresParticipantsGetOutputActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsGetOutputActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsGetOutputActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsGetOutputActorConsumer: + return StoresParticipantsGetOutputActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsGetOutputActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsGetOutputActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsGetOutputActor: + return StoresParticipantsGetOutputActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapStoresParticipantsGetOutputActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapStoresParticipantsGetOutputActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsGetOutputActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsGetOutput: + return StoresParticipantsGetOutput( + object=data.get('object'), + id=data.get('id'), + store_id=data.get('store_id'), + permissions=data.get('permissions', []), + actor=mapStoresParticipantsGetOutputActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/list.py new file mode 100644 index 00000000..0dfa0c52 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/participants/list.py @@ -0,0 +1,227 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresParticipantsListOutputItemsActorOrganizationActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresParticipantsListOutputItemsActorOrganizationActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[StoresParticipantsListOutputItemsActorOrganizationActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class StoresParticipantsListOutputItemsActorConsumer: + object: str + id: str + name: str + email: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class StoresParticipantsListOutputItemsActor: + type: str + name: str + image_url: Optional[str] = None + email: Optional[str] = None + organization_actor: Optional[StoresParticipantsListOutputItemsActorOrganizationActor] = None + consumer: Optional[StoresParticipantsListOutputItemsActorConsumer] = None +@dataclass +class StoresParticipantsListOutputItems: + object: str + id: str + store_id: str + permissions: List[str] + actor: StoresParticipantsListOutputItemsActor + created_at: datetime +@dataclass +class StoresParticipantsListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class StoresParticipantsListOutput: + items: List[StoresParticipantsListOutputItems] + pagination: StoresParticipantsListOutputPagination + + +class mapStoresParticipantsListOutputItemsActorOrganizationActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsListOutputItemsActorOrganizationActorTeams: + return StoresParticipantsListOutputItemsActorOrganizationActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsListOutputItemsActorOrganizationActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsListOutputItemsActorOrganizationActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsListOutputItemsActorOrganizationActor: + return StoresParticipantsListOutputItemsActorOrganizationActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapStoresParticipantsListOutputItemsActorOrganizationActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsListOutputItemsActorOrganizationActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsListOutputItemsActorConsumer: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsListOutputItemsActorConsumer: + return StoresParticipantsListOutputItemsActorConsumer( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsListOutputItemsActorConsumer, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsListOutputItemsActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsListOutputItemsActor: + return StoresParticipantsListOutputItemsActor( + type=data.get('type'), + name=data.get('name'), + image_url=data.get('image_url'), + email=data.get('email'), + organization_actor=mapStoresParticipantsListOutputItemsActorOrganizationActor.from_dict(data.get('organization_actor')) if data.get('organization_actor') else None, + consumer=mapStoresParticipantsListOutputItemsActorConsumer.from_dict(data.get('consumer')) if data.get('consumer') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsListOutputItemsActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsListOutputItems: + return StoresParticipantsListOutputItems( + object=data.get('object'), + id=data.get('id'), + store_id=data.get('store_id'), + permissions=data.get('permissions', []), + actor=mapStoresParticipantsListOutputItemsActor.from_dict(data.get('actor')) if data.get('actor') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsListOutputPagination: + return StoresParticipantsListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapStoresParticipantsListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsListOutput: + return StoresParticipantsListOutput( + items=[mapStoresParticipantsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapStoresParticipantsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class StoresParticipantsListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapStoresParticipantsListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresParticipantsListQuery: + return StoresParticipantsListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[StoresParticipantsListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/permissions/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/permissions/__init__.py new file mode 100644 index 00000000..a89fc345 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/permissions/__init__.py @@ -0,0 +1 @@ +from .get import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/permissions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/permissions/get.py new file mode 100644 index 00000000..247f18b5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/permissions/get.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresPermissionsGetOutput: + object: str + store_id: str + has_full_access: bool + permissions: List[str] + relevant_store_ids: List[str] + readable_store_ids: List[str] + writable_store_ids: List[str] + + +class mapStoresPermissionsGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresPermissionsGetOutput: + return StoresPermissionsGetOutput( + object=data.get('object'), + store_id=data.get('store_id'), + has_full_access=data.get('has_full_access'), + permissions=data.get('permissions', []), + relevant_store_ids=data.get('relevant_store_ids', []), + readable_store_ids=data.get('readable_store_ids', []), + writable_store_ids=data.get('writable_store_ids', []) + ) + + @staticmethod + def to_dict(value: Union[StoresPermissionsGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/update.py new file mode 100644 index 00000000..e233129d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/stores/update.py @@ -0,0 +1,61 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class StoresUpdateOutput: + object: str + id: str + name: str + access: str + item_count: float + created_at: datetime + updated_at: datetime + + +class mapStoresUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresUpdateOutput: + return StoresUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + access=data.get('access'), + item_count=data.get('item_count'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[StoresUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class StoresUpdateBody: + name: Optional[str] = None + access: Optional[str] = None + + +class mapStoresUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> StoresUpdateBody: + return StoresUpdateBody( + name=data.get('name'), + access=data.get('access') + ) + + @staticmethod + def to_dict(value: Union[StoresUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/__init__.py new file mode 100644 index 00000000..ff85f21a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/__init__.py @@ -0,0 +1 @@ +from .consumer_oauth import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/__init__.py new file mode 100644 index 00000000..7ae2ec97 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/__init__.py @@ -0,0 +1 @@ +from .authorizations import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/authorizations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/authorizations/__init__.py new file mode 100644 index 00000000..d8a0002a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/authorizations/__init__.py @@ -0,0 +1 @@ +from .create import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/authorizations/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/authorizations/create.py new file mode 100644 index 00000000..816b9608 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/test_helpers/consumer_oauth/authorizations/create.py @@ -0,0 +1,61 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class TestHelpersConsumerOauthAuthorizationsCreateOutput: + object: str + id: str + url: str + expires_at: datetime + created_at: datetime + + +class mapTestHelpersConsumerOauthAuthorizationsCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> TestHelpersConsumerOauthAuthorizationsCreateOutput: + return TestHelpersConsumerOauthAuthorizationsCreateOutput( + object=data.get('object'), + id=data.get('id'), + url=data.get('url'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[TestHelpersConsumerOauthAuthorizationsCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class TestHelpersConsumerOauthAuthorizationsCreateBody: + instance_id: str + url: str + consumer_profile_id: str + magic_mcp_endpoint_id: str + + +class mapTestHelpersConsumerOauthAuthorizationsCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> TestHelpersConsumerOauthAuthorizationsCreateBody: + return TestHelpersConsumerOauthAuthorizationsCreateBody( + instance_id=data.get('instance_id'), + url=data.get('url'), + consumer_profile_id=data.get('consumer_profile_id'), + magic_mcp_endpoint_id=data.get('magic_mcp_endpoint_id') + ) + + @staticmethod + def to_dict(value: Union[TestHelpersConsumerOauthAuthorizationsCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/create.py index 84c4c579..ff7b4b91 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/create.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class ToolCallsCreateOutputSenderParticipantData: + identifier: str + name: str +@dataclass +class ToolCallsCreateOutputSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ToolCallsCreateOutputSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ToolCallsCreateOutputResponderParticipantData: + identifier: str + name: str +@dataclass +class ToolCallsCreateOutputResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ToolCallsCreateOutputResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ToolCallsCreateOutputToolInputSchema: type: str @@ -62,11 +106,105 @@ class ToolCallsCreateOutput: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ToolCallsCreateOutputSenderParticipant] = None + responder_participant: Optional[ToolCallsCreateOutputResponderParticipant] = None error: Optional[ToolCallsCreateOutputError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None +class mapToolCallsCreateOutputSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsCreateOutputSenderParticipantData: + return ToolCallsCreateOutputSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ToolCallsCreateOutputSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsCreateOutputSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsCreateOutputSenderParticipant: + return ToolCallsCreateOutputSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapToolCallsCreateOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ToolCallsCreateOutputSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsCreateOutputResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsCreateOutputResponderParticipantData: + return ToolCallsCreateOutputResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ToolCallsCreateOutputResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsCreateOutputResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsCreateOutputResponderParticipant: + return ToolCallsCreateOutputResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapToolCallsCreateOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ToolCallsCreateOutputResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapToolCallsCreateOutputToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ToolCallsCreateOutputToolInputSchema: @@ -186,6 +324,8 @@ def from_dict(data: Dict[str, Any]) -> ToolCallsCreateOutput: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapToolCallsCreateOutputSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapToolCallsCreateOutputResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapToolCallsCreateOutputTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapToolCallsCreateOutputError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/get.py index 55082330..0750d410 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/get.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class ToolCallsGetOutputSenderParticipantData: + identifier: str + name: str +@dataclass +class ToolCallsGetOutputSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ToolCallsGetOutputSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ToolCallsGetOutputResponderParticipantData: + identifier: str + name: str +@dataclass +class ToolCallsGetOutputResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ToolCallsGetOutputResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ToolCallsGetOutputToolInputSchema: type: str @@ -62,11 +106,105 @@ class ToolCallsGetOutput: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ToolCallsGetOutputSenderParticipant] = None + responder_participant: Optional[ToolCallsGetOutputResponderParticipant] = None error: Optional[ToolCallsGetOutputError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None +class mapToolCallsGetOutputSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsGetOutputSenderParticipantData: + return ToolCallsGetOutputSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ToolCallsGetOutputSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsGetOutputSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsGetOutputSenderParticipant: + return ToolCallsGetOutputSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapToolCallsGetOutputSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ToolCallsGetOutputSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsGetOutputResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsGetOutputResponderParticipantData: + return ToolCallsGetOutputResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ToolCallsGetOutputResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsGetOutputResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsGetOutputResponderParticipant: + return ToolCallsGetOutputResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapToolCallsGetOutputResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ToolCallsGetOutputResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapToolCallsGetOutputToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ToolCallsGetOutputToolInputSchema: @@ -186,6 +324,8 @@ def from_dict(data: Dict[str, Any]) -> ToolCallsGetOutput: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapToolCallsGetOutputSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapToolCallsGetOutputResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapToolCallsGetOutputTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapToolCallsGetOutputError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/list.py index 5378afe8..b5e7e84d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/tool_calls/list.py @@ -3,6 +3,50 @@ from datetime import datetime import dataclasses +@dataclass +class ToolCallsListOutputItemsSenderParticipantData: + identifier: str + name: str +@dataclass +class ToolCallsListOutputItemsSenderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ToolCallsListOutputItemsSenderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None +@dataclass +class ToolCallsListOutputItemsResponderParticipantData: + identifier: str + name: str +@dataclass +class ToolCallsListOutputItemsResponderParticipant: + object: str + id: str + type: str + identifier: str + name: str + data: ToolCallsListOutputItemsResponderParticipantData + created_at: datetime + provider_id: Optional[str] = None + connection_type: Optional[str] = None + agent_id: Optional[str] = None + agent_instance_id: Optional[str] = None + identity_actor_id: Optional[str] = None + identity_id: Optional[str] = None + agent_actor_id: Optional[str] = None + agent_client_id: Optional[str] = None + consumer_id: Optional[str] = None @dataclass class ToolCallsListOutputItemsToolInputSchema: type: str @@ -62,6 +106,8 @@ class ToolCallsListOutputItems: session_provider_id: Optional[str] = None connection_id: Optional[str] = None provider_run_id: Optional[str] = None + sender_participant: Optional[ToolCallsListOutputItemsSenderParticipant] = None + responder_participant: Optional[ToolCallsListOutputItemsResponderParticipant] = None error: Optional[ToolCallsListOutputItemsError] = None input: Optional[Dict[str, Any]] = None output: Optional[Dict[str, Any]] = None @@ -75,6 +121,98 @@ class ToolCallsListOutput: pagination: ToolCallsListOutputPagination +class mapToolCallsListOutputItemsSenderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsListOutputItemsSenderParticipantData: + return ToolCallsListOutputItemsSenderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ToolCallsListOutputItemsSenderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsListOutputItemsSenderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsListOutputItemsSenderParticipant: + return ToolCallsListOutputItemsSenderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapToolCallsListOutputItemsSenderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ToolCallsListOutputItemsSenderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsListOutputItemsResponderParticipantData: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsListOutputItemsResponderParticipantData: + return ToolCallsListOutputItemsResponderParticipantData( + identifier=data.get('identifier'), + name=data.get('name') + ) + + @staticmethod + def to_dict(value: Union[ToolCallsListOutputItemsResponderParticipantData, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapToolCallsListOutputItemsResponderParticipant: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ToolCallsListOutputItemsResponderParticipant: + return ToolCallsListOutputItemsResponderParticipant( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + identifier=data.get('identifier'), + name=data.get('name'), + data=mapToolCallsListOutputItemsResponderParticipantData.from_dict(data.get('data')) if data.get('data') else None, + provider_id=data.get('provider_id'), + connection_type=data.get('connection_type'), + agent_id=data.get('agent_id'), + agent_instance_id=data.get('agent_instance_id'), + identity_actor_id=data.get('identity_actor_id'), + identity_id=data.get('identity_id'), + agent_actor_id=data.get('agent_actor_id'), + agent_client_id=data.get('agent_client_id'), + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None + ) + + @staticmethod + def to_dict(value: Union[ToolCallsListOutputItemsResponderParticipant, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + class mapToolCallsListOutputItemsToolInputSchema: @staticmethod def from_dict(data: Dict[str, Any]) -> ToolCallsListOutputItemsToolInputSchema: @@ -194,6 +332,8 @@ def from_dict(data: Dict[str, Any]) -> ToolCallsListOutputItems: session_provider_id=data.get('session_provider_id'), connection_id=data.get('connection_id'), provider_run_id=data.get('provider_run_id'), + sender_participant=mapToolCallsListOutputItemsSenderParticipant.from_dict(data.get('sender_participant')) if data.get('sender_participant') else None, + responder_participant=mapToolCallsListOutputItemsResponderParticipant.from_dict(data.get('responder_participant')) if data.get('responder_participant') else None, tool=mapToolCallsListOutputItemsTool.from_dict(data.get('tool')) if data.get('tool') else None, error=mapToolCallsListOutputItemsError.from_dict(data.get('error')) if data.get('error') else None, input=data.get('input'), @@ -263,6 +403,11 @@ class ToolCallsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_id: Optional[Union[str, List[str]]] = None provider_auth_config_id: Optional[Union[str, List[str]]] = None + agent_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + agent_instance_id: Optional[Union[str, List[str]]] = None tool_id: Optional[Union[str, List[str]]] = None created_at: Optional[ToolCallsListQueryCreatedAt] = None updated_at: Optional[ToolCallsListQueryUpdatedAt] = None @@ -283,6 +428,11 @@ def from_dict(data: Dict[str, Any]) -> ToolCallsListQuery: provider_deployment_id=data.get('provider_deployment_id'), provider_config_id=data.get('provider_config_id'), provider_auth_config_id=data.get('provider_auth_config_id'), + agent_id=data.get('agent_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + agent_instance_id=data.get('agent_instance_id'), tool_id=data.get('tool_id'), created_at=mapToolCallsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapToolCallsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None