From ecb7c6b2bdca127bbdde281148e340bd2af8f802 Mon Sep 17 00:00:00 2001 From: Zoey de Souza Pessanha Date: Mon, 28 Oct 2024 23:01:31 -0300 Subject: [PATCH] gen schemas stability --- lib/mix/tasks/gen_schemas.ex | 1079 +++++++++++++++-- .../app/bsky/actor/defs/adult_content_pref.ex | 15 + .../actor/defs/bsky_app_progress_guide.ex | 15 + .../bsky/actor/defs/bsky_app_state_pref.ex | 16 + .../app/bsky/actor/defs/content_label_pref.ex | 17 + .../app/bsky/actor/defs/feed_view_pref.ex | 25 + .../app/bsky/actor/defs/hidden_posts_pref.ex | 15 + .../app/bsky/actor/defs/interests_pref.ex | 15 + .../app/bsky/actor/defs/known_followers.ex | 16 + .../app/bsky/actor/defs/labeler_pref_item.ex | 15 + .../app/bsky/actor/defs/labelers_pref.ex | 15 + .../app/bsky/actor/defs/muted_word.ex | 19 + .../app/bsky/actor/defs/muted_word_target.ex | 10 + .../app/bsky/actor/defs/muted_words_pref.ex | 15 + lib/proto_rune/app/bsky/actor/defs/nux.ex | 18 + .../bsky/actor/defs/personal_details_pref.ex | 14 + .../app/bsky/actor/defs/preferences.ex | 22 + .../app/bsky/actor/defs/profile_associated.ex | 18 + .../actor/defs/profile_associated_chat.ex | 15 + .../app/bsky/actor/defs/profile_view.ex | 33 + .../app/bsky/actor/defs/profile_view_basic.ex | 29 + .../bsky/actor/defs/profile_view_detailed.ex | 43 + .../app/bsky/actor/defs/saved_feed.ex | 10 + .../app/bsky/actor/defs/saved_feeds_pref.ex | 17 + .../bsky/actor/defs/saved_feeds_pref_v2.ex | 15 + .../app/bsky/actor/defs/thread_view_pref.ex | 15 + .../app/bsky/actor/defs/viewer_state.ex | 28 + .../app/bsky/actor/get_preferences.ex | 10 + lib/proto_rune/app/bsky/actor/get_profile.ex | 10 + lib/proto_rune/app/bsky/actor/get_profiles.ex | 10 + .../app/bsky/actor/get_suggestions.ex | 10 + lib/proto_rune/app/bsky/actor/profile.ex | 26 + .../app/bsky/actor/put_preferences.ex | 10 + .../app/bsky/actor/search_actors.ex | 10 + .../app/bsky/actor/search_actors_typeahead.ex | 10 + .../app/bsky/embed/defs/aspect_ratio.ex | 16 + lib/proto_rune/app/bsky/embed/external.ex | 15 + .../app/bsky/embed/external/external.ex | 18 + .../app/bsky/embed/external/view.ex | 15 + .../app/bsky/embed/external/view_external.ex | 18 + lib/proto_rune/app/bsky/embed/images.ex | 15 + lib/proto_rune/app/bsky/embed/images/image.ex | 17 + lib/proto_rune/app/bsky/embed/images/view.ex | 15 + .../app/bsky/embed/images/view_image.ex | 18 + lib/proto_rune/app/bsky/embed/record.ex | 15 + lib/proto_rune/app/bsky/embed/record/view.ex | 23 + .../app/bsky/embed/record/view_blocked.ex | 17 + .../app/bsky/embed/record/view_detached.ex | 16 + .../app/bsky/embed/record/view_not_found.ex | 16 + .../app/bsky/embed/record/view_record.ex | 42 + .../app/bsky/embed/record_with_media.ex | 19 + .../app/bsky/embed/record_with_media/view.ex | 19 + lib/proto_rune/app/bsky/embed/video.ex | 18 + .../app/bsky/embed/video/caption.ex | 16 + lib/proto_rune/app/bsky/embed/video/view.ex | 19 + .../app/bsky/feed/defs/blocked_author.ex | 16 + .../app/bsky/feed/defs/blocked_post.ex | 17 + .../app/bsky/feed/defs/clickthrough_author.ex | 10 + .../app/bsky/feed/defs/clickthrough_embed.ex | 10 + .../app/bsky/feed/defs/clickthrough_item.ex | 10 + .../bsky/feed/defs/clickthrough_reposter.ex | 10 + .../app/bsky/feed/defs/feed_view_post.ex | 18 + .../app/bsky/feed/defs/generator_view.ex | 39 + .../bsky/feed/defs/generator_viewer_state.ex | 14 + .../app/bsky/feed/defs/interaction.ex | 28 + .../app/bsky/feed/defs/interaction_like.ex | 10 + .../app/bsky/feed/defs/interaction_quote.ex | 10 + .../app/bsky/feed/defs/interaction_reply.ex | 10 + .../app/bsky/feed/defs/interaction_repost.ex | 10 + .../app/bsky/feed/defs/interaction_seen.ex | 10 + .../app/bsky/feed/defs/interaction_share.ex | 10 + .../app/bsky/feed/defs/not_found_post.ex | 16 + .../app/bsky/feed/defs/post_view.ex | 44 + .../app/bsky/feed/defs/reason_repost.ex | 16 + .../app/bsky/feed/defs/reply_ref.ex | 23 + .../app/bsky/feed/defs/request_less.ex | 10 + .../app/bsky/feed/defs/request_more.ex | 10 + .../app/bsky/feed/defs/skeleton_feed_post.ex | 17 + .../bsky/feed/defs/skeleton_reason_repost.ex | 15 + .../app/bsky/feed/defs/thread_view_post.ex | 25 + .../app/bsky/feed/defs/threadgate_view.ex | 17 + .../app/bsky/feed/defs/viewer_state.ex | 22 + .../app/bsky/feed/describe_feed_generator.ex | 14 + .../bsky/feed/describe_feed_generator/feed.ex | 15 + .../feed/describe_feed_generator/links.ex | 15 + lib/proto_rune/app/bsky/feed/generator.ex | 29 + .../app/bsky/feed/get_actor_feeds.ex | 10 + .../app/bsky/feed/get_actor_likes.ex | 10 + .../app/bsky/feed/get_author_feed.ex | 19 + lib/proto_rune/app/bsky/feed/get_feed.ex | 10 + .../app/bsky/feed/get_feed_generator.ex | 10 + .../app/bsky/feed/get_feed_generators.ex | 10 + .../app/bsky/feed/get_feed_skeleton.ex | 10 + lib/proto_rune/app/bsky/feed/get_likes.ex | 10 + .../app/bsky/feed/get_likes/like.ex | 17 + lib/proto_rune/app/bsky/feed/get_list_feed.ex | 10 + .../app/bsky/feed/get_post_thread.ex | 10 + lib/proto_rune/app/bsky/feed/get_posts.ex | 10 + lib/proto_rune/app/bsky/feed/get_quotes.ex | 10 + .../app/bsky/feed/get_reposted_by.ex | 10 + .../app/bsky/feed/get_suggested_feeds.ex | 10 + lib/proto_rune/app/bsky/feed/get_timeline.ex | 10 + lib/proto_rune/app/bsky/feed/like.ex | 16 + lib/proto_rune/app/bsky/feed/post.ex | 36 + lib/proto_rune/app/bsky/feed/post/entity.ex | 10 + .../app/bsky/feed/post/reply_ref.ex | 16 + .../app/bsky/feed/post/text_slice.ex | 16 + lib/proto_rune/app/bsky/feed/postgate.ex | 18 + .../app/bsky/feed/postgate/disable_rule.ex | 12 + lib/proto_rune/app/bsky/feed/repost.ex | 16 + lib/proto_rune/app/bsky/feed/search_posts.ex | 23 + .../app/bsky/feed/send_interactions.ex | 11 + lib/proto_rune/app/bsky/feed/threadgate.ex | 23 + .../bsky/feed/threadgate/following_rule.ex | 12 + .../app/bsky/feed/threadgate/list_rule.ex | 15 + .../app/bsky/feed/threadgate/mention_rule.ex | 12 + lib/proto_rune/app/bsky/graph/block.ex | 16 + .../app/bsky/graph/defs/curatelist.ex | 10 + .../app/bsky/graph/defs/list_item_view.ex | 16 + .../app/bsky/graph/defs/list_purpose.ex | 13 + .../app/bsky/graph/defs/list_view.ex | 37 + .../app/bsky/graph/defs/list_view_basic.ex | 31 + .../app/bsky/graph/defs/list_viewer_state.ex | 15 + lib/proto_rune/app/bsky/graph/defs/modlist.ex | 10 + .../app/bsky/graph/defs/not_found_actor.ex | 16 + .../app/bsky/graph/defs/referencelist.ex | 10 + .../app/bsky/graph/defs/relationship.ex | 17 + .../app/bsky/graph/defs/starter_pack_view.ex | 35 + .../graph/defs/starter_pack_view_basic.ex | 31 + lib/proto_rune/app/bsky/graph/follow.ex | 16 + .../app/bsky/graph/get_actor_starter_packs.ex | 10 + lib/proto_rune/app/bsky/graph/get_blocks.ex | 10 + .../app/bsky/graph/get_followers.ex | 10 + lib/proto_rune/app/bsky/graph/get_follows.ex | 10 + .../app/bsky/graph/get_known_followers.ex | 10 + lib/proto_rune/app/bsky/graph/get_list.ex | 10 + .../app/bsky/graph/get_list_blocks.ex | 10 + .../app/bsky/graph/get_list_mutes.ex | 10 + lib/proto_rune/app/bsky/graph/get_lists.ex | 10 + lib/proto_rune/app/bsky/graph/get_mutes.ex | 10 + .../app/bsky/graph/get_relationships.ex | 10 + .../app/bsky/graph/get_starter_pack.ex | 10 + .../app/bsky/graph/get_starter_packs.ex | 10 + .../graph/get_suggested_follows_by_actor.ex | 10 + lib/proto_rune/app/bsky/graph/list.ex | 27 + lib/proto_rune/app/bsky/graph/listblock.ex | 16 + lib/proto_rune/app/bsky/graph/listitem.ex | 17 + lib/proto_rune/app/bsky/graph/mute_actor.ex | 10 + .../app/bsky/graph/mute_actor_list.ex | 10 + lib/proto_rune/app/bsky/graph/mute_thread.ex | 10 + lib/proto_rune/app/bsky/graph/starterpack.ex | 25 + .../app/bsky/graph/starterpack/feed_item.ex | 15 + lib/proto_rune/app/bsky/graph/unmute_actor.ex | 10 + .../app/bsky/graph/unmute_actor_list.ex | 10 + .../app/bsky/graph/unmute_thread.ex | 10 + .../app/bsky/labeler/defs/labeler_policies.ex | 17 + .../app/bsky/labeler/defs/labeler_view.ex | 27 + .../labeler/defs/labeler_view_detailed.ex | 29 + .../bsky/labeler/defs/labeler_viewer_state.ex | 14 + .../app/bsky/labeler/get_services.ex | 10 + lib/proto_rune/app/bsky/labeler/service.ex | 17 + .../app/bsky/notification/get_unread_count.ex | 10 + .../bsky/notification/list_notifications.ex | 10 + .../list_notifications/notification.ex | 31 + .../app/bsky/notification/put_preferences.ex | 10 + .../app/bsky/notification/register_push.ex | 15 + .../app/bsky/notification/update_seen.ex | 10 + lib/proto_rune/app/bsky/richtext/facet.ex | 21 + .../app/bsky/richtext/facet/byte_slice.ex | 16 + .../app/bsky/richtext/facet/link.ex | 15 + .../app/bsky/richtext/facet/mention.ex | 15 + lib/proto_rune/app/bsky/richtext/facet/tag.ex | 15 + .../unspecced/defs/skeleton_search_actor.ex | 15 + .../unspecced/defs/skeleton_search_post.ex | 15 + .../unspecced/get_popular_feed_generators.ex | 10 + .../unspecced/get_suggestions_skeleton.ex | 15 + .../bsky/unspecced/get_tagged_suggestions.ex | 10 + .../get_tagged_suggestions/suggestion.ex | 17 + .../bsky/unspecced/search_actors_skeleton.ex | 16 + .../bsky/unspecced/search_posts_skeleton.ex | 24 + .../app/bsky/video/defs/job_status.ex | 21 + .../app/bsky/video/get_job_status.ex | 10 + .../app/bsky/video/get_upload_limits.ex | 16 + lib/proto_rune/app/bsky/video/upload_video.ex | 11 + lib/proto_rune/chat/bsky/actor/declaration.ex | 15 + .../bsky/actor/defs/profile_view_basic.ex | 29 + .../chat/bsky/actor/delete_account.ex | 10 + .../chat/bsky/actor/export_account_data.ex | 10 + .../chat/bsky/convo/defs/convo_view.ex | 22 + .../bsky/convo/defs/deleted_message_view.ex | 18 + .../chat/bsky/convo/defs/log_begin_convo.ex | 16 + .../bsky/convo/defs/log_create_message.ex | 19 + .../bsky/convo/defs/log_delete_message.ex | 19 + .../chat/bsky/convo/defs/log_leave_convo.ex | 16 + .../chat/bsky/convo/defs/message_input.ex | 17 + .../chat/bsky/convo/defs/message_ref.ex | 17 + .../chat/bsky/convo/defs/message_view.ex | 21 + .../bsky/convo/defs/message_view_sender.ex | 15 + .../bsky/convo/delete_message_for_self.ex | 11 + lib/proto_rune/chat/bsky/convo/get_convo.ex | 10 + .../chat/bsky/convo/get_convo_for_members.ex | 10 + lib/proto_rune/chat/bsky/convo/get_log.ex | 10 + .../chat/bsky/convo/get_messages.ex | 10 + lib/proto_rune/chat/bsky/convo/leave_convo.ex | 11 + lib/proto_rune/chat/bsky/convo/list_convos.ex | 10 + lib/proto_rune/chat/bsky/convo/mute_convo.ex | 11 + .../chat/bsky/convo/send_message.ex | 11 + .../chat/bsky/convo/send_message_batch.ex | 11 + .../convo/send_message_batch/batch_item.ex | 16 + .../chat/bsky/convo/unmute_convo.ex | 11 + lib/proto_rune/chat/bsky/convo/update_read.ex | 11 + .../bsky/moderation/get_actor_metadata.ex | 10 + .../moderation/get_actor_metadata/metadata.ex | 18 + .../bsky/moderation/get_message_context.ex | 10 + .../bsky/moderation/update_actor_access.ex | 10 + .../com/atproto/admin/defs/account_view.ex | 35 + .../com/atproto/admin/defs/repo_blob_ref.ex | 17 + .../com/atproto/admin/defs/repo_ref.ex | 15 + .../com/atproto/admin/defs/status_attr.ex | 16 + .../com/atproto/admin/delete_account.ex | 10 + .../atproto/admin/disable_account_invites.ex | 10 + .../com/atproto/admin/disable_invite_codes.ex | 10 + .../atproto/admin/enable_account_invites.ex | 10 + .../com/atproto/admin/get_account_info.ex | 10 + .../com/atproto/admin/get_account_infos.ex | 10 + .../com/atproto/admin/get_invite_codes.ex | 10 + .../com/atproto/admin/get_subject_status.ex | 10 + .../com/atproto/admin/search_accounts.ex | 10 + .../com/atproto/admin/send_email.ex | 17 + .../com/atproto/admin/update_account_email.ex | 10 + .../atproto/admin/update_account_handle.ex | 10 + .../atproto/admin/update_account_password.ex | 10 + .../atproto/admin/update_subject_status.ex | 24 + .../get_recommended_did_credentials.ex | 15 + .../request_plc_operation_signature.ex | 8 + .../com/atproto/identity/resolve_handle.ex | 10 + .../atproto/identity/sign_plc_operation.ex | 17 + .../atproto/identity/submit_plc_operation.ex | 10 + .../com/atproto/identity/update_handle.ex | 10 + .../com/atproto/label/defs/label.ex | 31 + .../com/atproto/label/defs/label_value.ex | 21 + .../label/defs/label_value_definition.ex | 25 + .../defs/label_value_definition_strings.ex | 17 + .../com/atproto/label/defs/self_label.ex | 15 + .../com/atproto/label/defs/self_labels.ex | 15 + .../com/atproto/label/query_labels.ex | 15 + .../com/atproto/label/subscribe_labels.ex | 10 + .../atproto/label/subscribe_labels/info.ex | 16 + .../atproto/label/subscribe_labels/labels.ex | 16 + .../com/atproto/moderation/create_report.ex | 26 + .../atproto/moderation/defs/reason_appeal.ex | 10 + .../moderation/defs/reason_misleading.ex | 10 + .../atproto/moderation/defs/reason_other.ex | 10 + .../atproto/moderation/defs/reason_rude.ex | 10 + .../atproto/moderation/defs/reason_sexual.ex | 10 + .../atproto/moderation/defs/reason_spam.ex | 10 + .../atproto/moderation/defs/reason_type.ex | 17 + .../moderation/defs/reason_violation.ex | 10 + .../com/atproto/repo/apply_writes.ex | 30 + .../com/atproto/repo/apply_writes/create.ex | 17 + .../repo/apply_writes/create_result.ex | 17 + .../com/atproto/repo/apply_writes/delete.ex | 16 + .../repo/apply_writes/delete_result.ex | 12 + .../apply_writes/main_error_invalid_swap.ex | 10 + .../com/atproto/repo/apply_writes/update.ex | 17 + .../repo/apply_writes/update_result.ex | 17 + .../com/atproto/repo/create_record.ex | 24 + .../create_record/main_error_invalid_swap.ex | 10 + .../com/atproto/repo/defs/commit_meta.ex | 16 + .../com/atproto/repo/delete_record.ex | 18 + .../delete_record/main_error_invalid_swap.ex | 10 + .../com/atproto/repo/describe_repo.ex | 10 + lib/proto_rune/com/atproto/repo/get_record.ex | 10 + .../com/atproto/repo/import_repo.ex | 10 + .../com/atproto/repo/list_missing_blobs.ex | 10 + .../repo/list_missing_blobs/record_blob.ex | 16 + .../com/atproto/repo/list_records.ex | 18 + .../com/atproto/repo/list_records/record.ex | 17 + lib/proto_rune/com/atproto/repo/put_record.ex | 25 + .../put_record/main_error_invalid_swap.ex | 10 + lib/proto_rune/com/atproto/repo/strong_ref.ex | 16 + .../com/atproto/repo/upload_blob.ex | 11 + .../com/atproto/server/activate_account.ex | 8 + .../atproto/server/check_account_status.ex | 20 + .../com/atproto/server/confirm_email.ex | 15 + .../main_error_account_not_found.ex | 10 + .../confirm_email/main_error_expired_token.ex | 10 + .../confirm_email/main_error_invalid_email.ex | 10 + .../confirm_email/main_error_invalid_token.ex | 10 + .../com/atproto/server/create_account.ex | 35 + .../main_error_handle_not_available.ex | 10 + .../main_error_incompatible_did_doc.ex | 10 + .../main_error_invalid_handle.ex | 10 + .../main_error_invalid_invite_code.ex | 10 + .../main_error_invalid_password.ex | 10 + .../main_error_unresolvable_did.ex | 10 + .../main_error_unsupported_domain.ex | 10 + .../com/atproto/server/create_app_password.ex | 12 + .../create_app_password/app_password.ex | 18 + .../main_error_account_takedown.ex | 10 + .../com/atproto/server/create_invite_code.ex | 11 + .../com/atproto/server/create_invite_codes.ex | 11 + .../create_invite_codes/account_codes.ex | 16 + .../com/atproto/server/create_session.ex | 25 + .../main_error_account_takedown.ex | 10 + .../main_error_auth_factor_token_required.ex | 10 + .../com/atproto/server/deactivate_account.ex | 10 + .../com/atproto/server/defs/invite_code.ex | 27 + .../atproto/server/defs/invite_code_use.ex | 16 + .../com/atproto/server/delete_account.ex | 13 + .../main_error_expired_token.ex | 10 + .../main_error_invalid_token.ex | 10 + .../com/atproto/server/delete_session.ex | 8 + .../com/atproto/server/describe_server.ex | 17 + .../atproto/server/describe_server/contact.ex | 14 + .../atproto/server/describe_server/links.ex | 15 + .../server/get_account_invite_codes.ex | 10 + .../com/atproto/server/get_service_auth.ex | 10 + .../com/atproto/server/get_session.ex | 19 + .../com/atproto/server/list_app_passwords.ex | 13 + .../server/list_app_passwords/app_password.ex | 17 + .../main_error_account_takedown.ex | 10 + .../com/atproto/server/refresh_session.ex | 19 + .../main_error_account_takedown.ex | 10 + .../atproto/server/request_account_delete.ex | 8 + .../server/request_email_confirmation.ex | 8 + .../atproto/server/request_email_update.ex | 10 + .../atproto/server/request_password_reset.ex | 10 + .../com/atproto/server/reserve_signing_key.ex | 11 + .../com/atproto/server/reset_password.ex | 13 + .../main_error_expired_token.ex | 10 + .../main_error_invalid_token.ex | 10 + .../com/atproto/server/revoke_app_password.ex | 10 + .../com/atproto/server/update_email.ex | 14 + .../update_email/main_error_expired_token.ex | 10 + .../update_email/main_error_invalid_token.ex | 10 + .../update_email/main_error_token_required.ex | 10 + lib/proto_rune/com/atproto/sync/get_blob.ex | 10 + lib/proto_rune/com/atproto/sync/get_blocks.ex | 10 + .../com/atproto/sync/get_checkout.ex | 10 + lib/proto_rune/com/atproto/sync/get_head.ex | 10 + .../com/atproto/sync/get_latest_commit.ex | 10 + lib/proto_rune/com/atproto/sync/get_record.ex | 10 + lib/proto_rune/com/atproto/sync/get_repo.ex | 10 + .../com/atproto/sync/get_repo_status.ex | 10 + lib/proto_rune/com/atproto/sync/list_blobs.ex | 10 + lib/proto_rune/com/atproto/sync/list_repos.ex | 10 + .../com/atproto/sync/list_repos/repo.ex | 19 + .../com/atproto/sync/notify_of_update.ex | 10 + .../com/atproto/sync/request_crawl.ex | 10 + .../com/atproto/sync/subscribe_repos.ex | 10 + .../atproto/sync/subscribe_repos/account.ex | 19 + .../atproto/sync/subscribe_repos/commit.ex | 49 + .../atproto/sync/subscribe_repos/handle.ex | 18 + .../atproto/sync/subscribe_repos/identity.ex | 18 + .../com/atproto/sync/subscribe_repos/info.ex | 16 + .../atproto/sync/subscribe_repos/migrate.ex | 18 + .../atproto/sync/subscribe_repos/repo_op.ex | 17 + .../atproto/sync/subscribe_repos/tombstone.ex | 17 + .../com/atproto/temp/check_signup_queue.ex | 10 + .../com/atproto/temp/fetch_labels.ex | 10 + .../temp/request_phone_verification.ex | 10 + .../ozone/communication/create_template.ex | 19 + .../main_error_duplicate_template_name.ex | 10 + .../ozone/communication/defs/template_view.ex | 39 + .../ozone/communication/delete_template.ex | 10 + .../ozone/communication/list_templates.ex | 12 + .../ozone/communication/update_template.ex | 21 + .../main_error_duplicate_template_name.ex | 10 + .../tools/ozone/moderation/defs/blob_view.ex | 22 + .../ozone/moderation/defs/image_details.ex | 16 + .../moderation/defs/mod_event_acknowledge.ex | 14 + .../moderation/defs/mod_event_comment.ex | 16 + .../ozone/moderation/defs/mod_event_divert.ex | 14 + .../ozone/moderation/defs/mod_event_email.ex | 17 + .../moderation/defs/mod_event_escalate.ex | 14 + .../ozone/moderation/defs/mod_event_label.ex | 17 + .../ozone/moderation/defs/mod_event_mute.ex | 16 + .../defs/mod_event_mute_reporter.ex | 16 + .../ozone/moderation/defs/mod_event_report.ex | 17 + .../defs/mod_event_resolve_appeal.ex | 14 + .../defs/mod_event_reverse_takedown.ex | 14 + .../ozone/moderation/defs/mod_event_tag.ex | 17 + .../moderation/defs/mod_event_takedown.ex | 16 + .../ozone/moderation/defs/mod_event_unmute.ex | 14 + .../defs/mod_event_unmute_reporter.ex | 14 + .../ozone/moderation/defs/mod_event_view.ex | 47 + .../moderation/defs/mod_event_view_detail.ex | 44 + .../tools/ozone/moderation/defs/moderation.ex | 14 + .../moderation/defs/moderation_detail.ex | 14 + .../ozone/moderation/defs/record_view.ex | 27 + .../moderation/defs/record_view_detail.ex | 29 + .../moderation/defs/record_view_not_found.ex | 15 + .../tools/ozone/moderation/defs/repo_view.ex | 33 + .../ozone/moderation/defs/repo_view_detail.ex | 39 + .../moderation/defs/repo_view_not_found.ex | 15 + .../ozone/moderation/defs/review_closed.ex | 10 + .../ozone/moderation/defs/review_escalated.ex | 10 + .../ozone/moderation/defs/review_none.ex | 10 + .../ozone/moderation/defs/review_open.ex | 10 + .../moderation/defs/subject_review_state.ex | 10 + .../moderation/defs/subject_status_view.ex | 51 + .../ozone/moderation/defs/video_details.ex | 17 + .../tools/ozone/moderation/emit_event.ex | 33 + .../main_error_subject_has_action.ex | 10 + .../tools/ozone/moderation/get_event.ex | 10 + .../tools/ozone/moderation/get_record.ex | 10 + .../tools/ozone/moderation/get_repo.ex | 10 + .../tools/ozone/moderation/query_events.ex | 27 + .../tools/ozone/moderation/query_statuses.ex | 31 + .../tools/ozone/moderation/search_repos.ex | 10 + .../tools/ozone/server/get_config.ex | 16 + .../ozone/server/get_config/service_config.ex | 14 + .../ozone/server/get_config/viewer_config.ex | 17 + lib/proto_rune/tools/ozone/team/add_member.ex | 18 + .../main_error_member_already_exists.ex | 10 + .../tools/ozone/team/defs/member.ex | 27 + .../tools/ozone/team/defs/role_admin.ex | 10 + .../tools/ozone/team/defs/role_moderator.ex | 10 + .../tools/ozone/team/defs/role_triage.ex | 10 + .../tools/ozone/team/delete_member.ex | 13 + .../main_error_cannot_delete_self.ex | 10 + .../main_error_member_not_found.ex | 10 + .../tools/ozone/team/list_members.ex | 10 + .../tools/ozone/team/update_member.ex | 19 + .../main_error_member_not_found.ex | 10 + mix.exs | 2 +- mix.lock | 6 +- test/atproto_test.exs | 8 - test/mix/tasks/gen_schemas_test.exs | 333 +++++ 430 files changed, 7806 insertions(+), 120 deletions(-) create mode 100644 lib/proto_rune/app/bsky/actor/defs/adult_content_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/bsky_app_progress_guide.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/bsky_app_state_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/content_label_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/feed_view_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/hidden_posts_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/interests_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/known_followers.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/labeler_pref_item.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/labelers_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/muted_word.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/muted_word_target.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/muted_words_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/nux.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/personal_details_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/preferences.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/profile_associated.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/profile_associated_chat.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/profile_view.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/profile_view_basic.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/profile_view_detailed.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/saved_feed.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/saved_feeds_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/saved_feeds_pref_v2.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/thread_view_pref.ex create mode 100644 lib/proto_rune/app/bsky/actor/defs/viewer_state.ex create mode 100644 lib/proto_rune/app/bsky/actor/get_preferences.ex create mode 100644 lib/proto_rune/app/bsky/actor/get_profile.ex create mode 100644 lib/proto_rune/app/bsky/actor/get_profiles.ex create mode 100644 lib/proto_rune/app/bsky/actor/get_suggestions.ex create mode 100644 lib/proto_rune/app/bsky/actor/profile.ex create mode 100644 lib/proto_rune/app/bsky/actor/put_preferences.ex create mode 100644 lib/proto_rune/app/bsky/actor/search_actors.ex create mode 100644 lib/proto_rune/app/bsky/actor/search_actors_typeahead.ex create mode 100644 lib/proto_rune/app/bsky/embed/defs/aspect_ratio.ex create mode 100644 lib/proto_rune/app/bsky/embed/external.ex create mode 100644 lib/proto_rune/app/bsky/embed/external/external.ex create mode 100644 lib/proto_rune/app/bsky/embed/external/view.ex create mode 100644 lib/proto_rune/app/bsky/embed/external/view_external.ex create mode 100644 lib/proto_rune/app/bsky/embed/images.ex create mode 100644 lib/proto_rune/app/bsky/embed/images/image.ex create mode 100644 lib/proto_rune/app/bsky/embed/images/view.ex create mode 100644 lib/proto_rune/app/bsky/embed/images/view_image.ex create mode 100644 lib/proto_rune/app/bsky/embed/record.ex create mode 100644 lib/proto_rune/app/bsky/embed/record/view.ex create mode 100644 lib/proto_rune/app/bsky/embed/record/view_blocked.ex create mode 100644 lib/proto_rune/app/bsky/embed/record/view_detached.ex create mode 100644 lib/proto_rune/app/bsky/embed/record/view_not_found.ex create mode 100644 lib/proto_rune/app/bsky/embed/record/view_record.ex create mode 100644 lib/proto_rune/app/bsky/embed/record_with_media.ex create mode 100644 lib/proto_rune/app/bsky/embed/record_with_media/view.ex create mode 100644 lib/proto_rune/app/bsky/embed/video.ex create mode 100644 lib/proto_rune/app/bsky/embed/video/caption.ex create mode 100644 lib/proto_rune/app/bsky/embed/video/view.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/blocked_author.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/blocked_post.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/clickthrough_author.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/clickthrough_embed.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/clickthrough_item.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/clickthrough_reposter.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/feed_view_post.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/generator_view.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/generator_viewer_state.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/interaction.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/interaction_like.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/interaction_quote.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/interaction_reply.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/interaction_repost.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/interaction_seen.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/interaction_share.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/not_found_post.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/post_view.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/reason_repost.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/reply_ref.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/request_less.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/request_more.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/skeleton_feed_post.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/skeleton_reason_repost.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/thread_view_post.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/threadgate_view.ex create mode 100644 lib/proto_rune/app/bsky/feed/defs/viewer_state.ex create mode 100644 lib/proto_rune/app/bsky/feed/describe_feed_generator.ex create mode 100644 lib/proto_rune/app/bsky/feed/describe_feed_generator/feed.ex create mode 100644 lib/proto_rune/app/bsky/feed/describe_feed_generator/links.ex create mode 100644 lib/proto_rune/app/bsky/feed/generator.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_actor_feeds.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_actor_likes.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_author_feed.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_feed.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_feed_generator.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_feed_generators.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_feed_skeleton.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_likes.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_likes/like.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_list_feed.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_post_thread.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_posts.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_quotes.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_reposted_by.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_suggested_feeds.ex create mode 100644 lib/proto_rune/app/bsky/feed/get_timeline.ex create mode 100644 lib/proto_rune/app/bsky/feed/like.ex create mode 100644 lib/proto_rune/app/bsky/feed/post.ex create mode 100644 lib/proto_rune/app/bsky/feed/post/entity.ex create mode 100644 lib/proto_rune/app/bsky/feed/post/reply_ref.ex create mode 100644 lib/proto_rune/app/bsky/feed/post/text_slice.ex create mode 100644 lib/proto_rune/app/bsky/feed/postgate.ex create mode 100644 lib/proto_rune/app/bsky/feed/postgate/disable_rule.ex create mode 100644 lib/proto_rune/app/bsky/feed/repost.ex create mode 100644 lib/proto_rune/app/bsky/feed/search_posts.ex create mode 100644 lib/proto_rune/app/bsky/feed/send_interactions.ex create mode 100644 lib/proto_rune/app/bsky/feed/threadgate.ex create mode 100644 lib/proto_rune/app/bsky/feed/threadgate/following_rule.ex create mode 100644 lib/proto_rune/app/bsky/feed/threadgate/list_rule.ex create mode 100644 lib/proto_rune/app/bsky/feed/threadgate/mention_rule.ex create mode 100644 lib/proto_rune/app/bsky/graph/block.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/curatelist.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/list_item_view.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/list_purpose.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/list_view.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/list_view_basic.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/list_viewer_state.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/modlist.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/not_found_actor.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/referencelist.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/relationship.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/starter_pack_view.ex create mode 100644 lib/proto_rune/app/bsky/graph/defs/starter_pack_view_basic.ex create mode 100644 lib/proto_rune/app/bsky/graph/follow.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_actor_starter_packs.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_blocks.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_followers.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_follows.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_known_followers.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_list.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_list_blocks.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_list_mutes.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_lists.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_mutes.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_relationships.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_starter_pack.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_starter_packs.ex create mode 100644 lib/proto_rune/app/bsky/graph/get_suggested_follows_by_actor.ex create mode 100644 lib/proto_rune/app/bsky/graph/list.ex create mode 100644 lib/proto_rune/app/bsky/graph/listblock.ex create mode 100644 lib/proto_rune/app/bsky/graph/listitem.ex create mode 100644 lib/proto_rune/app/bsky/graph/mute_actor.ex create mode 100644 lib/proto_rune/app/bsky/graph/mute_actor_list.ex create mode 100644 lib/proto_rune/app/bsky/graph/mute_thread.ex create mode 100644 lib/proto_rune/app/bsky/graph/starterpack.ex create mode 100644 lib/proto_rune/app/bsky/graph/starterpack/feed_item.ex create mode 100644 lib/proto_rune/app/bsky/graph/unmute_actor.ex create mode 100644 lib/proto_rune/app/bsky/graph/unmute_actor_list.ex create mode 100644 lib/proto_rune/app/bsky/graph/unmute_thread.ex create mode 100644 lib/proto_rune/app/bsky/labeler/defs/labeler_policies.ex create mode 100644 lib/proto_rune/app/bsky/labeler/defs/labeler_view.ex create mode 100644 lib/proto_rune/app/bsky/labeler/defs/labeler_view_detailed.ex create mode 100644 lib/proto_rune/app/bsky/labeler/defs/labeler_viewer_state.ex create mode 100644 lib/proto_rune/app/bsky/labeler/get_services.ex create mode 100644 lib/proto_rune/app/bsky/labeler/service.ex create mode 100644 lib/proto_rune/app/bsky/notification/get_unread_count.ex create mode 100644 lib/proto_rune/app/bsky/notification/list_notifications.ex create mode 100644 lib/proto_rune/app/bsky/notification/list_notifications/notification.ex create mode 100644 lib/proto_rune/app/bsky/notification/put_preferences.ex create mode 100644 lib/proto_rune/app/bsky/notification/register_push.ex create mode 100644 lib/proto_rune/app/bsky/notification/update_seen.ex create mode 100644 lib/proto_rune/app/bsky/richtext/facet.ex create mode 100644 lib/proto_rune/app/bsky/richtext/facet/byte_slice.ex create mode 100644 lib/proto_rune/app/bsky/richtext/facet/link.ex create mode 100644 lib/proto_rune/app/bsky/richtext/facet/mention.ex create mode 100644 lib/proto_rune/app/bsky/richtext/facet/tag.ex create mode 100644 lib/proto_rune/app/bsky/unspecced/defs/skeleton_search_actor.ex create mode 100644 lib/proto_rune/app/bsky/unspecced/defs/skeleton_search_post.ex create mode 100644 lib/proto_rune/app/bsky/unspecced/get_popular_feed_generators.ex create mode 100644 lib/proto_rune/app/bsky/unspecced/get_suggestions_skeleton.ex create mode 100644 lib/proto_rune/app/bsky/unspecced/get_tagged_suggestions.ex create mode 100644 lib/proto_rune/app/bsky/unspecced/get_tagged_suggestions/suggestion.ex create mode 100644 lib/proto_rune/app/bsky/unspecced/search_actors_skeleton.ex create mode 100644 lib/proto_rune/app/bsky/unspecced/search_posts_skeleton.ex create mode 100644 lib/proto_rune/app/bsky/video/defs/job_status.ex create mode 100644 lib/proto_rune/app/bsky/video/get_job_status.ex create mode 100644 lib/proto_rune/app/bsky/video/get_upload_limits.ex create mode 100644 lib/proto_rune/app/bsky/video/upload_video.ex create mode 100644 lib/proto_rune/chat/bsky/actor/declaration.ex create mode 100644 lib/proto_rune/chat/bsky/actor/defs/profile_view_basic.ex create mode 100644 lib/proto_rune/chat/bsky/actor/delete_account.ex create mode 100644 lib/proto_rune/chat/bsky/actor/export_account_data.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/convo_view.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/deleted_message_view.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/log_begin_convo.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/log_create_message.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/log_delete_message.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/log_leave_convo.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/message_input.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/message_ref.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/message_view.ex create mode 100644 lib/proto_rune/chat/bsky/convo/defs/message_view_sender.ex create mode 100644 lib/proto_rune/chat/bsky/convo/delete_message_for_self.ex create mode 100644 lib/proto_rune/chat/bsky/convo/get_convo.ex create mode 100644 lib/proto_rune/chat/bsky/convo/get_convo_for_members.ex create mode 100644 lib/proto_rune/chat/bsky/convo/get_log.ex create mode 100644 lib/proto_rune/chat/bsky/convo/get_messages.ex create mode 100644 lib/proto_rune/chat/bsky/convo/leave_convo.ex create mode 100644 lib/proto_rune/chat/bsky/convo/list_convos.ex create mode 100644 lib/proto_rune/chat/bsky/convo/mute_convo.ex create mode 100644 lib/proto_rune/chat/bsky/convo/send_message.ex create mode 100644 lib/proto_rune/chat/bsky/convo/send_message_batch.ex create mode 100644 lib/proto_rune/chat/bsky/convo/send_message_batch/batch_item.ex create mode 100644 lib/proto_rune/chat/bsky/convo/unmute_convo.ex create mode 100644 lib/proto_rune/chat/bsky/convo/update_read.ex create mode 100644 lib/proto_rune/chat/bsky/moderation/get_actor_metadata.ex create mode 100644 lib/proto_rune/chat/bsky/moderation/get_actor_metadata/metadata.ex create mode 100644 lib/proto_rune/chat/bsky/moderation/get_message_context.ex create mode 100644 lib/proto_rune/chat/bsky/moderation/update_actor_access.ex create mode 100644 lib/proto_rune/com/atproto/admin/defs/account_view.ex create mode 100644 lib/proto_rune/com/atproto/admin/defs/repo_blob_ref.ex create mode 100644 lib/proto_rune/com/atproto/admin/defs/repo_ref.ex create mode 100644 lib/proto_rune/com/atproto/admin/defs/status_attr.ex create mode 100644 lib/proto_rune/com/atproto/admin/delete_account.ex create mode 100644 lib/proto_rune/com/atproto/admin/disable_account_invites.ex create mode 100644 lib/proto_rune/com/atproto/admin/disable_invite_codes.ex create mode 100644 lib/proto_rune/com/atproto/admin/enable_account_invites.ex create mode 100644 lib/proto_rune/com/atproto/admin/get_account_info.ex create mode 100644 lib/proto_rune/com/atproto/admin/get_account_infos.ex create mode 100644 lib/proto_rune/com/atproto/admin/get_invite_codes.ex create mode 100644 lib/proto_rune/com/atproto/admin/get_subject_status.ex create mode 100644 lib/proto_rune/com/atproto/admin/search_accounts.ex create mode 100644 lib/proto_rune/com/atproto/admin/send_email.ex create mode 100644 lib/proto_rune/com/atproto/admin/update_account_email.ex create mode 100644 lib/proto_rune/com/atproto/admin/update_account_handle.ex create mode 100644 lib/proto_rune/com/atproto/admin/update_account_password.ex create mode 100644 lib/proto_rune/com/atproto/admin/update_subject_status.ex create mode 100644 lib/proto_rune/com/atproto/identity/get_recommended_did_credentials.ex create mode 100644 lib/proto_rune/com/atproto/identity/request_plc_operation_signature.ex create mode 100644 lib/proto_rune/com/atproto/identity/resolve_handle.ex create mode 100644 lib/proto_rune/com/atproto/identity/sign_plc_operation.ex create mode 100644 lib/proto_rune/com/atproto/identity/submit_plc_operation.ex create mode 100644 lib/proto_rune/com/atproto/identity/update_handle.ex create mode 100644 lib/proto_rune/com/atproto/label/defs/label.ex create mode 100644 lib/proto_rune/com/atproto/label/defs/label_value.ex create mode 100644 lib/proto_rune/com/atproto/label/defs/label_value_definition.ex create mode 100644 lib/proto_rune/com/atproto/label/defs/label_value_definition_strings.ex create mode 100644 lib/proto_rune/com/atproto/label/defs/self_label.ex create mode 100644 lib/proto_rune/com/atproto/label/defs/self_labels.ex create mode 100644 lib/proto_rune/com/atproto/label/query_labels.ex create mode 100644 lib/proto_rune/com/atproto/label/subscribe_labels.ex create mode 100644 lib/proto_rune/com/atproto/label/subscribe_labels/info.ex create mode 100644 lib/proto_rune/com/atproto/label/subscribe_labels/labels.ex create mode 100644 lib/proto_rune/com/atproto/moderation/create_report.ex create mode 100644 lib/proto_rune/com/atproto/moderation/defs/reason_appeal.ex create mode 100644 lib/proto_rune/com/atproto/moderation/defs/reason_misleading.ex create mode 100644 lib/proto_rune/com/atproto/moderation/defs/reason_other.ex create mode 100644 lib/proto_rune/com/atproto/moderation/defs/reason_rude.ex create mode 100644 lib/proto_rune/com/atproto/moderation/defs/reason_sexual.ex create mode 100644 lib/proto_rune/com/atproto/moderation/defs/reason_spam.ex create mode 100644 lib/proto_rune/com/atproto/moderation/defs/reason_type.ex create mode 100644 lib/proto_rune/com/atproto/moderation/defs/reason_violation.ex create mode 100644 lib/proto_rune/com/atproto/repo/apply_writes.ex create mode 100644 lib/proto_rune/com/atproto/repo/apply_writes/create.ex create mode 100644 lib/proto_rune/com/atproto/repo/apply_writes/create_result.ex create mode 100644 lib/proto_rune/com/atproto/repo/apply_writes/delete.ex create mode 100644 lib/proto_rune/com/atproto/repo/apply_writes/delete_result.ex create mode 100644 lib/proto_rune/com/atproto/repo/apply_writes/main_error_invalid_swap.ex create mode 100644 lib/proto_rune/com/atproto/repo/apply_writes/update.ex create mode 100644 lib/proto_rune/com/atproto/repo/apply_writes/update_result.ex create mode 100644 lib/proto_rune/com/atproto/repo/create_record.ex create mode 100644 lib/proto_rune/com/atproto/repo/create_record/main_error_invalid_swap.ex create mode 100644 lib/proto_rune/com/atproto/repo/defs/commit_meta.ex create mode 100644 lib/proto_rune/com/atproto/repo/delete_record.ex create mode 100644 lib/proto_rune/com/atproto/repo/delete_record/main_error_invalid_swap.ex create mode 100644 lib/proto_rune/com/atproto/repo/describe_repo.ex create mode 100644 lib/proto_rune/com/atproto/repo/get_record.ex create mode 100644 lib/proto_rune/com/atproto/repo/import_repo.ex create mode 100644 lib/proto_rune/com/atproto/repo/list_missing_blobs.ex create mode 100644 lib/proto_rune/com/atproto/repo/list_missing_blobs/record_blob.ex create mode 100644 lib/proto_rune/com/atproto/repo/list_records.ex create mode 100644 lib/proto_rune/com/atproto/repo/list_records/record.ex create mode 100644 lib/proto_rune/com/atproto/repo/put_record.ex create mode 100644 lib/proto_rune/com/atproto/repo/put_record/main_error_invalid_swap.ex create mode 100644 lib/proto_rune/com/atproto/repo/strong_ref.ex create mode 100644 lib/proto_rune/com/atproto/repo/upload_blob.ex create mode 100644 lib/proto_rune/com/atproto/server/activate_account.ex create mode 100644 lib/proto_rune/com/atproto/server/check_account_status.ex create mode 100644 lib/proto_rune/com/atproto/server/confirm_email.ex create mode 100644 lib/proto_rune/com/atproto/server/confirm_email/main_error_account_not_found.ex create mode 100644 lib/proto_rune/com/atproto/server/confirm_email/main_error_expired_token.ex create mode 100644 lib/proto_rune/com/atproto/server/confirm_email/main_error_invalid_email.ex create mode 100644 lib/proto_rune/com/atproto/server/confirm_email/main_error_invalid_token.ex create mode 100644 lib/proto_rune/com/atproto/server/create_account.ex create mode 100644 lib/proto_rune/com/atproto/server/create_account/main_error_handle_not_available.ex create mode 100644 lib/proto_rune/com/atproto/server/create_account/main_error_incompatible_did_doc.ex create mode 100644 lib/proto_rune/com/atproto/server/create_account/main_error_invalid_handle.ex create mode 100644 lib/proto_rune/com/atproto/server/create_account/main_error_invalid_invite_code.ex create mode 100644 lib/proto_rune/com/atproto/server/create_account/main_error_invalid_password.ex create mode 100644 lib/proto_rune/com/atproto/server/create_account/main_error_unresolvable_did.ex create mode 100644 lib/proto_rune/com/atproto/server/create_account/main_error_unsupported_domain.ex create mode 100644 lib/proto_rune/com/atproto/server/create_app_password.ex create mode 100644 lib/proto_rune/com/atproto/server/create_app_password/app_password.ex create mode 100644 lib/proto_rune/com/atproto/server/create_app_password/main_error_account_takedown.ex create mode 100644 lib/proto_rune/com/atproto/server/create_invite_code.ex create mode 100644 lib/proto_rune/com/atproto/server/create_invite_codes.ex create mode 100644 lib/proto_rune/com/atproto/server/create_invite_codes/account_codes.ex create mode 100644 lib/proto_rune/com/atproto/server/create_session.ex create mode 100644 lib/proto_rune/com/atproto/server/create_session/main_error_account_takedown.ex create mode 100644 lib/proto_rune/com/atproto/server/create_session/main_error_auth_factor_token_required.ex create mode 100644 lib/proto_rune/com/atproto/server/deactivate_account.ex create mode 100644 lib/proto_rune/com/atproto/server/defs/invite_code.ex create mode 100644 lib/proto_rune/com/atproto/server/defs/invite_code_use.ex create mode 100644 lib/proto_rune/com/atproto/server/delete_account.ex create mode 100644 lib/proto_rune/com/atproto/server/delete_account/main_error_expired_token.ex create mode 100644 lib/proto_rune/com/atproto/server/delete_account/main_error_invalid_token.ex create mode 100644 lib/proto_rune/com/atproto/server/delete_session.ex create mode 100644 lib/proto_rune/com/atproto/server/describe_server.ex create mode 100644 lib/proto_rune/com/atproto/server/describe_server/contact.ex create mode 100644 lib/proto_rune/com/atproto/server/describe_server/links.ex create mode 100644 lib/proto_rune/com/atproto/server/get_account_invite_codes.ex create mode 100644 lib/proto_rune/com/atproto/server/get_service_auth.ex create mode 100644 lib/proto_rune/com/atproto/server/get_session.ex create mode 100644 lib/proto_rune/com/atproto/server/list_app_passwords.ex create mode 100644 lib/proto_rune/com/atproto/server/list_app_passwords/app_password.ex create mode 100644 lib/proto_rune/com/atproto/server/list_app_passwords/main_error_account_takedown.ex create mode 100644 lib/proto_rune/com/atproto/server/refresh_session.ex create mode 100644 lib/proto_rune/com/atproto/server/refresh_session/main_error_account_takedown.ex create mode 100644 lib/proto_rune/com/atproto/server/request_account_delete.ex create mode 100644 lib/proto_rune/com/atproto/server/request_email_confirmation.ex create mode 100644 lib/proto_rune/com/atproto/server/request_email_update.ex create mode 100644 lib/proto_rune/com/atproto/server/request_password_reset.ex create mode 100644 lib/proto_rune/com/atproto/server/reserve_signing_key.ex create mode 100644 lib/proto_rune/com/atproto/server/reset_password.ex create mode 100644 lib/proto_rune/com/atproto/server/reset_password/main_error_expired_token.ex create mode 100644 lib/proto_rune/com/atproto/server/reset_password/main_error_invalid_token.ex create mode 100644 lib/proto_rune/com/atproto/server/revoke_app_password.ex create mode 100644 lib/proto_rune/com/atproto/server/update_email.ex create mode 100644 lib/proto_rune/com/atproto/server/update_email/main_error_expired_token.ex create mode 100644 lib/proto_rune/com/atproto/server/update_email/main_error_invalid_token.ex create mode 100644 lib/proto_rune/com/atproto/server/update_email/main_error_token_required.ex create mode 100644 lib/proto_rune/com/atproto/sync/get_blob.ex create mode 100644 lib/proto_rune/com/atproto/sync/get_blocks.ex create mode 100644 lib/proto_rune/com/atproto/sync/get_checkout.ex create mode 100644 lib/proto_rune/com/atproto/sync/get_head.ex create mode 100644 lib/proto_rune/com/atproto/sync/get_latest_commit.ex create mode 100644 lib/proto_rune/com/atproto/sync/get_record.ex create mode 100644 lib/proto_rune/com/atproto/sync/get_repo.ex create mode 100644 lib/proto_rune/com/atproto/sync/get_repo_status.ex create mode 100644 lib/proto_rune/com/atproto/sync/list_blobs.ex create mode 100644 lib/proto_rune/com/atproto/sync/list_repos.ex create mode 100644 lib/proto_rune/com/atproto/sync/list_repos/repo.ex create mode 100644 lib/proto_rune/com/atproto/sync/notify_of_update.ex create mode 100644 lib/proto_rune/com/atproto/sync/request_crawl.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos/account.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos/commit.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos/handle.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos/identity.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos/info.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos/migrate.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos/repo_op.ex create mode 100644 lib/proto_rune/com/atproto/sync/subscribe_repos/tombstone.ex create mode 100644 lib/proto_rune/com/atproto/temp/check_signup_queue.ex create mode 100644 lib/proto_rune/com/atproto/temp/fetch_labels.ex create mode 100644 lib/proto_rune/com/atproto/temp/request_phone_verification.ex create mode 100644 lib/proto_rune/tools/ozone/communication/create_template.ex create mode 100644 lib/proto_rune/tools/ozone/communication/create_template/main_error_duplicate_template_name.ex create mode 100644 lib/proto_rune/tools/ozone/communication/defs/template_view.ex create mode 100644 lib/proto_rune/tools/ozone/communication/delete_template.ex create mode 100644 lib/proto_rune/tools/ozone/communication/list_templates.ex create mode 100644 lib/proto_rune/tools/ozone/communication/update_template.ex create mode 100644 lib/proto_rune/tools/ozone/communication/update_template/main_error_duplicate_template_name.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/blob_view.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/image_details.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_acknowledge.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_comment.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_divert.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_email.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_escalate.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_label.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_mute.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_mute_reporter.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_report.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_resolve_appeal.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_reverse_takedown.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_tag.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_takedown.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_unmute.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_unmute_reporter.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_view.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/mod_event_view_detail.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/moderation.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/moderation_detail.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/record_view.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/record_view_detail.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/record_view_not_found.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/repo_view.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/repo_view_detail.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/repo_view_not_found.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/review_closed.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/review_escalated.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/review_none.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/review_open.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/subject_review_state.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/subject_status_view.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/defs/video_details.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/emit_event.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/emit_event/main_error_subject_has_action.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/get_event.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/get_record.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/get_repo.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/query_events.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/query_statuses.ex create mode 100644 lib/proto_rune/tools/ozone/moderation/search_repos.ex create mode 100644 lib/proto_rune/tools/ozone/server/get_config.ex create mode 100644 lib/proto_rune/tools/ozone/server/get_config/service_config.ex create mode 100644 lib/proto_rune/tools/ozone/server/get_config/viewer_config.ex create mode 100644 lib/proto_rune/tools/ozone/team/add_member.ex create mode 100644 lib/proto_rune/tools/ozone/team/add_member/main_error_member_already_exists.ex create mode 100644 lib/proto_rune/tools/ozone/team/defs/member.ex create mode 100644 lib/proto_rune/tools/ozone/team/defs/role_admin.ex create mode 100644 lib/proto_rune/tools/ozone/team/defs/role_moderator.ex create mode 100644 lib/proto_rune/tools/ozone/team/defs/role_triage.ex create mode 100644 lib/proto_rune/tools/ozone/team/delete_member.ex create mode 100644 lib/proto_rune/tools/ozone/team/delete_member/main_error_cannot_delete_self.ex create mode 100644 lib/proto_rune/tools/ozone/team/delete_member/main_error_member_not_found.ex create mode 100644 lib/proto_rune/tools/ozone/team/list_members.ex create mode 100644 lib/proto_rune/tools/ozone/team/update_member.ex create mode 100644 lib/proto_rune/tools/ozone/team/update_member/main_error_member_not_found.ex delete mode 100644 test/atproto_test.exs create mode 100644 test/mix/tasks/gen_schemas_test.exs diff --git a/lib/mix/tasks/gen_schemas.ex b/lib/mix/tasks/gen_schemas.ex index 6bf1fa6..c843131 100644 --- a/lib/mix/tasks/gen_schemas.ex +++ b/lib/mix/tasks/gen_schemas.ex @@ -1,164 +1,1027 @@ defmodule Mix.Tasks.GenSchemas do - @moduledoc false + @moduledoc """ + Mix task to generate Elixir modules from Lexicon schema definitions. + """ use Mix.Task - @shortdoc "Generates Elixir modules for schemas in defs.json" + @shortdoc "Generates Elixir modules from lexicon schema files" - def run(["--file", def_file_path]) do - with {:ok, content} <- maybe_read_file_content(def_file_path), - {:ok, lexicon} <- Jason.decode(content) do - Enum.each(lexicon["defs"], fn {name, def} -> - generate_schema_module(lexicon["id"], name, def) + alias __MODULE__.{ + Context, + Loader, + DependencyResolver, + Generator, + TypeMapper, + Utils + } + + defmodule Context do + @moduledoc false + defstruct lexicons: [], + defs_map: %{}, + generated_modules: MapSet.new(), + output_dir: "lib/proto_rune" + end + + @impl Mix.Task + def run(args) do + {opts, _remaining_args} = parse_args(args) + + case opts[:path] do + nil -> + Mix.raise(""" + Usage: mix gen_schemas --path priv/lexicons/ + + You must provide a path to the lexicon files. + """) + + path -> + path + |> expand_lexicon_files() + |> generate_schemas(opts) + end + end + + defp parse_args(args) do + OptionParser.parse!(args, strict: [path: :string, output_dir: :string]) + end + + defp expand_lexicon_files(path) do + if File.dir?(path) do + Path.wildcard(Path.join(path, "**/*.json")) + else + Mix.raise("Invalid path: #{path}") + end + end + + defp generate_schemas(files, opts) do + with {:ok, lexicons} <- Loader.load_lexicons(files), + {:ok, defs_map} <- Loader.build_defs_map(lexicons), + {:ok, sorted_defs} <- DependencyResolver.sort_definitions(defs_map) do + output_dir = opts[:output_dir] || "lib/proto_rune" + + context = %Context{ + lexicons: lexicons, + defs_map: defs_map, + generated_modules: MapSet.new(), + output_dir: output_dir + } + + Enum.each(sorted_defs, fn {lexicon_id, name} -> + definition = Map.get(defs_map, {lexicon_id, name}) + + if definition do + Generator.generate_schema_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) + else + Mix.shell().error("Definition not found for #{lexicon_id}##{name}") + end end) Mix.shell().info("Schema modules generated successfully!") else - {:error, err} -> Mix.shell().error("Failed with reason: #{err}!") + {:error, reason} -> + Mix.raise("Failed to generate schemas: #{reason}") end end - def run(_) do - Mix.shell().error("Wrong usage! Need to pass the --file flag!") - end + # ------------------------------- + # Loader Module + # ------------------------------- - defp maybe_read_file_content(file_path) do - file_path - |> Path.expand() - |> File.read() - end + defmodule Loader do + @moduledoc false - def generate_schema_module(id, name, %{"type" => "string", "knownValues" => _} = t) do - context = to_module_context(id) - module_name = to_module_name(id, name) + alias Mix.Tasks.GenSchemas.Utils - typespec = type_to_elixir(context, t) + @doc """ + Loads lexicon JSON files and parses them into maps. + """ + def load_lexicons(files) do + files + |> Enum.map(&load_lexicon/1) + |> handle_lexicon_loading() + end - module_contents = """ - defmodule #{module_name} do - @moduledoc "Generated schema for #{name}" + defp load_lexicon(file) do + with {:ok, content} <- File.read(file), + {:ok, lexicon} <- Utils.decode_json(content) do + {:ok, Map.put(lexicon, "file_path", file)} + else + {:error, reason} -> {:error, "Failed to load #{file}: #{inspect(reason)}"} + end + end - @type t :: #{typespec} + defp handle_lexicon_loading(lexicons) do + Enum.reduce_while(lexicons, {:ok, []}, fn + {:ok, lexicon}, {:ok, acc} -> {:cont, {:ok, [lexicon | acc]}} + {:error, reason}, _ -> {:halt, {:error, reason}} + end) end + + @doc """ + Builds a map of definitions from all loaded lexicons. """ + def build_defs_map(lexicons) do + defs_map = + Enum.reduce(lexicons, %{}, fn lexicon, acc -> + lexicon_id = lexicon["id"] - # Write the module to a file - file_path = - Path.join(["lib", Macro.underscore(context), "#{Macro.underscore(name)}.ex"]) + definitions = collect_all_definitions(lexicon) - File.mkdir_p!(Path.dirname(file_path)) - File.write!(file_path, module_contents) - end + Enum.reduce(definitions, acc, fn {name, definition}, acc_inner -> + Map.put(acc_inner, {lexicon_id, name}, definition) + end) + end) - def generate_schema_module(id, name, %{"type" => "array", "items" => _} = t) do - context = to_module_context(id) - module_name = to_module_name(id, name) + {:ok, defs_map} + end - typespec = type_to_elixir(context, t) + defp collect_all_definitions(lexicon) do + definitions = %{} - module_contents = """ - defmodule #{module_name} do - @moduledoc "Generated schema for #{name}" + definitions = + if Map.has_key?(lexicon, "defs") do + lexicon["defs"] + |> Enum.reduce(definitions, fn {name, defn}, acc -> + Map.merge(acc, collect_definition(defn, name)) + end) + else + definitions + end - @type t :: #{typespec} + # Include top-level definition if it has a "type" + definitions = + if Map.has_key?(lexicon, "type") do + Map.merge(definitions, collect_definition(lexicon, "main")) + else + definitions + end + + definitions end - """ - # Write the module to a file - file_path = - Path.join(["lib", Macro.underscore(context), "#{Macro.underscore(name)}.ex"]) + defp collect_definition(definition, name) do + definitions = %{name => definition} + + definitions = + Enum.reduce(definition, definitions, fn + {_key, %{"type" => _} = value}, acc -> + nested_name = Map.get(value, "name", name) + nested_defs = collect_definition(value, nested_name) + Map.merge(acc, nested_defs) - File.mkdir_p!(Path.dirname(file_path)) - File.write!(file_path, module_contents) + {_key, %{"defs" => defs}}, acc -> + nested_defs = + defs + |> Enum.reduce(%{}, fn {def_name, def_value}, nested_acc -> + collect_definition(def_value, def_name) + |> Map.merge(nested_acc) + end) + + Map.merge(acc, nested_defs) + + {_key, _value}, acc -> + acc + end) + + definitions + end end - def generate_schema_module(id, name, schema_def) do - context = to_module_context(id) - module_name = to_module_name(id, name) + # ------------------------------- + # DependencyResolver Module + # ------------------------------- + + defmodule DependencyResolver do + @moduledoc false + + alias Mix.Tasks.GenSchemas.Utils + + @doc """ + Sorts definitions based on their dependencies. + """ + def sort_definitions(defs_map) do + graph = :digraph.new() - # Prepare struct and typespecs - fields = extract_fields(name, schema_def) - required = Enum.map(schema_def["required"] || [], &String.to_atom/1) - typespecs = generate_typespecs(context, name, schema_def) + try do + Enum.each(defs_map, fn {{lexicon_id, name}, definition} -> + vertex = {lexicon_id, name} + :digraph.add_vertex(graph, vertex) - module_contents = """ - defmodule #{module_name} do - @moduledoc "Generated schema for #{name}" + refs = Utils.collect_references(lexicon_id, definition) - #{if required != [], do: "@enforce_keys #{inspect(required)}", else: ""} - defstruct #{inspect(fields)} + Enum.each(refs, fn {ref_id, ref_name} -> + :digraph.add_vertex(graph, {ref_id, ref_name}) + :digraph.add_edge(graph, {ref_id, ref_name}, vertex) + end) + end) - @type t :: %__MODULE__{ - #{Enum.join(typespecs, ",\n ")} - } + sorted_vertices = :digraph_utils.topsort(graph) + + if sorted_vertices == false do + Mix.shell().info("Circular dependency detected. Proceeding with arbitrary order.") + vertices = :digraph.vertices(graph) + {:ok, vertices} + else + {:ok, sorted_vertices} + end + after + :digraph.delete(graph) + end end + end + + # ------------------------------- + # Generator Module + # ------------------------------- + + defmodule Generator do + @moduledoc false + + alias Mix.Tasks.GenSchemas.{TypeMapper, Utils, Context} + + @doc """ + Generates Elixir modules based on the schema definitions. """ + def generate_schema_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) do + type = definition["type"] + + module_name = Utils.module_name(lexicon_id, name) + + unless MapSet.member?(context.generated_modules, module_name) do + context = %Context{ + context + | generated_modules: MapSet.put(context.generated_modules, module_name) + } + + case type do + "object" -> + generate_object_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) + + "record" -> + record_definition = Map.put(definition["record"], "name", name) + + generate_schema_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: record_definition + }) + + "token" -> + generate_token_module(module_name, name, definition, context.output_dir) + + "query" -> + generate_query_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) + + "procedure" -> + generate_procedure_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) + + _ -> + typespec = + TypeMapper.type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: definition + }) + + module_contents = Utils.render_type_module(module_name, name, definition, typespec) + Utils.write_module_file(module_name, module_contents, context.output_dir) + end + end + end + + def generate_query_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) do + module_name = Utils.module_name(lexicon_id, name) + description = Map.get(definition || %{}, "description", "No description provided.") + + # Process parameters or input + input_typespec = + cond do + Map.has_key?(definition, "parameters") -> + TypeMapper.type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: Utils.extract_schema(definition["parameters"]) + }) + + Map.has_key?(definition, "input") -> + TypeMapper.type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: Utils.extract_schema(definition["input"]) + }) + + true -> + nil + end - # Write the module to a file - file_path = - Path.join(["lib", Macro.underscore(context), "#{Macro.underscore(name)}.ex"]) + # Process output + output_typespec = + if Map.has_key?(definition, "output") do + TypeMapper.type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: Utils.extract_schema(definition["output"]) + }) + else + nil + end - File.mkdir_p!(Path.dirname(file_path)) - File.write!(file_path, module_contents) + # Process errors + error_types = + if Map.has_key?(definition, "errors") do + Enum.map(definition["errors"], fn error_def -> + error_name = error_def["name"] + + # Generate a module for the error + error_module_name = Utils.module_name(lexicon_id, "#{name}Error#{error_name}") + + error_definition = + Map.put(error_def["schema"] || %{}, "name", "#{name}Error#{error_name}") + + generate_schema_module(%{ + context: context, + lexicon_id: lexicon_id, + name: "#{name}Error#{error_name}", + definition: error_definition + }) + + "#{inspect(error_module_name)}.t()" + end) + else + [] + end + + typespecs = [] + + typespecs = + if input_typespec do + [{"input", input_typespec} | typespecs] + else + typespecs + end + + typespecs = + if output_typespec do + [{"output", output_typespec} | typespecs] + else + typespecs + end + + typespecs_content = Utils.render_typespecs(typespecs) + + # If there are errors, define a @type error + error_typespec = Utils.render_error_typespec(error_types) + + module_contents = """ + # This module was generated by Mix.Tasks.GenSchemas + defmodule #{inspect(module_name)} do + @moduledoc \"\"\" + Generated query module for #{name} + + **Description**: #{description} + \"\"\" + + #{typespecs_content} + #{error_typespec} + end + """ + + Utils.write_module_file(module_name, module_contents, context.output_dir) + end + + def generate_procedure_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) do + module_name = Utils.module_name(lexicon_id, name) + description = Map.get(definition || %{}, "description", "No description provided.") + + # Process input + input_typespec = + if Map.has_key?(definition, "input") do + TypeMapper.type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: Utils.extract_schema(definition["input"]) + }) + else + nil + end + + # Process output + output_typespec = + if Map.has_key?(definition, "output") do + TypeMapper.type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: Utils.extract_schema(definition["output"]) + }) + else + nil + end + + # Process errors + error_types = + if Map.has_key?(definition, "errors") do + Enum.map(definition["errors"], fn error_def -> + error_name = error_def["name"] + + # Generate a module for the error + error_module_name = Utils.module_name(lexicon_id, "#{name}Error#{error_name}") + + error_definition = + Map.put(error_def["schema"] || %{}, "name", "#{name}Error#{error_name}") + + generate_schema_module(%{ + context: context, + lexicon_id: lexicon_id, + name: "#{name}Error#{error_name}", + definition: error_definition + }) + + "#{inspect(error_module_name)}.t()" + end) + else + [] + end + + typespecs = [] + + typespecs = + if input_typespec do + [{"input", input_typespec} | typespecs] + else + typespecs + end + + typespecs = + if output_typespec do + [{"output", output_typespec} | typespecs] + else + typespecs + end + + typespecs_content = Utils.render_typespecs(typespecs) + + # If there are errors, define a @type error + error_typespec = Utils.render_error_typespec(error_types) + + module_contents = """ + # This module was generated by Mix.Tasks.GenSchemas + defmodule #{inspect(module_name)} do + @moduledoc \"\"\" + Generated procedure module for #{name} + + **Description**: #{description} + \"\"\" + + #{typespecs_content} + #{error_typespec} + end + """ + + Utils.write_module_file(module_name, module_contents, context.output_dir) + end + + def generate_object_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) do + module_name = Utils.module_name(lexicon_id, name) + properties = Map.get(definition, "properties", %{}) + required_fields = Utils.get_required_fields(definition) + nullable_fields = Utils.get_nullable_fields(definition) + fields = Utils.get_fields(properties) + + typespecs = + Enum.map(properties, fn {field_name, prop_def} -> + field_atom = Utils.field_name_to_atom(field_name) + + field_typespec = + TypeMapper.type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: prop_def + }) + + field_typespec = + if field_atom in nullable_fields do + "#{field_typespec} | nil" + else + field_typespec + end + + {field_atom, field_typespec} + end) + + module_contents = + Utils.render_object_module( + module_name, + name, + definition, + fields, + required_fields, + typespecs + ) + + Utils.write_module_file(module_name, module_contents, context.output_dir) + end + + def generate_token_module(module_name, name, definition, output_dir) do + module_contents = Utils.render_token_module(module_name, name, definition) + Utils.write_module_file(module_name, module_contents, output_dir) + end end - defp to_module_name(id, name) do - context = to_module_context(id) + # ------------------------------- + # TypeMapper Module + # ------------------------------- + + defmodule TypeMapper do + @moduledoc false + + alias Mix.Tasks.GenSchemas.{Utils, Generator} + + @doc """ + Maps lexicon types to Elixir typespecs. + """ + def type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: definition + }) do + type = definition["type"] + + cond do + type == "null" -> "nil" + type == "boolean" -> "boolean()" + type == "integer" -> "integer()" + type == "float" -> "float()" + type == "string" -> string_type(definition) + type == "bytes" -> "binary()" + type == "cid-link" -> "binary()" + type == "blob" -> "binary()" + type == "array" -> array_type(context, lexicon_id, definition) + type in ["object", "params"] -> object_type(context, lexicon_id, definition) + type == "token" -> "atom()" + type == "ref" -> ref_type(context, lexicon_id, definition) + type == "union" -> union_type(context, lexicon_id, definition) + type == "unknown" -> "any()" + true -> "any()" + end + end + + defp string_type(definition) do + cond do + definition["const"] -> + Utils.atom_literal(definition["const"]) + + definition["knownValues"] -> + Enum.map_join(definition["knownValues"], " | ", &Utils.atom_literal/1) + + definition["enum"] -> + Enum.map_join(definition["enum"], " | ", &Utils.atom_literal/1) + + true -> + "String.t()" + end + end + + defp array_type(context, lexicon_id, definition) do + items = definition["items"] + + item_type = + type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: items + }) + + "list(#{item_type})" + end + + defp object_type(context, lexicon_id, definition) do + case Map.get(definition, "name") do + nil -> + inline_object_type(context, lexicon_id, definition) - String.replace("#{context}.#{Macro.camelize(name)}", "Elixir.", "") + name -> + module_name = Utils.module_name(lexicon_id, name) + + Generator.generate_object_module(%{ + context: context, + lexicon_id: lexicon_id, + name: name, + definition: definition + }) + + "#{inspect(module_name)}.t()" + end + end + + defp inline_object_type(context, lexicon_id, definition) do + properties = Map.get(definition, "properties", %{}) + nullable_fields = Map.get(definition, "nullable", []) + + typespecs = + Enum.map(properties, fn {field_name, prop_def} -> + field_atom = Utils.field_name_to_atom(field_name) + + field_typespec = + type_to_elixir(%{ + context: context, + lexicon_id: lexicon_id, + definition: prop_def + }) + + field_typespec = + if field_name in nullable_fields do + "#{field_typespec} | nil" + else + field_typespec + end + + "#{field_atom}: #{field_typespec}" + end) + + "%{#{Enum.join(typespecs, ", ")}}" + end + + defp ref_type(context, lexicon_id, definition) do + ref = definition["ref"] + {ref_id, ref_name} = Utils.parse_ref(lexicon_id, ref) + + ref_definition = + get_definition(context, ref_id, ref_name) + + if ref_definition do + Generator.generate_schema_module(%{ + context: context, + lexicon_id: ref_id, + name: ref_name, + definition: ref_definition + }) + + module_name = Utils.module_name(ref_id, ref_name) + "#{inspect(module_name)}.t()" + else + raise "Cannot resolve reference to #{ref_id}##{ref_name}" + end + end + + defp union_type(context, lexicon_id, definition) do + refs = definition["refs"] || [] + + types = + Enum.map(refs, fn ref -> + {ref_id, ref_name} = Utils.parse_ref(lexicon_id, ref) + + ref_definition = + get_definition(context, ref_id, ref_name) + + if ref_definition do + Generator.generate_schema_module(%{ + context: context, + lexicon_id: ref_id, + name: ref_name, + definition: ref_definition + }) + + module_name = Utils.module_name(ref_id, ref_name) + "#{inspect(module_name)}.t()" + else + raise "Cannot resolve reference to #{ref_id}##{ref_name}" + end + end) + + Enum.join(types, " | ") + end + + defp get_definition(context, ref_id, name) do + Map.get(context.defs_map, {ref_id, name}) + end end - defp to_module_context("app.bsky" <> _), do: Bsky - defp to_module_context("chat.bsky" <> _), do: Bsky - defp to_module_context("com.atproto" <> _), do: Atproto - defp to_module_context("tools.ozone" <> _), do: Ozone + # ------------------------------- + # Utils Module + # ------------------------------- + + defmodule Utils do + @moduledoc false + + @doc """ + Decodes JSON content and handles errors. + """ + def decode_json(content) do + case Jason.decode(content) do + {:ok, data} -> {:ok, data} + error -> error + end + end + + @doc """ + Parses a reference string into lexicon ID and name. + """ + def parse_ref(current_id, ref) do + cond do + String.starts_with?(ref, "#") -> + {current_id, String.trim_leading(ref, "#")} + + String.contains?(ref, "#") -> + [nsid, local_name] = String.split(ref, "#") + {nsid, local_name} + + true -> + {ref, "main"} + end + end + + @doc """ + Collects all references from a definition for dependency resolution. + """ + def collect_references(lexicon_id, definition) do + do_collect_refs(lexicon_id, definition, []) + |> Enum.uniq() + end + + defp do_collect_refs(current_id, %{"type" => "ref", "ref" => ref}, acc) do + {ref_id, ref_name} = parse_ref(current_id, ref) + [{ref_id, ref_name} | acc] + end + + defp do_collect_refs(current_id, %{"type" => "union", "refs" => refs}, acc) do + Enum.reduce(refs, acc, fn ref, acc_inner -> + {ref_id, ref_name} = parse_ref(current_id, ref) + [{ref_id, ref_name} | acc_inner] + end) + end + + defp do_collect_refs(current_id, %{"properties" => properties}, acc) do + Enum.reduce(properties, acc, fn {_key, value}, acc_inner -> + do_collect_refs(current_id, value, acc_inner) + end) + end + + defp do_collect_refs(current_id, %{"items" => items}, acc) do + do_collect_refs(current_id, items, acc) + end + + defp do_collect_refs(current_id, %{"parameters" => parameters}, acc) do + Enum.reduce(parameters, acc, fn {_key, value}, acc_inner -> + do_collect_refs(current_id, value, acc_inner) + end) + end + + defp do_collect_refs(current_id, %{"input" => input}, acc) do + do_collect_refs(current_id, input, acc) + end + + defp do_collect_refs(current_id, %{"output" => output}, acc) do + do_collect_refs(current_id, output, acc) + end + + defp do_collect_refs(current_id, %{"schema" => schema}, acc) do + do_collect_refs(current_id, schema, acc) + end + + defp do_collect_refs(current_id, %{"errors" => errors}, acc) do + Enum.reduce(errors, acc, fn error_def, acc_inner -> + if Map.has_key?(error_def, "schema") do + do_collect_refs(current_id, error_def["schema"], acc_inner) + else + acc_inner + end + end) + end + + defp do_collect_refs(_current_id, _other, acc), do: acc - defp extract_fields(_name, %{"properties" => properties}) do - Enum.map(properties, fn {field_name, _props} -> + @doc """ + Extracts the schema from a definition if present. + """ + def extract_schema(definition) when is_map(definition) do + if Map.has_key?(definition, "schema") do + Map.get(definition, "schema") + else + definition + end + end + + @doc """ + Converts a field name to an atom, handling snake_case conversion. + """ + def field_name_to_atom(field_name) do field_name |> Macro.underscore() |> String.to_atom() - end) - end + end - defp generate_typespecs(id, _, %{"properties" => properties}) do - Enum.map(properties, fn {field_name, props} -> - name = field_name |> Macro.underscore() |> String.to_atom() - "#{name}: #{type_to_elixir(id, props)}" - end) - end + @doc """ + Generates the module name from lexicon ID and definition name. + """ + def module_name(lexicon_id, name) do + module_parts = + ["ProtoRune" | lexicon_id_to_module_parts(lexicon_id)] ++ + name_to_module_parts(name) - defp generate_typespecs(_id, name, %{"type" => "string", "knownValues" => enum}) do - name = name |> Macro.underscore() |> String.to_atom() + Module.concat(module_parts) + end - ["#{name}: #{Enum.map_join(enum, " | ", &"#{Macro.underscore(":#{&1}")}")}"] - end + defp lexicon_id_to_module_parts(lexicon_id) do + lexicon_id + |> String.split(".") + |> Enum.map(&Macro.camelize/1) + end - defp type_to_elixir(_, %{"type" => "string", "knownValues" => enum}) do - Enum.map_join(enum, " | ", &"#{Macro.underscore(":#{&1}")}") - end + defp name_to_module_parts("main"), do: [] - defp type_to_elixir(_, %{"type" => "string"}), do: "String.t()" - defp type_to_elixir(_, %{"type" => "integer"}), do: "integer" - defp type_to_elixir(_, %{"type" => "boolean"}), do: "boolean" + defp name_to_module_parts(name) do + name + |> String.split("#") + |> Enum.map(&Macro.camelize/1) + end - defp type_to_elixir(id, %{"type" => "array", "items" => item_props}) do - "list(#{type_to_elixir(id, item_props)})" - end + @doc """ + Writes the generated module contents to a file, using the provided output directory. + """ + def write_module_file(module_name, module_contents, output_dir) do + file_path = + module_name + |> Module.split() + |> tl() + |> Enum.map(&Macro.underscore/1) + |> Path.join() + |> (&Path.join(output_dir, "#{&1}.ex")).() - defp type_to_elixir(id, %{"type" => "union", "refs" => refs}) do - Enum.map_join(refs, " | ", &"#{ref_to_module(id, &1)}.t()") - end + File.mkdir_p!(Path.dirname(file_path)) + File.write!(file_path, module_contents) + end - defp type_to_elixir(id, %{"type" => "ref", "ref" => ref}) do - "#{ref_to_module(id, ref)}.t()" - end + @doc """ + Renders a type module. + """ + def render_type_module(module_name, name, definition, typespec) do + description = Map.get(definition || %{}, "description", "No description provided.") + + """ + # This module was generated by Mix.Tasks.GenSchemas + defmodule #{inspect(module_name)} do + @moduledoc \"\"\" + Generated schema for #{name} + + **Description**: #{description} + \"\"\" + + @type t :: #{typespec} + end + """ + end + + @doc """ + Renders an object module. + """ + def render_object_module(module_name, name, definition, fields, required_fields, typespecs) do + description = Map.get(definition || %{}, "description", "No description provided.") + + enforce_keys = + if required_fields != [], do: "@enforce_keys #{inspect(required_fields)}", else: "" + + # Use keyword list for defstruct + struct_fields = fields |> Enum.map(&{&1, nil}) + + typespecs_lines = + Enum.map_join(typespecs, ",\n", fn {field_atom, typespec} -> + " #{field_atom}: #{typespec}" + end) + + """ + # This module was generated by Mix.Tasks.GenSchemas + defmodule #{inspect(module_name)} do + @moduledoc \"\"\" + Generated schema for #{name} - # Handle refs to other modules - defp ref_to_module(id, ref) do - ref - |> String.split("#") - |> List.last() - |> Macro.camelize() - |> then(&"#{id}.#{&1}") - |> String.replace("Elixir.", "") + **Description**: #{description} + \"\"\" + + #{enforce_keys} + defstruct #{inspect(struct_fields)} + + @type t :: %__MODULE__{ + #{typespecs_lines} + } + end + """ + end + + @doc """ + Renders a token module. + """ + def render_token_module(module_name, name, definition) do + description = Map.get(definition || %{}, "description", "No description provided.") + + """ + # This module was generated by Mix.Tasks.GenSchemas + defmodule #{inspect(module_name)} do + @moduledoc \"\"\" + Token type for #{name} + + **Description**: #{description} + \"\"\" + + @type t :: atom() + end + """ + end + + @doc """ + Renders typespecs for input and output. + """ + def render_typespecs(typespecs) do + Enum.map_join(typespecs, "\n", fn {name, typespec} -> + "@type #{name} :: #{typespec}" + end) + end + + @doc """ + Renders the error typespec. + """ + def render_error_typespec(error_types) do + case error_types do + [] -> "" + _ -> "@type error :: #{Enum.join(error_types, " | ")}" + end + end + + @valid_atom ~r/^[A-Za-z_][A-Za-z0-9_]*[!?]?$/ + + @doc """ + Converts a value to an atom literal for typespecs. + """ + def atom_literal(value) do + if value =~ @valid_atom do + ":#{String.replace(value, "\"", "\\\"")}" + else + ":\"#{String.replace(value, "\"", "\\\"")}\"" + end + end + + @doc """ + Retrieves required fields from a definition. + """ + def get_required_fields(definition) do + Map.get(definition, "required", []) + |> Enum.map(&field_name_to_atom/1) + end + + @doc """ + Retrieves nullable fields from a definition. + """ + def get_nullable_fields(definition) do + Map.get(definition, "nullable", []) + |> Enum.map(&field_name_to_atom/1) + end + + @doc """ + Retrieves all fields from properties. + """ + def get_fields(properties) do + Map.keys(properties) + |> Enum.map(&field_name_to_atom/1) + end end end diff --git a/lib/proto_rune/app/bsky/actor/defs/adult_content_pref.ex b/lib/proto_rune/app/bsky/actor/defs/adult_content_pref.ex new file mode 100644 index 0000000..37cb4d6 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/adult_content_pref.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.AdultContentPref do + @moduledoc """ + Generated schema for adultContentPref + + **Description**: No description provided. + """ + + @enforce_keys [:enabled] + defstruct enabled: nil + + @type t :: %__MODULE__{ + enabled: boolean() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/bsky_app_progress_guide.ex b/lib/proto_rune/app/bsky/actor/defs/bsky_app_progress_guide.ex new file mode 100644 index 0000000..b33e2cd --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/bsky_app_progress_guide.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.BskyAppProgressGuide do + @moduledoc """ + Generated schema for bskyAppProgressGuide + + **Description**: If set, an active progress guide. Once completed, can be set to undefined. Should have unspecced fields tracking progress. + """ + + @enforce_keys [:guide] + defstruct guide: nil + + @type t :: %__MODULE__{ + guide: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/bsky_app_state_pref.ex b/lib/proto_rune/app/bsky/actor/defs/bsky_app_state_pref.ex new file mode 100644 index 0000000..d6203f0 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/bsky_app_state_pref.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.BskyAppStatePref do + @moduledoc """ + Generated schema for bskyAppStatePref + + **Description**: A grab bag of state that's specific to the bsky.app program. Third-party apps shouldn't use this. + """ + + defstruct active_progress_guide: nil, nuxs: nil, queued_nudges: nil + + @type t :: %__MODULE__{ + active_progress_guide: ProtoRune.App.Bsky.Actor.Defs.BskyAppProgressGuide.t(), + nuxs: list(ProtoRune.App.Bsky.Actor.Defs.Nux.t()), + queued_nudges: list(String.t()) + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/content_label_pref.ex b/lib/proto_rune/app/bsky/actor/defs/content_label_pref.ex new file mode 100644 index 0000000..01b5ace --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/content_label_pref.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.ContentLabelPref do + @moduledoc """ + Generated schema for contentLabelPref + + **Description**: No description provided. + """ + + @enforce_keys [:label, :visibility] + defstruct label: nil, labeler_did: nil, visibility: nil + + @type t :: %__MODULE__{ + label: String.t(), + labeler_did: String.t(), + visibility: :ignore | :show | :warn | :hide + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/feed_view_pref.ex b/lib/proto_rune/app/bsky/actor/defs/feed_view_pref.ex new file mode 100644 index 0000000..d4fd8fb --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/feed_view_pref.ex @@ -0,0 +1,25 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.FeedViewPref do + @moduledoc """ + Generated schema for feedViewPref + + **Description**: No description provided. + """ + + @enforce_keys [:feed] + defstruct feed: nil, + hide_quote_posts: nil, + hide_replies: nil, + hide_replies_by_like_count: nil, + hide_replies_by_unfollowed: nil, + hide_reposts: nil + + @type t :: %__MODULE__{ + feed: String.t(), + hide_quote_posts: boolean(), + hide_replies: boolean(), + hide_replies_by_like_count: integer(), + hide_replies_by_unfollowed: boolean(), + hide_reposts: boolean() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/hidden_posts_pref.ex b/lib/proto_rune/app/bsky/actor/defs/hidden_posts_pref.ex new file mode 100644 index 0000000..d935361 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/hidden_posts_pref.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.HiddenPostsPref do + @moduledoc """ + Generated schema for hiddenPostsPref + + **Description**: No description provided. + """ + + @enforce_keys [:items] + defstruct items: nil + + @type t :: %__MODULE__{ + items: list(String.t()) + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/interests_pref.ex b/lib/proto_rune/app/bsky/actor/defs/interests_pref.ex new file mode 100644 index 0000000..d632130 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/interests_pref.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.InterestsPref do + @moduledoc """ + Generated schema for interestsPref + + **Description**: No description provided. + """ + + @enforce_keys [:tags] + defstruct tags: nil + + @type t :: %__MODULE__{ + tags: list(String.t()) + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/known_followers.ex b/lib/proto_rune/app/bsky/actor/defs/known_followers.ex new file mode 100644 index 0000000..17c77be --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/known_followers.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.KnownFollowers do + @moduledoc """ + Generated schema for knownFollowers + + **Description**: The subject's followers whom you also follow + """ + + @enforce_keys [:count, :followers] + defstruct count: nil, followers: nil + + @type t :: %__MODULE__{ + count: integer(), + followers: list(ProtoRune.App.Bsky.Actor.Defs.ProfileViewBasic.t()) + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/labeler_pref_item.ex b/lib/proto_rune/app/bsky/actor/defs/labeler_pref_item.ex new file mode 100644 index 0000000..3d91c98 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/labeler_pref_item.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.LabelerPrefItem do + @moduledoc """ + Generated schema for labelerPrefItem + + **Description**: No description provided. + """ + + @enforce_keys [:did] + defstruct did: nil + + @type t :: %__MODULE__{ + did: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/labelers_pref.ex b/lib/proto_rune/app/bsky/actor/defs/labelers_pref.ex new file mode 100644 index 0000000..96c565a --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/labelers_pref.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.LabelersPref do + @moduledoc """ + Generated schema for labelersPref + + **Description**: No description provided. + """ + + @enforce_keys [:labelers] + defstruct labelers: nil + + @type t :: %__MODULE__{ + labelers: list(ProtoRune.App.Bsky.Actor.Defs.LabelerPrefItem.t()) + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/muted_word.ex b/lib/proto_rune/app/bsky/actor/defs/muted_word.ex new file mode 100644 index 0000000..fa6434f --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/muted_word.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.MutedWord do + @moduledoc """ + Generated schema for mutedWord + + **Description**: A word that the account owner has muted. + """ + + @enforce_keys [:value, :targets] + defstruct actor_target: nil, expires_at: nil, id: nil, targets: nil, value: nil + + @type t :: %__MODULE__{ + actor_target: :all | :"exclude-following", + expires_at: String.t(), + id: String.t(), + targets: list(ProtoRune.App.Bsky.Actor.Defs.MutedWordTarget.t()), + value: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/muted_word_target.ex b/lib/proto_rune/app/bsky/actor/defs/muted_word_target.ex new file mode 100644 index 0000000..17ed094 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/muted_word_target.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.MutedWordTarget do + @moduledoc """ + Generated schema for mutedWordTarget + + **Description**: No description provided. + """ + + @type t :: :content | :tag +end diff --git a/lib/proto_rune/app/bsky/actor/defs/muted_words_pref.ex b/lib/proto_rune/app/bsky/actor/defs/muted_words_pref.ex new file mode 100644 index 0000000..ab6d5db --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/muted_words_pref.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.MutedWordsPref do + @moduledoc """ + Generated schema for mutedWordsPref + + **Description**: No description provided. + """ + + @enforce_keys [:items] + defstruct items: nil + + @type t :: %__MODULE__{ + items: list(ProtoRune.App.Bsky.Actor.Defs.MutedWord.t()) + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/nux.ex b/lib/proto_rune/app/bsky/actor/defs/nux.ex new file mode 100644 index 0000000..b66533b --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/nux.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.Nux do + @moduledoc """ + Generated schema for nux + + **Description**: A new user experiences (NUX) storage object + """ + + @enforce_keys [:id, :completed] + defstruct completed: nil, data: nil, expires_at: nil, id: nil + + @type t :: %__MODULE__{ + completed: boolean(), + data: String.t(), + expires_at: String.t(), + id: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/personal_details_pref.ex b/lib/proto_rune/app/bsky/actor/defs/personal_details_pref.ex new file mode 100644 index 0000000..f0a7316 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/personal_details_pref.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.PersonalDetailsPref do + @moduledoc """ + Generated schema for personalDetailsPref + + **Description**: No description provided. + """ + + defstruct birth_date: nil + + @type t :: %__MODULE__{ + birth_date: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/preferences.ex b/lib/proto_rune/app/bsky/actor/defs/preferences.ex new file mode 100644 index 0000000..0e21aaa --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/preferences.ex @@ -0,0 +1,22 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.Preferences do + @moduledoc """ + Generated schema for preferences + + **Description**: No description provided. + """ + + @type t :: + ProtoRune.App.Bsky.Actor.Defs.AdultContentPref.t() + | ProtoRune.App.Bsky.Actor.Defs.ContentLabelPref.t() + | ProtoRune.App.Bsky.Actor.Defs.SavedFeedsPref.t() + | ProtoRune.App.Bsky.Actor.Defs.SavedFeedsPrefV2.t() + | ProtoRune.App.Bsky.Actor.Defs.PersonalDetailsPref.t() + | ProtoRune.App.Bsky.Actor.Defs.FeedViewPref.t() + | ProtoRune.App.Bsky.Actor.Defs.ThreadViewPref.t() + | ProtoRune.App.Bsky.Actor.Defs.InterestsPref.t() + | ProtoRune.App.Bsky.Actor.Defs.MutedWordsPref.t() + | ProtoRune.App.Bsky.Actor.Defs.HiddenPostsPref.t() + | ProtoRune.App.Bsky.Actor.Defs.BskyAppStatePref.t() + | ProtoRune.App.Bsky.Actor.Defs.LabelersPref.t() +end diff --git a/lib/proto_rune/app/bsky/actor/defs/profile_associated.ex b/lib/proto_rune/app/bsky/actor/defs/profile_associated.ex new file mode 100644 index 0000000..ff4e2be --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/profile_associated.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.ProfileAssociated do + @moduledoc """ + Generated schema for profileAssociated + + **Description**: No description provided. + """ + + defstruct chat: nil, feedgens: nil, labeler: nil, lists: nil, starter_packs: nil + + @type t :: %__MODULE__{ + chat: ProtoRune.App.Bsky.Actor.Defs.ProfileAssociatedChat.t(), + feedgens: integer(), + labeler: boolean(), + lists: integer(), + starter_packs: integer() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/profile_associated_chat.ex b/lib/proto_rune/app/bsky/actor/defs/profile_associated_chat.ex new file mode 100644 index 0000000..261b8e9 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/profile_associated_chat.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.ProfileAssociatedChat do + @moduledoc """ + Generated schema for profileAssociatedChat + + **Description**: No description provided. + """ + + @enforce_keys [:allow_incoming] + defstruct allow_incoming: nil + + @type t :: %__MODULE__{ + allow_incoming: :all | :none | :following + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/profile_view.ex b/lib/proto_rune/app/bsky/actor/defs/profile_view.ex new file mode 100644 index 0000000..1dab8cf --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/profile_view.ex @@ -0,0 +1,33 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.ProfileView do + @moduledoc """ + Generated schema for profileView + + **Description**: No description provided. + """ + + @enforce_keys [:did, :handle] + defstruct associated: nil, + avatar: nil, + created_at: nil, + description: nil, + did: nil, + display_name: nil, + handle: nil, + indexed_at: nil, + labels: nil, + viewer: nil + + @type t :: %__MODULE__{ + associated: ProtoRune.App.Bsky.Actor.Defs.ProfileAssociated.t(), + avatar: String.t(), + created_at: String.t(), + description: String.t(), + did: String.t(), + display_name: String.t(), + handle: String.t(), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + viewer: ProtoRune.App.Bsky.Actor.Defs.ViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/profile_view_basic.ex b/lib/proto_rune/app/bsky/actor/defs/profile_view_basic.ex new file mode 100644 index 0000000..80e4b1d --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/profile_view_basic.ex @@ -0,0 +1,29 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.ProfileViewBasic do + @moduledoc """ + Generated schema for profileViewBasic + + **Description**: No description provided. + """ + + @enforce_keys [:did, :handle] + defstruct associated: nil, + avatar: nil, + created_at: nil, + did: nil, + display_name: nil, + handle: nil, + labels: nil, + viewer: nil + + @type t :: %__MODULE__{ + associated: ProtoRune.App.Bsky.Actor.Defs.ProfileAssociated.t(), + avatar: String.t(), + created_at: String.t(), + did: String.t(), + display_name: String.t(), + handle: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + viewer: ProtoRune.App.Bsky.Actor.Defs.ViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/profile_view_detailed.ex b/lib/proto_rune/app/bsky/actor/defs/profile_view_detailed.ex new file mode 100644 index 0000000..20450c9 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/profile_view_detailed.ex @@ -0,0 +1,43 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.ProfileViewDetailed do + @moduledoc """ + Generated schema for profileViewDetailed + + **Description**: No description provided. + """ + + @enforce_keys [:did, :handle] + defstruct associated: nil, + avatar: nil, + banner: nil, + created_at: nil, + description: nil, + did: nil, + display_name: nil, + followers_count: nil, + follows_count: nil, + handle: nil, + indexed_at: nil, + joined_via_starter_pack: nil, + labels: nil, + posts_count: nil, + viewer: nil + + @type t :: %__MODULE__{ + associated: ProtoRune.App.Bsky.Actor.Defs.ProfileAssociated.t(), + avatar: String.t(), + banner: String.t(), + created_at: String.t(), + description: String.t(), + did: String.t(), + display_name: String.t(), + followers_count: integer(), + follows_count: integer(), + handle: String.t(), + indexed_at: String.t(), + joined_via_starter_pack: ProtoRune.App.Bsky.Graph.Defs.StarterPackViewBasic.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + posts_count: integer(), + viewer: ProtoRune.App.Bsky.Actor.Defs.ViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/saved_feed.ex b/lib/proto_rune/app/bsky/actor/defs/saved_feed.ex new file mode 100644 index 0000000..59a248f --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/saved_feed.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.SavedFeed do + @moduledoc """ + Generated schema for savedFeed + + **Description**: No description provided. + """ + + @type t :: String.t() +end diff --git a/lib/proto_rune/app/bsky/actor/defs/saved_feeds_pref.ex b/lib/proto_rune/app/bsky/actor/defs/saved_feeds_pref.ex new file mode 100644 index 0000000..1c18ffe --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/saved_feeds_pref.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.SavedFeedsPref do + @moduledoc """ + Generated schema for savedFeedsPref + + **Description**: No description provided. + """ + + @enforce_keys [:pinned, :saved] + defstruct pinned: nil, saved: nil, timeline_index: nil + + @type t :: %__MODULE__{ + pinned: list(String.t()), + saved: list(String.t()), + timeline_index: integer() + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/saved_feeds_pref_v2.ex b/lib/proto_rune/app/bsky/actor/defs/saved_feeds_pref_v2.ex new file mode 100644 index 0000000..9042fb3 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/saved_feeds_pref_v2.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.SavedFeedsPrefV2 do + @moduledoc """ + Generated schema for savedFeedsPrefV2 + + **Description**: No description provided. + """ + + @enforce_keys [:items] + defstruct items: nil + + @type t :: %__MODULE__{ + items: list(ProtoRune.App.Bsky.Actor.Defs.SavedFeed.t()) + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/thread_view_pref.ex b/lib/proto_rune/app/bsky/actor/defs/thread_view_pref.ex new file mode 100644 index 0000000..5f4c19d --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/thread_view_pref.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.ThreadViewPref do + @moduledoc """ + Generated schema for threadViewPref + + **Description**: No description provided. + """ + + defstruct prioritize_followed_users: nil, sort: nil + + @type t :: %__MODULE__{ + prioritize_followed_users: boolean(), + sort: :oldest | :newest | :"most-likes" | :random + } +end diff --git a/lib/proto_rune/app/bsky/actor/defs/viewer_state.ex b/lib/proto_rune/app/bsky/actor/defs/viewer_state.ex new file mode 100644 index 0000000..0a75e60 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/defs/viewer_state.ex @@ -0,0 +1,28 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Defs.ViewerState do + @moduledoc """ + Generated schema for viewerState + + **Description**: Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests. + """ + + defstruct blocked_by: nil, + blocking: nil, + blocking_by_list: nil, + followed_by: nil, + following: nil, + known_followers: nil, + muted: nil, + muted_by_list: nil + + @type t :: %__MODULE__{ + blocked_by: boolean(), + blocking: String.t(), + blocking_by_list: ProtoRune.App.Bsky.Graph.Defs.ListViewBasic.t(), + followed_by: String.t(), + following: String.t(), + known_followers: ProtoRune.App.Bsky.Actor.Defs.KnownFollowers.t(), + muted: boolean(), + muted_by_list: ProtoRune.App.Bsky.Graph.Defs.ListViewBasic.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/get_preferences.ex b/lib/proto_rune/app/bsky/actor/get_preferences.ex new file mode 100644 index 0000000..c6e19d8 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/get_preferences.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.GetPreferences do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{} +end diff --git a/lib/proto_rune/app/bsky/actor/get_profile.ex b/lib/proto_rune/app/bsky/actor/get_profile.ex new file mode 100644 index 0000000..3664fa3 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/get_profile.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.GetProfile do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t()} +end diff --git a/lib/proto_rune/app/bsky/actor/get_profiles.ex b/lib/proto_rune/app/bsky/actor/get_profiles.ex new file mode 100644 index 0000000..3188041 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/get_profiles.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.GetProfiles do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actors: list(String.t())} +end diff --git a/lib/proto_rune/app/bsky/actor/get_suggestions.ex b/lib/proto_rune/app/bsky/actor/get_suggestions.ex new file mode 100644 index 0000000..ec2cec7 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/get_suggestions.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.GetSuggestions do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/actor/profile.ex b/lib/proto_rune/app/bsky/actor/profile.ex new file mode 100644 index 0000000..6d9848d --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/profile.ex @@ -0,0 +1,26 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.Profile do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + defstruct avatar: nil, + banner: nil, + created_at: nil, + description: nil, + display_name: nil, + joined_via_starter_pack: nil, + labels: nil + + @type t :: %__MODULE__{ + avatar: binary(), + banner: binary(), + created_at: String.t(), + description: String.t(), + display_name: String.t(), + joined_via_starter_pack: ProtoRune.Com.Atproto.Repo.StrongRef.t(), + labels: ProtoRune.Com.Atproto.Label.Defs.SelfLabels.t() + } +end diff --git a/lib/proto_rune/app/bsky/actor/put_preferences.ex b/lib/proto_rune/app/bsky/actor/put_preferences.ex new file mode 100644 index 0000000..108c667 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/put_preferences.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.PutPreferences do + @moduledoc """ + Generated procedure module for main + + **Description**: Set the private preferences attached to the account. + """ + + @type input :: %{preferences: ProtoRune.App.Bsky.Actor.Defs.Preferences.t()} +end diff --git a/lib/proto_rune/app/bsky/actor/search_actors.ex b/lib/proto_rune/app/bsky/actor/search_actors.ex new file mode 100644 index 0000000..32e9df4 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/search_actors.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.SearchActors do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer(), q: String.t(), term: String.t()} +end diff --git a/lib/proto_rune/app/bsky/actor/search_actors_typeahead.ex b/lib/proto_rune/app/bsky/actor/search_actors_typeahead.ex new file mode 100644 index 0000000..ad387d6 --- /dev/null +++ b/lib/proto_rune/app/bsky/actor/search_actors_typeahead.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Actor.SearchActorsTypeahead do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{limit: integer(), q: String.t(), term: String.t()} +end diff --git a/lib/proto_rune/app/bsky/embed/defs/aspect_ratio.ex b/lib/proto_rune/app/bsky/embed/defs/aspect_ratio.ex new file mode 100644 index 0000000..694f157 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/defs/aspect_ratio.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Defs.AspectRatio do + @moduledoc """ + Generated schema for aspectRatio + + **Description**: width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. + """ + + @enforce_keys [:width, :height] + defstruct height: nil, width: nil + + @type t :: %__MODULE__{ + height: integer(), + width: integer() + } +end diff --git a/lib/proto_rune/app/bsky/embed/external.ex b/lib/proto_rune/app/bsky/embed/external.ex new file mode 100644 index 0000000..c2ad001 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/external.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.External do + @moduledoc """ + Generated schema for main + + **Description**: A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post). + """ + + @enforce_keys [:external] + defstruct external: nil + + @type t :: %__MODULE__{ + external: ProtoRune.App.Bsky.Embed.External.External.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/external/external.ex b/lib/proto_rune/app/bsky/embed/external/external.ex new file mode 100644 index 0000000..c13f628 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/external/external.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.External.External do + @moduledoc """ + Generated schema for external + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :title, :description] + defstruct description: nil, thumb: nil, title: nil, uri: nil + + @type t :: %__MODULE__{ + description: String.t(), + thumb: binary(), + title: String.t(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/external/view.ex b/lib/proto_rune/app/bsky/embed/external/view.ex new file mode 100644 index 0000000..4393b49 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/external/view.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.External.View do + @moduledoc """ + Generated schema for view + + **Description**: No description provided. + """ + + @enforce_keys [:external] + defstruct external: nil + + @type t :: %__MODULE__{ + external: ProtoRune.App.Bsky.Embed.External.ViewExternal.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/external/view_external.ex b/lib/proto_rune/app/bsky/embed/external/view_external.ex new file mode 100644 index 0000000..3ec09d8 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/external/view_external.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.External.ViewExternal do + @moduledoc """ + Generated schema for viewExternal + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :title, :description] + defstruct description: nil, thumb: nil, title: nil, uri: nil + + @type t :: %__MODULE__{ + description: String.t(), + thumb: String.t(), + title: String.t(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/images.ex b/lib/proto_rune/app/bsky/embed/images.ex new file mode 100644 index 0000000..748ee81 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/images.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Images do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:images] + defstruct images: nil + + @type t :: %__MODULE__{ + images: list(ProtoRune.App.Bsky.Embed.Images.Image.t()) + } +end diff --git a/lib/proto_rune/app/bsky/embed/images/image.ex b/lib/proto_rune/app/bsky/embed/images/image.ex new file mode 100644 index 0000000..30c550d --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/images/image.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Images.Image do + @moduledoc """ + Generated schema for image + + **Description**: No description provided. + """ + + @enforce_keys [:image, :alt] + defstruct alt: nil, aspect_ratio: nil, image: nil + + @type t :: %__MODULE__{ + alt: String.t(), + aspect_ratio: ProtoRune.App.Bsky.Embed.Defs.AspectRatio.t(), + image: binary() + } +end diff --git a/lib/proto_rune/app/bsky/embed/images/view.ex b/lib/proto_rune/app/bsky/embed/images/view.ex new file mode 100644 index 0000000..76aba56 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/images/view.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Images.View do + @moduledoc """ + Generated schema for view + + **Description**: No description provided. + """ + + @enforce_keys [:images] + defstruct images: nil + + @type t :: %__MODULE__{ + images: list(ProtoRune.App.Bsky.Embed.Images.ViewImage.t()) + } +end diff --git a/lib/proto_rune/app/bsky/embed/images/view_image.ex b/lib/proto_rune/app/bsky/embed/images/view_image.ex new file mode 100644 index 0000000..ec106e8 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/images/view_image.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Images.ViewImage do + @moduledoc """ + Generated schema for viewImage + + **Description**: No description provided. + """ + + @enforce_keys [:thumb, :fullsize, :alt] + defstruct alt: nil, aspect_ratio: nil, fullsize: nil, thumb: nil + + @type t :: %__MODULE__{ + alt: String.t(), + aspect_ratio: ProtoRune.App.Bsky.Embed.Defs.AspectRatio.t(), + fullsize: String.t(), + thumb: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/record.ex b/lib/proto_rune/app/bsky/embed/record.ex new file mode 100644 index 0000000..575dd4a --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/record.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Record do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:record] + defstruct record: nil + + @type t :: %__MODULE__{ + record: ProtoRune.Com.Atproto.Repo.StrongRef.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/record/view.ex b/lib/proto_rune/app/bsky/embed/record/view.ex new file mode 100644 index 0000000..d827d85 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/record/view.ex @@ -0,0 +1,23 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Record.View do + @moduledoc """ + Generated schema for view + + **Description**: No description provided. + """ + + @enforce_keys [:record] + defstruct record: nil + + @type t :: %__MODULE__{ + record: + ProtoRune.App.Bsky.Embed.Record.ViewRecord.t() + | ProtoRune.App.Bsky.Embed.Record.ViewNotFound.t() + | ProtoRune.App.Bsky.Embed.Record.ViewBlocked.t() + | ProtoRune.App.Bsky.Embed.Record.ViewDetached.t() + | ProtoRune.App.Bsky.Feed.Defs.GeneratorView.t() + | ProtoRune.App.Bsky.Graph.Defs.ListView.t() + | ProtoRune.App.Bsky.Labeler.Defs.LabelerView.t() + | ProtoRune.App.Bsky.Graph.Defs.StarterPackViewBasic.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/record/view_blocked.ex b/lib/proto_rune/app/bsky/embed/record/view_blocked.ex new file mode 100644 index 0000000..4df144e --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/record/view_blocked.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Record.ViewBlocked do + @moduledoc """ + Generated schema for viewBlocked + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :blocked, :author] + defstruct author: nil, blocked: nil, uri: nil + + @type t :: %__MODULE__{ + author: ProtoRune.App.Bsky.Feed.Defs.BlockedAuthor.t(), + blocked: boolean(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/record/view_detached.ex b/lib/proto_rune/app/bsky/embed/record/view_detached.ex new file mode 100644 index 0000000..0357923 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/record/view_detached.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Record.ViewDetached do + @moduledoc """ + Generated schema for viewDetached + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :detached] + defstruct detached: nil, uri: nil + + @type t :: %__MODULE__{ + detached: boolean(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/record/view_not_found.ex b/lib/proto_rune/app/bsky/embed/record/view_not_found.ex new file mode 100644 index 0000000..8f3ef98 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/record/view_not_found.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Record.ViewNotFound do + @moduledoc """ + Generated schema for viewNotFound + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :not_found] + defstruct not_found: nil, uri: nil + + @type t :: %__MODULE__{ + not_found: boolean(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/record/view_record.ex b/lib/proto_rune/app/bsky/embed/record/view_record.ex new file mode 100644 index 0000000..355210e --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/record/view_record.ex @@ -0,0 +1,42 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Record.ViewRecord do + @moduledoc """ + Generated schema for viewRecord + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :author, :value, :indexed_at] + defstruct author: nil, + cid: nil, + embeds: nil, + indexed_at: nil, + labels: nil, + like_count: nil, + quote_count: nil, + reply_count: nil, + repost_count: nil, + uri: nil, + value: nil + + @type t :: %__MODULE__{ + author: ProtoRune.App.Bsky.Actor.Defs.ProfileViewBasic.t(), + cid: String.t(), + embeds: + list( + ProtoRune.App.Bsky.Embed.Images.View.t() + | ProtoRune.App.Bsky.Embed.Video.View.t() + | ProtoRune.App.Bsky.Embed.External.View.t() + | ProtoRune.App.Bsky.Embed.Record.View.t() + | ProtoRune.App.Bsky.Embed.RecordWithMedia.View.t() + ), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + like_count: integer(), + quote_count: integer(), + reply_count: integer(), + repost_count: integer(), + uri: String.t(), + value: any() + } +end diff --git a/lib/proto_rune/app/bsky/embed/record_with_media.ex b/lib/proto_rune/app/bsky/embed/record_with_media.ex new file mode 100644 index 0000000..56bff40 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/record_with_media.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.RecordWithMedia do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:record, :media] + defstruct media: nil, record: nil + + @type t :: %__MODULE__{ + media: + ProtoRune.App.Bsky.Embed.Images.t() + | ProtoRune.App.Bsky.Embed.Video.t() + | ProtoRune.App.Bsky.Embed.External.t(), + record: ProtoRune.App.Bsky.Embed.Record.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/record_with_media/view.ex b/lib/proto_rune/app/bsky/embed/record_with_media/view.ex new file mode 100644 index 0000000..eb66a48 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/record_with_media/view.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.RecordWithMedia.View do + @moduledoc """ + Generated schema for view + + **Description**: No description provided. + """ + + @enforce_keys [:record, :media] + defstruct media: nil, record: nil + + @type t :: %__MODULE__{ + media: + ProtoRune.App.Bsky.Embed.Images.View.t() + | ProtoRune.App.Bsky.Embed.Video.View.t() + | ProtoRune.App.Bsky.Embed.External.View.t(), + record: ProtoRune.App.Bsky.Embed.Record.View.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/video.ex b/lib/proto_rune/app/bsky/embed/video.ex new file mode 100644 index 0000000..1bf3e78 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/video.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Video do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:video] + defstruct alt: nil, aspect_ratio: nil, captions: nil, video: nil + + @type t :: %__MODULE__{ + alt: String.t(), + aspect_ratio: ProtoRune.App.Bsky.Embed.Defs.AspectRatio.t(), + captions: list(ProtoRune.App.Bsky.Embed.Video.Caption.t()), + video: binary() + } +end diff --git a/lib/proto_rune/app/bsky/embed/video/caption.ex b/lib/proto_rune/app/bsky/embed/video/caption.ex new file mode 100644 index 0000000..81b0454 --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/video/caption.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Video.Caption do + @moduledoc """ + Generated schema for caption + + **Description**: No description provided. + """ + + @enforce_keys [:lang, :file] + defstruct file: nil, lang: nil + + @type t :: %__MODULE__{ + file: binary(), + lang: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/embed/video/view.ex b/lib/proto_rune/app/bsky/embed/video/view.ex new file mode 100644 index 0000000..3a63b3d --- /dev/null +++ b/lib/proto_rune/app/bsky/embed/video/view.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Embed.Video.View do + @moduledoc """ + Generated schema for view + + **Description**: No description provided. + """ + + @enforce_keys [:cid, :playlist] + defstruct alt: nil, aspect_ratio: nil, cid: nil, playlist: nil, thumbnail: nil + + @type t :: %__MODULE__{ + alt: String.t(), + aspect_ratio: ProtoRune.App.Bsky.Embed.Defs.AspectRatio.t(), + cid: String.t(), + playlist: String.t(), + thumbnail: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/blocked_author.ex b/lib/proto_rune/app/bsky/feed/defs/blocked_author.ex new file mode 100644 index 0000000..794da1f --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/blocked_author.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.BlockedAuthor do + @moduledoc """ + Generated schema for blockedAuthor + + **Description**: No description provided. + """ + + @enforce_keys [:did] + defstruct did: nil, viewer: nil + + @type t :: %__MODULE__{ + did: String.t(), + viewer: ProtoRune.App.Bsky.Actor.Defs.ViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/blocked_post.ex b/lib/proto_rune/app/bsky/feed/defs/blocked_post.ex new file mode 100644 index 0000000..9d4cf61 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/blocked_post.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.BlockedPost do + @moduledoc """ + Generated schema for blockedPost + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :blocked, :author] + defstruct author: nil, blocked: nil, uri: nil + + @type t :: %__MODULE__{ + author: ProtoRune.App.Bsky.Feed.Defs.BlockedAuthor.t(), + blocked: boolean(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/clickthrough_author.ex b/lib/proto_rune/app/bsky/feed/defs/clickthrough_author.ex new file mode 100644 index 0000000..425fe69 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/clickthrough_author.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ClickthroughAuthor do + @moduledoc """ + Token type for clickthroughAuthor + + **Description**: User clicked through to the author of the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/clickthrough_embed.ex b/lib/proto_rune/app/bsky/feed/defs/clickthrough_embed.ex new file mode 100644 index 0000000..7da6b49 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/clickthrough_embed.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ClickthroughEmbed do + @moduledoc """ + Token type for clickthroughEmbed + + **Description**: User clicked through to the embedded content of the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/clickthrough_item.ex b/lib/proto_rune/app/bsky/feed/defs/clickthrough_item.ex new file mode 100644 index 0000000..9c7c92c --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/clickthrough_item.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ClickthroughItem do + @moduledoc """ + Token type for clickthroughItem + + **Description**: User clicked through to the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/clickthrough_reposter.ex b/lib/proto_rune/app/bsky/feed/defs/clickthrough_reposter.ex new file mode 100644 index 0000000..6ddb591 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/clickthrough_reposter.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ClickthroughReposter do + @moduledoc """ + Token type for clickthroughReposter + + **Description**: User clicked through to the reposter of the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/feed_view_post.ex b/lib/proto_rune/app/bsky/feed/defs/feed_view_post.ex new file mode 100644 index 0000000..a3eca9d --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/feed_view_post.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.FeedViewPost do + @moduledoc """ + Generated schema for feedViewPost + + **Description**: No description provided. + """ + + @enforce_keys [:post] + defstruct feed_context: nil, post: nil, reason: nil, reply: nil + + @type t :: %__MODULE__{ + feed_context: String.t(), + post: ProtoRune.App.Bsky.Feed.Defs.PostView.t(), + reason: ProtoRune.App.Bsky.Feed.Defs.ReasonRepost.t(), + reply: ProtoRune.App.Bsky.Feed.Defs.ReplyRef.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/generator_view.ex b/lib/proto_rune/app/bsky/feed/defs/generator_view.ex new file mode 100644 index 0000000..d95391b --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/generator_view.ex @@ -0,0 +1,39 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.GeneratorView do + @moduledoc """ + Generated schema for generatorView + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :did, :creator, :display_name, :indexed_at] + defstruct accepts_interactions: nil, + avatar: nil, + cid: nil, + creator: nil, + description: nil, + description_facets: nil, + did: nil, + display_name: nil, + indexed_at: nil, + labels: nil, + like_count: nil, + uri: nil, + viewer: nil + + @type t :: %__MODULE__{ + accepts_interactions: boolean(), + avatar: String.t(), + cid: String.t(), + creator: ProtoRune.App.Bsky.Actor.Defs.ProfileView.t(), + description: String.t(), + description_facets: list(ProtoRune.App.Bsky.Richtext.Facet.t()), + did: String.t(), + display_name: String.t(), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + like_count: integer(), + uri: String.t(), + viewer: ProtoRune.App.Bsky.Feed.Defs.GeneratorViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/generator_viewer_state.ex b/lib/proto_rune/app/bsky/feed/defs/generator_viewer_state.ex new file mode 100644 index 0000000..2fe6766 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/generator_viewer_state.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.GeneratorViewerState do + @moduledoc """ + Generated schema for generatorViewerState + + **Description**: No description provided. + """ + + defstruct like: nil + + @type t :: %__MODULE__{ + like: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/interaction.ex b/lib/proto_rune/app/bsky/feed/defs/interaction.ex new file mode 100644 index 0000000..ee70425 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/interaction.ex @@ -0,0 +1,28 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.Interaction do + @moduledoc """ + Generated schema for interaction + + **Description**: No description provided. + """ + + defstruct event: nil, feed_context: nil, item: nil + + @type t :: %__MODULE__{ + event: + :"app.bsky.feed.defs#requestLess" + | :"app.bsky.feed.defs#requestMore" + | :"app.bsky.feed.defs#clickthroughItem" + | :"app.bsky.feed.defs#clickthroughAuthor" + | :"app.bsky.feed.defs#clickthroughReposter" + | :"app.bsky.feed.defs#clickthroughEmbed" + | :"app.bsky.feed.defs#interactionSeen" + | :"app.bsky.feed.defs#interactionLike" + | :"app.bsky.feed.defs#interactionRepost" + | :"app.bsky.feed.defs#interactionReply" + | :"app.bsky.feed.defs#interactionQuote" + | :"app.bsky.feed.defs#interactionShare", + feed_context: String.t(), + item: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/interaction_like.ex b/lib/proto_rune/app/bsky/feed/defs/interaction_like.ex new file mode 100644 index 0000000..ac976c3 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/interaction_like.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.InteractionLike do + @moduledoc """ + Token type for interactionLike + + **Description**: User liked the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/interaction_quote.ex b/lib/proto_rune/app/bsky/feed/defs/interaction_quote.ex new file mode 100644 index 0000000..b672390 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/interaction_quote.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.InteractionQuote do + @moduledoc """ + Token type for interactionQuote + + **Description**: User quoted the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/interaction_reply.ex b/lib/proto_rune/app/bsky/feed/defs/interaction_reply.ex new file mode 100644 index 0000000..f50aaf6 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/interaction_reply.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.InteractionReply do + @moduledoc """ + Token type for interactionReply + + **Description**: User replied to the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/interaction_repost.ex b/lib/proto_rune/app/bsky/feed/defs/interaction_repost.ex new file mode 100644 index 0000000..e2fd0d6 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/interaction_repost.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.InteractionRepost do + @moduledoc """ + Token type for interactionRepost + + **Description**: User reposted the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/interaction_seen.ex b/lib/proto_rune/app/bsky/feed/defs/interaction_seen.ex new file mode 100644 index 0000000..147d94c --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/interaction_seen.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.InteractionSeen do + @moduledoc """ + Token type for interactionSeen + + **Description**: Feed item was seen by user + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/interaction_share.ex b/lib/proto_rune/app/bsky/feed/defs/interaction_share.ex new file mode 100644 index 0000000..76f243c --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/interaction_share.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.InteractionShare do + @moduledoc """ + Token type for interactionShare + + **Description**: User shared the feed item + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/not_found_post.ex b/lib/proto_rune/app/bsky/feed/defs/not_found_post.ex new file mode 100644 index 0000000..55f1552 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/not_found_post.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.NotFoundPost do + @moduledoc """ + Generated schema for notFoundPost + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :not_found] + defstruct not_found: nil, uri: nil + + @type t :: %__MODULE__{ + not_found: boolean(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/post_view.ex b/lib/proto_rune/app/bsky/feed/defs/post_view.ex new file mode 100644 index 0000000..36e647c --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/post_view.ex @@ -0,0 +1,44 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.PostView do + @moduledoc """ + Generated schema for postView + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :author, :record, :indexed_at] + defstruct author: nil, + cid: nil, + embed: nil, + indexed_at: nil, + labels: nil, + like_count: nil, + quote_count: nil, + record: nil, + reply_count: nil, + repost_count: nil, + threadgate: nil, + uri: nil, + viewer: nil + + @type t :: %__MODULE__{ + author: ProtoRune.App.Bsky.Actor.Defs.ProfileViewBasic.t(), + cid: String.t(), + embed: + ProtoRune.App.Bsky.Embed.Images.View.t() + | ProtoRune.App.Bsky.Embed.Video.View.t() + | ProtoRune.App.Bsky.Embed.External.View.t() + | ProtoRune.App.Bsky.Embed.Record.View.t() + | ProtoRune.App.Bsky.Embed.RecordWithMedia.View.t(), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + like_count: integer(), + quote_count: integer(), + record: any(), + reply_count: integer(), + repost_count: integer(), + threadgate: ProtoRune.App.Bsky.Feed.Defs.ThreadgateView.t(), + uri: String.t(), + viewer: ProtoRune.App.Bsky.Feed.Defs.ViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/reason_repost.ex b/lib/proto_rune/app/bsky/feed/defs/reason_repost.ex new file mode 100644 index 0000000..13dd222 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/reason_repost.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ReasonRepost do + @moduledoc """ + Generated schema for reasonRepost + + **Description**: No description provided. + """ + + @enforce_keys [:by, :indexed_at] + defstruct by: nil, indexed_at: nil + + @type t :: %__MODULE__{ + by: ProtoRune.App.Bsky.Actor.Defs.ProfileViewBasic.t(), + indexed_at: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/reply_ref.ex b/lib/proto_rune/app/bsky/feed/defs/reply_ref.ex new file mode 100644 index 0000000..24399af --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/reply_ref.ex @@ -0,0 +1,23 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ReplyRef do + @moduledoc """ + Generated schema for replyRef + + **Description**: No description provided. + """ + + @enforce_keys [:root, :parent] + defstruct grandparent_author: nil, parent: nil, root: nil + + @type t :: %__MODULE__{ + grandparent_author: ProtoRune.App.Bsky.Actor.Defs.ProfileViewBasic.t(), + parent: + ProtoRune.App.Bsky.Feed.Defs.PostView.t() + | ProtoRune.App.Bsky.Feed.Defs.NotFoundPost.t() + | ProtoRune.App.Bsky.Feed.Defs.BlockedPost.t(), + root: + ProtoRune.App.Bsky.Feed.Defs.PostView.t() + | ProtoRune.App.Bsky.Feed.Defs.NotFoundPost.t() + | ProtoRune.App.Bsky.Feed.Defs.BlockedPost.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/request_less.ex b/lib/proto_rune/app/bsky/feed/defs/request_less.ex new file mode 100644 index 0000000..bb60dfc --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/request_less.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.RequestLess do + @moduledoc """ + Token type for requestLess + + **Description**: Request that less content like the given feed item be shown in the feed + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/request_more.ex b/lib/proto_rune/app/bsky/feed/defs/request_more.ex new file mode 100644 index 0000000..cbfbd7a --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/request_more.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.RequestMore do + @moduledoc """ + Token type for requestMore + + **Description**: Request that more content like the given feed item be shown in the feed + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/feed/defs/skeleton_feed_post.ex b/lib/proto_rune/app/bsky/feed/defs/skeleton_feed_post.ex new file mode 100644 index 0000000..b7dde92 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/skeleton_feed_post.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.SkeletonFeedPost do + @moduledoc """ + Generated schema for skeletonFeedPost + + **Description**: No description provided. + """ + + @enforce_keys [:post] + defstruct feed_context: nil, post: nil, reason: nil + + @type t :: %__MODULE__{ + feed_context: String.t(), + post: String.t(), + reason: ProtoRune.App.Bsky.Feed.Defs.SkeletonReasonRepost.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/skeleton_reason_repost.ex b/lib/proto_rune/app/bsky/feed/defs/skeleton_reason_repost.ex new file mode 100644 index 0000000..9f36124 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/skeleton_reason_repost.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.SkeletonReasonRepost do + @moduledoc """ + Generated schema for skeletonReasonRepost + + **Description**: No description provided. + """ + + @enforce_keys [:repost] + defstruct repost: nil + + @type t :: %__MODULE__{ + repost: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/thread_view_post.ex b/lib/proto_rune/app/bsky/feed/defs/thread_view_post.ex new file mode 100644 index 0000000..dee46b5 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/thread_view_post.ex @@ -0,0 +1,25 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ThreadViewPost do + @moduledoc """ + Generated schema for threadViewPost + + **Description**: No description provided. + """ + + @enforce_keys [:post] + defstruct parent: nil, post: nil, replies: nil + + @type t :: %__MODULE__{ + parent: + ProtoRune.App.Bsky.Feed.Defs.ThreadViewPost.t() + | ProtoRune.App.Bsky.Feed.Defs.NotFoundPost.t() + | ProtoRune.App.Bsky.Feed.Defs.BlockedPost.t(), + post: ProtoRune.App.Bsky.Feed.Defs.PostView.t(), + replies: + list( + ProtoRune.App.Bsky.Feed.Defs.ThreadViewPost.t() + | ProtoRune.App.Bsky.Feed.Defs.NotFoundPost.t() + | ProtoRune.App.Bsky.Feed.Defs.BlockedPost.t() + ) + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/threadgate_view.ex b/lib/proto_rune/app/bsky/feed/defs/threadgate_view.ex new file mode 100644 index 0000000..27b0c7e --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/threadgate_view.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ThreadgateView do + @moduledoc """ + Generated schema for threadgateView + + **Description**: No description provided. + """ + + defstruct cid: nil, lists: nil, record: nil, uri: nil + + @type t :: %__MODULE__{ + cid: String.t(), + lists: list(ProtoRune.App.Bsky.Graph.Defs.ListViewBasic.t()), + record: any(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/defs/viewer_state.ex b/lib/proto_rune/app/bsky/feed/defs/viewer_state.ex new file mode 100644 index 0000000..59120b3 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/defs/viewer_state.ex @@ -0,0 +1,22 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Defs.ViewerState do + @moduledoc """ + Generated schema for viewerState + + **Description**: Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests. + """ + + defstruct embedding_disabled: nil, + like: nil, + reply_disabled: nil, + repost: nil, + thread_muted: nil + + @type t :: %__MODULE__{ + embedding_disabled: boolean(), + like: String.t(), + reply_disabled: boolean(), + repost: String.t(), + thread_muted: boolean() + } +end diff --git a/lib/proto_rune/app/bsky/feed/describe_feed_generator.ex b/lib/proto_rune/app/bsky/feed/describe_feed_generator.ex new file mode 100644 index 0000000..a02efa9 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/describe_feed_generator.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.DescribeFeedGenerator do + @moduledoc """ + Generated query module for main + + **Description**: Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View). + """ + + @type output :: %{ + did: String.t(), + feeds: list(ProtoRune.App.Bsky.Feed.DescribeFeedGenerator.Feed.t()), + links: ProtoRune.App.Bsky.Feed.DescribeFeedGenerator.Links.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/describe_feed_generator/feed.ex b/lib/proto_rune/app/bsky/feed/describe_feed_generator/feed.ex new file mode 100644 index 0000000..43094ae --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/describe_feed_generator/feed.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.DescribeFeedGenerator.Feed do + @moduledoc """ + Generated schema for feed + + **Description**: No description provided. + """ + + @enforce_keys [:uri] + defstruct uri: nil + + @type t :: %__MODULE__{ + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/describe_feed_generator/links.ex b/lib/proto_rune/app/bsky/feed/describe_feed_generator/links.ex new file mode 100644 index 0000000..d2e25e7 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/describe_feed_generator/links.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.DescribeFeedGenerator.Links do + @moduledoc """ + Generated schema for links + + **Description**: No description provided. + """ + + defstruct privacy_policy: nil, terms_of_service: nil + + @type t :: %__MODULE__{ + privacy_policy: String.t(), + terms_of_service: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/generator.ex b/lib/proto_rune/app/bsky/feed/generator.ex new file mode 100644 index 0000000..c17a111 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/generator.ex @@ -0,0 +1,29 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Generator do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:did, :display_name, :created_at] + defstruct accepts_interactions: nil, + avatar: nil, + created_at: nil, + description: nil, + description_facets: nil, + did: nil, + display_name: nil, + labels: nil + + @type t :: %__MODULE__{ + accepts_interactions: boolean(), + avatar: binary(), + created_at: String.t(), + description: String.t(), + description_facets: list(ProtoRune.App.Bsky.Richtext.Facet.t()), + did: String.t(), + display_name: String.t(), + labels: ProtoRune.Com.Atproto.Label.Defs.SelfLabels.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/get_actor_feeds.ex b/lib/proto_rune/app/bsky/feed/get_actor_feeds.ex new file mode 100644 index 0000000..b8dc9b9 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_actor_feeds.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetActorFeeds do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_actor_likes.ex b/lib/proto_rune/app/bsky/feed/get_actor_likes.ex new file mode 100644 index 0000000..b912191 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_actor_likes.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetActorLikes do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_author_feed.ex b/lib/proto_rune/app/bsky/feed/get_author_feed.ex new file mode 100644 index 0000000..ac3cbda --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_author_feed.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetAuthorFeed do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + actor: String.t(), + cursor: String.t(), + filter: + :posts_with_replies + | :posts_no_replies + | :posts_with_media + | :posts_and_author_threads, + limit: integer() + } +end diff --git a/lib/proto_rune/app/bsky/feed/get_feed.ex b/lib/proto_rune/app/bsky/feed/get_feed.ex new file mode 100644 index 0000000..0d06d6f --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_feed.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetFeed do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), feed: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_feed_generator.ex b/lib/proto_rune/app/bsky/feed/get_feed_generator.ex new file mode 100644 index 0000000..3f5492f --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_feed_generator.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetFeedGenerator do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{feed: String.t()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_feed_generators.ex b/lib/proto_rune/app/bsky/feed/get_feed_generators.ex new file mode 100644 index 0000000..0546f76 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_feed_generators.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetFeedGenerators do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{feeds: list(String.t())} +end diff --git a/lib/proto_rune/app/bsky/feed/get_feed_skeleton.ex b/lib/proto_rune/app/bsky/feed/get_feed_skeleton.ex new file mode 100644 index 0000000..6e7fcbf --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_feed_skeleton.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetFeedSkeleton do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), feed: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_likes.ex b/lib/proto_rune/app/bsky/feed/get_likes.ex new file mode 100644 index 0000000..bbdfc23 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_likes.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetLikes do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cid: String.t(), cursor: String.t(), limit: integer(), uri: String.t()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_likes/like.ex b/lib/proto_rune/app/bsky/feed/get_likes/like.ex new file mode 100644 index 0000000..1697b60 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_likes/like.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetLikes.Like do + @moduledoc """ + Generated schema for like + + **Description**: No description provided. + """ + + @enforce_keys [:indexed_at, :created_at, :actor] + defstruct actor: nil, created_at: nil, indexed_at: nil + + @type t :: %__MODULE__{ + actor: ProtoRune.App.Bsky.Actor.Defs.ProfileView.t(), + created_at: String.t(), + indexed_at: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/get_list_feed.ex b/lib/proto_rune/app/bsky/feed/get_list_feed.ex new file mode 100644 index 0000000..afbf900 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_list_feed.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetListFeed do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer(), list: String.t()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_post_thread.ex b/lib/proto_rune/app/bsky/feed/get_post_thread.ex new file mode 100644 index 0000000..40d07a2 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_post_thread.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetPostThread do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{depth: integer(), parent_height: integer(), uri: String.t()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_posts.ex b/lib/proto_rune/app/bsky/feed/get_posts.ex new file mode 100644 index 0000000..2462f09 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_posts.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetPosts do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{uris: list(String.t())} +end diff --git a/lib/proto_rune/app/bsky/feed/get_quotes.ex b/lib/proto_rune/app/bsky/feed/get_quotes.ex new file mode 100644 index 0000000..ca81f5c --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_quotes.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetQuotes do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cid: String.t(), cursor: String.t(), limit: integer(), uri: String.t()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_reposted_by.ex b/lib/proto_rune/app/bsky/feed/get_reposted_by.ex new file mode 100644 index 0000000..6021448 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_reposted_by.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetRepostedBy do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cid: String.t(), cursor: String.t(), limit: integer(), uri: String.t()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_suggested_feeds.ex b/lib/proto_rune/app/bsky/feed/get_suggested_feeds.ex new file mode 100644 index 0000000..c037a2d --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_suggested_feeds.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetSuggestedFeeds do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/feed/get_timeline.ex b/lib/proto_rune/app/bsky/feed/get_timeline.ex new file mode 100644 index 0000000..d4c3dc5 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/get_timeline.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.GetTimeline do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{algorithm: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/feed/like.ex b/lib/proto_rune/app/bsky/feed/like.ex new file mode 100644 index 0000000..d866c03 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/like.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Like do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:subject, :created_at] + defstruct created_at: nil, subject: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + subject: ProtoRune.Com.Atproto.Repo.StrongRef.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/post.ex b/lib/proto_rune/app/bsky/feed/post.ex new file mode 100644 index 0000000..848c436 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/post.ex @@ -0,0 +1,36 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Post do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:text, :created_at] + defstruct created_at: nil, + embed: nil, + entities: nil, + facets: nil, + labels: nil, + langs: nil, + reply: nil, + tags: nil, + text: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + embed: + ProtoRune.App.Bsky.Embed.Images.t() + | ProtoRune.App.Bsky.Embed.Video.t() + | ProtoRune.App.Bsky.Embed.External.t() + | ProtoRune.App.Bsky.Embed.Record.t() + | ProtoRune.App.Bsky.Embed.RecordWithMedia.t(), + entities: list(ProtoRune.App.Bsky.Feed.Post.Entity.t()), + facets: list(ProtoRune.App.Bsky.Richtext.Facet.t()), + labels: ProtoRune.Com.Atproto.Label.Defs.SelfLabels.t(), + langs: list(String.t()), + reply: ProtoRune.App.Bsky.Feed.Post.ReplyRef.t(), + tags: list(String.t()), + text: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/post/entity.ex b/lib/proto_rune/app/bsky/feed/post/entity.ex new file mode 100644 index 0000000..56bd84f --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/post/entity.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Post.Entity do + @moduledoc """ + Generated schema for entity + + **Description**: No description provided. + """ + + @type t :: String.t() +end diff --git a/lib/proto_rune/app/bsky/feed/post/reply_ref.ex b/lib/proto_rune/app/bsky/feed/post/reply_ref.ex new file mode 100644 index 0000000..589392d --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/post/reply_ref.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Post.ReplyRef do + @moduledoc """ + Generated schema for replyRef + + **Description**: No description provided. + """ + + @enforce_keys [:root, :parent] + defstruct parent: nil, root: nil + + @type t :: %__MODULE__{ + parent: ProtoRune.Com.Atproto.Repo.StrongRef.t(), + root: ProtoRune.Com.Atproto.Repo.StrongRef.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/post/text_slice.ex b/lib/proto_rune/app/bsky/feed/post/text_slice.ex new file mode 100644 index 0000000..27da2ea --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/post/text_slice.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Post.TextSlice do + @moduledoc """ + Generated schema for textSlice + + **Description**: Deprecated. Use app.bsky.richtext instead -- A text segment. Start is inclusive, end is exclusive. Indices are for utf16-encoded strings. + """ + + @enforce_keys [:start, :end] + defstruct end: nil, start: nil + + @type t :: %__MODULE__{ + end: integer(), + start: integer() + } +end diff --git a/lib/proto_rune/app/bsky/feed/postgate.ex b/lib/proto_rune/app/bsky/feed/postgate.ex new file mode 100644 index 0000000..bf87bf1 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/postgate.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Postgate do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:post, :created_at] + defstruct created_at: nil, detached_embedding_uris: nil, embedding_rules: nil, post: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + detached_embedding_uris: list(String.t()), + embedding_rules: list(ProtoRune.App.Bsky.Feed.Postgate.DisableRule.t()), + post: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/postgate/disable_rule.ex b/lib/proto_rune/app/bsky/feed/postgate/disable_rule.ex new file mode 100644 index 0000000..a71de85 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/postgate/disable_rule.ex @@ -0,0 +1,12 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Postgate.DisableRule do + @moduledoc """ + Generated schema for disableRule + + **Description**: Disables embedding of this post. + """ + + defstruct [] + + @type t :: %__MODULE__{} +end diff --git a/lib/proto_rune/app/bsky/feed/repost.ex b/lib/proto_rune/app/bsky/feed/repost.ex new file mode 100644 index 0000000..fab97fc --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/repost.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Repost do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:subject, :created_at] + defstruct created_at: nil, subject: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + subject: ProtoRune.Com.Atproto.Repo.StrongRef.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/search_posts.ex b/lib/proto_rune/app/bsky/feed/search_posts.ex new file mode 100644 index 0000000..5b80efd --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/search_posts.ex @@ -0,0 +1,23 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.SearchPosts do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + author: String.t(), + cursor: String.t(), + domain: String.t(), + lang: String.t(), + limit: integer(), + mentions: String.t(), + q: String.t(), + since: String.t(), + sort: :top | :latest, + tag: list(String.t()), + until: String.t(), + url: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/send_interactions.ex b/lib/proto_rune/app/bsky/feed/send_interactions.ex new file mode 100644 index 0000000..ca77e80 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/send_interactions.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.SendInteractions do + @moduledoc """ + Generated procedure module for main + + **Description**: Send information about interactions with feed items back to the feed generator that served them. + """ + + @type output :: %{} + @type input :: %{interactions: list(ProtoRune.App.Bsky.Feed.Defs.Interaction.t())} +end diff --git a/lib/proto_rune/app/bsky/feed/threadgate.ex b/lib/proto_rune/app/bsky/feed/threadgate.ex new file mode 100644 index 0000000..7569621 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/threadgate.ex @@ -0,0 +1,23 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Threadgate do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:post, :created_at] + defstruct allow: nil, created_at: nil, hidden_replies: nil, post: nil + + @type t :: %__MODULE__{ + allow: + list( + ProtoRune.App.Bsky.Feed.Threadgate.MentionRule.t() + | ProtoRune.App.Bsky.Feed.Threadgate.FollowingRule.t() + | ProtoRune.App.Bsky.Feed.Threadgate.ListRule.t() + ), + created_at: String.t(), + hidden_replies: list(String.t()), + post: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/threadgate/following_rule.ex b/lib/proto_rune/app/bsky/feed/threadgate/following_rule.ex new file mode 100644 index 0000000..ff90a4e --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/threadgate/following_rule.ex @@ -0,0 +1,12 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Threadgate.FollowingRule do + @moduledoc """ + Generated schema for followingRule + + **Description**: Allow replies from actors you follow. + """ + + defstruct [] + + @type t :: %__MODULE__{} +end diff --git a/lib/proto_rune/app/bsky/feed/threadgate/list_rule.ex b/lib/proto_rune/app/bsky/feed/threadgate/list_rule.ex new file mode 100644 index 0000000..0cc1451 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/threadgate/list_rule.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Threadgate.ListRule do + @moduledoc """ + Generated schema for listRule + + **Description**: Allow replies from actors on a list. + """ + + @enforce_keys [:list] + defstruct list: nil + + @type t :: %__MODULE__{ + list: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/feed/threadgate/mention_rule.ex b/lib/proto_rune/app/bsky/feed/threadgate/mention_rule.ex new file mode 100644 index 0000000..619f466 --- /dev/null +++ b/lib/proto_rune/app/bsky/feed/threadgate/mention_rule.ex @@ -0,0 +1,12 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Feed.Threadgate.MentionRule do + @moduledoc """ + Generated schema for mentionRule + + **Description**: Allow replies from actors mentioned in your post. + """ + + defstruct [] + + @type t :: %__MODULE__{} +end diff --git a/lib/proto_rune/app/bsky/graph/block.ex b/lib/proto_rune/app/bsky/graph/block.ex new file mode 100644 index 0000000..848d289 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/block.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Block do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:subject, :created_at] + defstruct created_at: nil, subject: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + subject: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/defs/curatelist.ex b/lib/proto_rune/app/bsky/graph/defs/curatelist.ex new file mode 100644 index 0000000..0cb8bb7 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/curatelist.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.Curatelist do + @moduledoc """ + Token type for curatelist + + **Description**: A list of actors used for curation purposes such as list feeds or interaction gating. + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/graph/defs/list_item_view.ex b/lib/proto_rune/app/bsky/graph/defs/list_item_view.ex new file mode 100644 index 0000000..7a67f01 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/list_item_view.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.ListItemView do + @moduledoc """ + Generated schema for listItemView + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :subject] + defstruct subject: nil, uri: nil + + @type t :: %__MODULE__{ + subject: ProtoRune.App.Bsky.Actor.Defs.ProfileView.t(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/defs/list_purpose.ex b/lib/proto_rune/app/bsky/graph/defs/list_purpose.ex new file mode 100644 index 0000000..f9c840f --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/list_purpose.ex @@ -0,0 +1,13 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.ListPurpose do + @moduledoc """ + Generated schema for listPurpose + + **Description**: No description provided. + """ + + @type t :: + :"app.bsky.graph.defs#modlist" + | :"app.bsky.graph.defs#curatelist" + | :"app.bsky.graph.defs#referencelist" +end diff --git a/lib/proto_rune/app/bsky/graph/defs/list_view.ex b/lib/proto_rune/app/bsky/graph/defs/list_view.ex new file mode 100644 index 0000000..f7894cf --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/list_view.ex @@ -0,0 +1,37 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.ListView do + @moduledoc """ + Generated schema for listView + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :creator, :name, :purpose, :indexed_at] + defstruct avatar: nil, + cid: nil, + creator: nil, + description: nil, + description_facets: nil, + indexed_at: nil, + labels: nil, + list_item_count: nil, + name: nil, + purpose: nil, + uri: nil, + viewer: nil + + @type t :: %__MODULE__{ + avatar: String.t(), + cid: String.t(), + creator: ProtoRune.App.Bsky.Actor.Defs.ProfileView.t(), + description: String.t(), + description_facets: list(ProtoRune.App.Bsky.Richtext.Facet.t()), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + list_item_count: integer(), + name: String.t(), + purpose: ProtoRune.App.Bsky.Graph.Defs.ListPurpose.t(), + uri: String.t(), + viewer: ProtoRune.App.Bsky.Graph.Defs.ListViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/defs/list_view_basic.ex b/lib/proto_rune/app/bsky/graph/defs/list_view_basic.ex new file mode 100644 index 0000000..f873ced --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/list_view_basic.ex @@ -0,0 +1,31 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.ListViewBasic do + @moduledoc """ + Generated schema for listViewBasic + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :name, :purpose] + defstruct avatar: nil, + cid: nil, + indexed_at: nil, + labels: nil, + list_item_count: nil, + name: nil, + purpose: nil, + uri: nil, + viewer: nil + + @type t :: %__MODULE__{ + avatar: String.t(), + cid: String.t(), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + list_item_count: integer(), + name: String.t(), + purpose: ProtoRune.App.Bsky.Graph.Defs.ListPurpose.t(), + uri: String.t(), + viewer: ProtoRune.App.Bsky.Graph.Defs.ListViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/defs/list_viewer_state.ex b/lib/proto_rune/app/bsky/graph/defs/list_viewer_state.ex new file mode 100644 index 0000000..930b56d --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/list_viewer_state.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.ListViewerState do + @moduledoc """ + Generated schema for listViewerState + + **Description**: No description provided. + """ + + defstruct blocked: nil, muted: nil + + @type t :: %__MODULE__{ + blocked: String.t(), + muted: boolean() + } +end diff --git a/lib/proto_rune/app/bsky/graph/defs/modlist.ex b/lib/proto_rune/app/bsky/graph/defs/modlist.ex new file mode 100644 index 0000000..3cf7e2e --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/modlist.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.Modlist do + @moduledoc """ + Token type for modlist + + **Description**: A list of actors to apply an aggregate moderation action (mute/block) on. + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/graph/defs/not_found_actor.ex b/lib/proto_rune/app/bsky/graph/defs/not_found_actor.ex new file mode 100644 index 0000000..d9b439c --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/not_found_actor.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.NotFoundActor do + @moduledoc """ + Generated schema for notFoundActor + + **Description**: indicates that a handle or DID could not be resolved + """ + + @enforce_keys [:actor, :not_found] + defstruct actor: nil, not_found: nil + + @type t :: %__MODULE__{ + actor: String.t(), + not_found: boolean() + } +end diff --git a/lib/proto_rune/app/bsky/graph/defs/referencelist.ex b/lib/proto_rune/app/bsky/graph/defs/referencelist.ex new file mode 100644 index 0000000..73cffa3 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/referencelist.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.Referencelist do + @moduledoc """ + Token type for referencelist + + **Description**: A list of actors used for only for reference purposes such as within a starter pack. + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/app/bsky/graph/defs/relationship.ex b/lib/proto_rune/app/bsky/graph/defs/relationship.ex new file mode 100644 index 0000000..cf33c92 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/relationship.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.Relationship do + @moduledoc """ + Generated schema for relationship + + **Description**: lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object) + """ + + @enforce_keys [:did] + defstruct did: nil, followed_by: nil, following: nil + + @type t :: %__MODULE__{ + did: String.t(), + followed_by: String.t(), + following: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/defs/starter_pack_view.ex b/lib/proto_rune/app/bsky/graph/defs/starter_pack_view.ex new file mode 100644 index 0000000..802ed4d --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/starter_pack_view.ex @@ -0,0 +1,35 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.StarterPackView do + @moduledoc """ + Generated schema for starterPackView + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :record, :creator, :indexed_at] + defstruct cid: nil, + creator: nil, + feeds: nil, + indexed_at: nil, + joined_all_time_count: nil, + joined_week_count: nil, + labels: nil, + list: nil, + list_items_sample: nil, + record: nil, + uri: nil + + @type t :: %__MODULE__{ + cid: String.t(), + creator: ProtoRune.App.Bsky.Actor.Defs.ProfileViewBasic.t(), + feeds: list(ProtoRune.App.Bsky.Feed.Defs.GeneratorView.t()), + indexed_at: String.t(), + joined_all_time_count: integer(), + joined_week_count: integer(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + list: ProtoRune.App.Bsky.Graph.Defs.ListViewBasic.t(), + list_items_sample: list(ProtoRune.App.Bsky.Graph.Defs.ListItemView.t()), + record: any(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/defs/starter_pack_view_basic.ex b/lib/proto_rune/app/bsky/graph/defs/starter_pack_view_basic.ex new file mode 100644 index 0000000..078b069 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/defs/starter_pack_view_basic.ex @@ -0,0 +1,31 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Defs.StarterPackViewBasic do + @moduledoc """ + Generated schema for starterPackViewBasic + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :record, :creator, :indexed_at] + defstruct cid: nil, + creator: nil, + indexed_at: nil, + joined_all_time_count: nil, + joined_week_count: nil, + labels: nil, + list_item_count: nil, + record: nil, + uri: nil + + @type t :: %__MODULE__{ + cid: String.t(), + creator: ProtoRune.App.Bsky.Actor.Defs.ProfileViewBasic.t(), + indexed_at: String.t(), + joined_all_time_count: integer(), + joined_week_count: integer(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + list_item_count: integer(), + record: any(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/follow.ex b/lib/proto_rune/app/bsky/graph/follow.ex new file mode 100644 index 0000000..1f93647 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/follow.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Follow do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:subject, :created_at] + defstruct created_at: nil, subject: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + subject: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/get_actor_starter_packs.ex b/lib/proto_rune/app/bsky/graph/get_actor_starter_packs.ex new file mode 100644 index 0000000..7bc07d9 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_actor_starter_packs.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetActorStarterPacks do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_blocks.ex b/lib/proto_rune/app/bsky/graph/get_blocks.ex new file mode 100644 index 0000000..cc8b159 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_blocks.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetBlocks do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_followers.ex b/lib/proto_rune/app/bsky/graph/get_followers.ex new file mode 100644 index 0000000..e1d2f5f --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_followers.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetFollowers do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_follows.ex b/lib/proto_rune/app/bsky/graph/get_follows.ex new file mode 100644 index 0000000..ff0a607 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_follows.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetFollows do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_known_followers.ex b/lib/proto_rune/app/bsky/graph/get_known_followers.ex new file mode 100644 index 0000000..bc6205a --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_known_followers.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetKnownFollowers do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_list.ex b/lib/proto_rune/app/bsky/graph/get_list.ex new file mode 100644 index 0000000..44ea9a8 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_list.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetList do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer(), list: String.t()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_list_blocks.ex b/lib/proto_rune/app/bsky/graph/get_list_blocks.ex new file mode 100644 index 0000000..66bb955 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_list_blocks.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetListBlocks do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_list_mutes.ex b/lib/proto_rune/app/bsky/graph/get_list_mutes.ex new file mode 100644 index 0000000..e61f72e --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_list_mutes.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetListMutes do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_lists.ex b/lib/proto_rune/app/bsky/graph/get_lists.ex new file mode 100644 index 0000000..99a6598 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_lists.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetLists do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_mutes.ex b/lib/proto_rune/app/bsky/graph/get_mutes.ex new file mode 100644 index 0000000..79d7bd1 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_mutes.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetMutes do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_relationships.ex b/lib/proto_rune/app/bsky/graph/get_relationships.ex new file mode 100644 index 0000000..1e85071 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_relationships.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetRelationships do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t(), others: list(String.t())} +end diff --git a/lib/proto_rune/app/bsky/graph/get_starter_pack.ex b/lib/proto_rune/app/bsky/graph/get_starter_pack.ex new file mode 100644 index 0000000..550a992 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_starter_pack.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetStarterPack do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{starter_pack: String.t()} +end diff --git a/lib/proto_rune/app/bsky/graph/get_starter_packs.ex b/lib/proto_rune/app/bsky/graph/get_starter_packs.ex new file mode 100644 index 0000000..50beee0 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_starter_packs.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetStarterPacks do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{uris: list(String.t())} +end diff --git a/lib/proto_rune/app/bsky/graph/get_suggested_follows_by_actor.ex b/lib/proto_rune/app/bsky/graph/get_suggested_follows_by_actor.ex new file mode 100644 index 0000000..ed06cdb --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/get_suggested_follows_by_actor.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.GetSuggestedFollowsByActor do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t()} +end diff --git a/lib/proto_rune/app/bsky/graph/list.ex b/lib/proto_rune/app/bsky/graph/list.ex new file mode 100644 index 0000000..ce8003f --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/list.ex @@ -0,0 +1,27 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.List do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:name, :purpose, :created_at] + defstruct avatar: nil, + created_at: nil, + description: nil, + description_facets: nil, + labels: nil, + name: nil, + purpose: nil + + @type t :: %__MODULE__{ + avatar: binary(), + created_at: String.t(), + description: String.t(), + description_facets: list(ProtoRune.App.Bsky.Richtext.Facet.t()), + labels: ProtoRune.Com.Atproto.Label.Defs.SelfLabels.t(), + name: String.t(), + purpose: ProtoRune.App.Bsky.Graph.Defs.ListPurpose.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/listblock.ex b/lib/proto_rune/app/bsky/graph/listblock.ex new file mode 100644 index 0000000..0344bff --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/listblock.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Listblock do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:subject, :created_at] + defstruct created_at: nil, subject: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + subject: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/listitem.ex b/lib/proto_rune/app/bsky/graph/listitem.ex new file mode 100644 index 0000000..3ecb146 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/listitem.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Listitem do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:subject, :list, :created_at] + defstruct created_at: nil, list: nil, subject: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + list: String.t(), + subject: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/mute_actor.ex b/lib/proto_rune/app/bsky/graph/mute_actor.ex new file mode 100644 index 0000000..8bcbfb1 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/mute_actor.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.MuteActor do + @moduledoc """ + Generated procedure module for main + + **Description**: Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth. + """ + + @type input :: %{actor: String.t()} +end diff --git a/lib/proto_rune/app/bsky/graph/mute_actor_list.ex b/lib/proto_rune/app/bsky/graph/mute_actor_list.ex new file mode 100644 index 0000000..9828e50 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/mute_actor_list.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.MuteActorList do + @moduledoc """ + Generated procedure module for main + + **Description**: Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth. + """ + + @type input :: %{list: String.t()} +end diff --git a/lib/proto_rune/app/bsky/graph/mute_thread.ex b/lib/proto_rune/app/bsky/graph/mute_thread.ex new file mode 100644 index 0000000..d8d7739 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/mute_thread.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.MuteThread do + @moduledoc """ + Generated procedure module for main + + **Description**: Mutes a thread preventing notifications from the thread and any of its children. Mutes are private in Bluesky. Requires auth. + """ + + @type input :: %{root: String.t()} +end diff --git a/lib/proto_rune/app/bsky/graph/starterpack.ex b/lib/proto_rune/app/bsky/graph/starterpack.ex new file mode 100644 index 0000000..e7d9e25 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/starterpack.ex @@ -0,0 +1,25 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Starterpack do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:name, :list, :created_at] + defstruct created_at: nil, + description: nil, + description_facets: nil, + feeds: nil, + list: nil, + name: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + description: String.t(), + description_facets: list(ProtoRune.App.Bsky.Richtext.Facet.t()), + feeds: list(ProtoRune.App.Bsky.Graph.Starterpack.FeedItem.t()), + list: String.t(), + name: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/starterpack/feed_item.ex b/lib/proto_rune/app/bsky/graph/starterpack/feed_item.ex new file mode 100644 index 0000000..cf4fdc0 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/starterpack/feed_item.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.Starterpack.FeedItem do + @moduledoc """ + Generated schema for feedItem + + **Description**: No description provided. + """ + + @enforce_keys [:uri] + defstruct uri: nil + + @type t :: %__MODULE__{ + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/graph/unmute_actor.ex b/lib/proto_rune/app/bsky/graph/unmute_actor.ex new file mode 100644 index 0000000..a2e6a68 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/unmute_actor.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.UnmuteActor do + @moduledoc """ + Generated procedure module for main + + **Description**: Unmutes the specified account. Requires auth. + """ + + @type input :: %{actor: String.t()} +end diff --git a/lib/proto_rune/app/bsky/graph/unmute_actor_list.ex b/lib/proto_rune/app/bsky/graph/unmute_actor_list.ex new file mode 100644 index 0000000..3e5d779 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/unmute_actor_list.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.UnmuteActorList do + @moduledoc """ + Generated procedure module for main + + **Description**: Unmutes the specified list of accounts. Requires auth. + """ + + @type input :: %{list: String.t()} +end diff --git a/lib/proto_rune/app/bsky/graph/unmute_thread.ex b/lib/proto_rune/app/bsky/graph/unmute_thread.ex new file mode 100644 index 0000000..8c62d99 --- /dev/null +++ b/lib/proto_rune/app/bsky/graph/unmute_thread.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Graph.UnmuteThread do + @moduledoc """ + Generated procedure module for main + + **Description**: Unmutes the specified thread. Requires auth. + """ + + @type input :: %{root: String.t()} +end diff --git a/lib/proto_rune/app/bsky/labeler/defs/labeler_policies.ex b/lib/proto_rune/app/bsky/labeler/defs/labeler_policies.ex new file mode 100644 index 0000000..4ac5273 --- /dev/null +++ b/lib/proto_rune/app/bsky/labeler/defs/labeler_policies.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Labeler.Defs.LabelerPolicies do + @moduledoc """ + Generated schema for labelerPolicies + + **Description**: No description provided. + """ + + @enforce_keys [:label_values] + defstruct label_value_definitions: nil, label_values: nil + + @type t :: %__MODULE__{ + label_value_definitions: + list(ProtoRune.Com.Atproto.Label.Defs.LabelValueDefinition.t()), + label_values: list(ProtoRune.Com.Atproto.Label.Defs.LabelValue.t()) + } +end diff --git a/lib/proto_rune/app/bsky/labeler/defs/labeler_view.ex b/lib/proto_rune/app/bsky/labeler/defs/labeler_view.ex new file mode 100644 index 0000000..13f2924 --- /dev/null +++ b/lib/proto_rune/app/bsky/labeler/defs/labeler_view.ex @@ -0,0 +1,27 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Labeler.Defs.LabelerView do + @moduledoc """ + Generated schema for labelerView + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :creator, :indexed_at] + defstruct cid: nil, + creator: nil, + indexed_at: nil, + labels: nil, + like_count: nil, + uri: nil, + viewer: nil + + @type t :: %__MODULE__{ + cid: String.t(), + creator: ProtoRune.App.Bsky.Actor.Defs.ProfileView.t(), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + like_count: integer(), + uri: String.t(), + viewer: ProtoRune.App.Bsky.Labeler.Defs.LabelerViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/labeler/defs/labeler_view_detailed.ex b/lib/proto_rune/app/bsky/labeler/defs/labeler_view_detailed.ex new file mode 100644 index 0000000..99575ce --- /dev/null +++ b/lib/proto_rune/app/bsky/labeler/defs/labeler_view_detailed.ex @@ -0,0 +1,29 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Labeler.Defs.LabelerViewDetailed do + @moduledoc """ + Generated schema for labelerViewDetailed + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :creator, :policies, :indexed_at] + defstruct cid: nil, + creator: nil, + indexed_at: nil, + labels: nil, + like_count: nil, + policies: nil, + uri: nil, + viewer: nil + + @type t :: %__MODULE__{ + cid: String.t(), + creator: ProtoRune.App.Bsky.Actor.Defs.ProfileView.t(), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + like_count: integer(), + policies: ProtoRune.App.Bsky.Labeler.Defs.LabelerPolicies.t(), + uri: String.t(), + viewer: ProtoRune.App.Bsky.Labeler.Defs.LabelerViewerState.t() + } +end diff --git a/lib/proto_rune/app/bsky/labeler/defs/labeler_viewer_state.ex b/lib/proto_rune/app/bsky/labeler/defs/labeler_viewer_state.ex new file mode 100644 index 0000000..bdcc8f8 --- /dev/null +++ b/lib/proto_rune/app/bsky/labeler/defs/labeler_viewer_state.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Labeler.Defs.LabelerViewerState do + @moduledoc """ + Generated schema for labelerViewerState + + **Description**: No description provided. + """ + + defstruct like: nil + + @type t :: %__MODULE__{ + like: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/labeler/get_services.ex b/lib/proto_rune/app/bsky/labeler/get_services.ex new file mode 100644 index 0000000..6678e90 --- /dev/null +++ b/lib/proto_rune/app/bsky/labeler/get_services.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Labeler.GetServices do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{detailed: boolean(), dids: list(String.t())} +end diff --git a/lib/proto_rune/app/bsky/labeler/service.ex b/lib/proto_rune/app/bsky/labeler/service.ex new file mode 100644 index 0000000..d94c792 --- /dev/null +++ b/lib/proto_rune/app/bsky/labeler/service.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Labeler.Service do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:policies, :created_at] + defstruct created_at: nil, labels: nil, policies: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + labels: ProtoRune.Com.Atproto.Label.Defs.SelfLabels.t(), + policies: ProtoRune.App.Bsky.Labeler.Defs.LabelerPolicies.t() + } +end diff --git a/lib/proto_rune/app/bsky/notification/get_unread_count.ex b/lib/proto_rune/app/bsky/notification/get_unread_count.ex new file mode 100644 index 0000000..c5ff8d3 --- /dev/null +++ b/lib/proto_rune/app/bsky/notification/get_unread_count.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Notification.GetUnreadCount do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{priority: boolean(), seen_at: String.t()} +end diff --git a/lib/proto_rune/app/bsky/notification/list_notifications.ex b/lib/proto_rune/app/bsky/notification/list_notifications.ex new file mode 100644 index 0000000..5422e57 --- /dev/null +++ b/lib/proto_rune/app/bsky/notification/list_notifications.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Notification.ListNotifications do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer(), priority: boolean(), seen_at: String.t()} +end diff --git a/lib/proto_rune/app/bsky/notification/list_notifications/notification.ex b/lib/proto_rune/app/bsky/notification/list_notifications/notification.ex new file mode 100644 index 0000000..bff886b --- /dev/null +++ b/lib/proto_rune/app/bsky/notification/list_notifications/notification.ex @@ -0,0 +1,31 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Notification.ListNotifications.Notification do + @moduledoc """ + Generated schema for notification + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :author, :reason, :record, :is_read, :indexed_at] + defstruct author: nil, + cid: nil, + indexed_at: nil, + is_read: nil, + labels: nil, + reason: nil, + reason_subject: nil, + record: nil, + uri: nil + + @type t :: %__MODULE__{ + author: ProtoRune.App.Bsky.Actor.Defs.ProfileView.t(), + cid: String.t(), + indexed_at: String.t(), + is_read: boolean(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + reason: :like | :repost | :follow | :mention | :reply | :quote | :"starterpack-joined", + reason_subject: String.t(), + record: any(), + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/notification/put_preferences.ex b/lib/proto_rune/app/bsky/notification/put_preferences.ex new file mode 100644 index 0000000..c887ba3 --- /dev/null +++ b/lib/proto_rune/app/bsky/notification/put_preferences.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Notification.PutPreferences do + @moduledoc """ + Generated procedure module for main + + **Description**: Set notification-related preferences for an account. Requires auth. + """ + + @type input :: %{priority: boolean()} +end diff --git a/lib/proto_rune/app/bsky/notification/register_push.ex b/lib/proto_rune/app/bsky/notification/register_push.ex new file mode 100644 index 0000000..c0c3160 --- /dev/null +++ b/lib/proto_rune/app/bsky/notification/register_push.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Notification.RegisterPush do + @moduledoc """ + Generated procedure module for main + + **Description**: Register to receive push notifications, via a specified service, for the requesting account. Requires auth. + """ + + @type input :: %{ + app_id: String.t(), + platform: :ios | :android | :web, + service_did: String.t(), + token: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/notification/update_seen.ex b/lib/proto_rune/app/bsky/notification/update_seen.ex new file mode 100644 index 0000000..0a362f4 --- /dev/null +++ b/lib/proto_rune/app/bsky/notification/update_seen.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Notification.UpdateSeen do + @moduledoc """ + Generated procedure module for main + + **Description**: Notify server that the requesting account has seen notifications. Requires auth. + """ + + @type input :: %{seen_at: String.t()} +end diff --git a/lib/proto_rune/app/bsky/richtext/facet.ex b/lib/proto_rune/app/bsky/richtext/facet.ex new file mode 100644 index 0000000..08998b2 --- /dev/null +++ b/lib/proto_rune/app/bsky/richtext/facet.ex @@ -0,0 +1,21 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Richtext.Facet do + @moduledoc """ + Generated schema for main + + **Description**: Annotation of a sub-string within rich text. + """ + + @enforce_keys [:index, :features] + defstruct features: nil, index: nil + + @type t :: %__MODULE__{ + features: + list( + ProtoRune.App.Bsky.Richtext.Facet.Mention.t() + | ProtoRune.App.Bsky.Richtext.Facet.Link.t() + | ProtoRune.App.Bsky.Richtext.Facet.Tag.t() + ), + index: ProtoRune.App.Bsky.Richtext.Facet.ByteSlice.t() + } +end diff --git a/lib/proto_rune/app/bsky/richtext/facet/byte_slice.ex b/lib/proto_rune/app/bsky/richtext/facet/byte_slice.ex new file mode 100644 index 0000000..251cdd9 --- /dev/null +++ b/lib/proto_rune/app/bsky/richtext/facet/byte_slice.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Richtext.Facet.ByteSlice do + @moduledoc """ + Generated schema for byteSlice + + **Description**: Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets. + """ + + @enforce_keys [:byte_start, :byte_end] + defstruct byte_end: nil, byte_start: nil + + @type t :: %__MODULE__{ + byte_end: integer(), + byte_start: integer() + } +end diff --git a/lib/proto_rune/app/bsky/richtext/facet/link.ex b/lib/proto_rune/app/bsky/richtext/facet/link.ex new file mode 100644 index 0000000..179ea47 --- /dev/null +++ b/lib/proto_rune/app/bsky/richtext/facet/link.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Richtext.Facet.Link do + @moduledoc """ + Generated schema for link + + **Description**: Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. + """ + + @enforce_keys [:uri] + defstruct uri: nil + + @type t :: %__MODULE__{ + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/richtext/facet/mention.ex b/lib/proto_rune/app/bsky/richtext/facet/mention.ex new file mode 100644 index 0000000..a964f8b --- /dev/null +++ b/lib/proto_rune/app/bsky/richtext/facet/mention.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Richtext.Facet.Mention do + @moduledoc """ + Generated schema for mention + + **Description**: Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID. + """ + + @enforce_keys [:did] + defstruct did: nil + + @type t :: %__MODULE__{ + did: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/richtext/facet/tag.ex b/lib/proto_rune/app/bsky/richtext/facet/tag.ex new file mode 100644 index 0000000..d863c62 --- /dev/null +++ b/lib/proto_rune/app/bsky/richtext/facet/tag.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Richtext.Facet.Tag do + @moduledoc """ + Generated schema for tag + + **Description**: Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags'). + """ + + @enforce_keys [:tag] + defstruct tag: nil + + @type t :: %__MODULE__{ + tag: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/unspecced/defs/skeleton_search_actor.ex b/lib/proto_rune/app/bsky/unspecced/defs/skeleton_search_actor.ex new file mode 100644 index 0000000..d488be0 --- /dev/null +++ b/lib/proto_rune/app/bsky/unspecced/defs/skeleton_search_actor.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Unspecced.Defs.SkeletonSearchActor do + @moduledoc """ + Generated schema for skeletonSearchActor + + **Description**: No description provided. + """ + + @enforce_keys [:did] + defstruct did: nil + + @type t :: %__MODULE__{ + did: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/unspecced/defs/skeleton_search_post.ex b/lib/proto_rune/app/bsky/unspecced/defs/skeleton_search_post.ex new file mode 100644 index 0000000..358ec0b --- /dev/null +++ b/lib/proto_rune/app/bsky/unspecced/defs/skeleton_search_post.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Unspecced.Defs.SkeletonSearchPost do + @moduledoc """ + Generated schema for skeletonSearchPost + + **Description**: No description provided. + """ + + @enforce_keys [:uri] + defstruct uri: nil + + @type t :: %__MODULE__{ + uri: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/unspecced/get_popular_feed_generators.ex b/lib/proto_rune/app/bsky/unspecced/get_popular_feed_generators.ex new file mode 100644 index 0000000..41b5de2 --- /dev/null +++ b/lib/proto_rune/app/bsky/unspecced/get_popular_feed_generators.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Unspecced.GetPopularFeedGenerators do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer(), query: String.t()} +end diff --git a/lib/proto_rune/app/bsky/unspecced/get_suggestions_skeleton.ex b/lib/proto_rune/app/bsky/unspecced/get_suggestions_skeleton.ex new file mode 100644 index 0000000..56ac55b --- /dev/null +++ b/lib/proto_rune/app/bsky/unspecced/get_suggestions_skeleton.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Unspecced.GetSuggestionsSkeleton do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + cursor: String.t(), + limit: integer(), + relative_to_did: String.t(), + viewer: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/unspecced/get_tagged_suggestions.ex b/lib/proto_rune/app/bsky/unspecced/get_tagged_suggestions.ex new file mode 100644 index 0000000..ca499cb --- /dev/null +++ b/lib/proto_rune/app/bsky/unspecced/get_tagged_suggestions.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Unspecced.GetTaggedSuggestions do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{} +end diff --git a/lib/proto_rune/app/bsky/unspecced/get_tagged_suggestions/suggestion.ex b/lib/proto_rune/app/bsky/unspecced/get_tagged_suggestions/suggestion.ex new file mode 100644 index 0000000..a00e07d --- /dev/null +++ b/lib/proto_rune/app/bsky/unspecced/get_tagged_suggestions/suggestion.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Unspecced.GetTaggedSuggestions.Suggestion do + @moduledoc """ + Generated schema for suggestion + + **Description**: No description provided. + """ + + @enforce_keys [:tag, :subject_type, :subject] + defstruct subject: nil, subject_type: nil, tag: nil + + @type t :: %__MODULE__{ + subject: String.t(), + subject_type: :actor | :feed, + tag: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/unspecced/search_actors_skeleton.ex b/lib/proto_rune/app/bsky/unspecced/search_actors_skeleton.ex new file mode 100644 index 0000000..5b378ba --- /dev/null +++ b/lib/proto_rune/app/bsky/unspecced/search_actors_skeleton.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Unspecced.SearchActorsSkeleton do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + cursor: String.t(), + limit: integer(), + q: String.t(), + typeahead: boolean(), + viewer: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/unspecced/search_posts_skeleton.ex b/lib/proto_rune/app/bsky/unspecced/search_posts_skeleton.ex new file mode 100644 index 0000000..d3ddc2d --- /dev/null +++ b/lib/proto_rune/app/bsky/unspecced/search_posts_skeleton.ex @@ -0,0 +1,24 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Unspecced.SearchPostsSkeleton do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + author: String.t(), + cursor: String.t(), + domain: String.t(), + lang: String.t(), + limit: integer(), + mentions: String.t(), + q: String.t(), + since: String.t(), + sort: :top | :latest, + tag: list(String.t()), + until: String.t(), + url: String.t(), + viewer: String.t() + } +end diff --git a/lib/proto_rune/app/bsky/video/defs/job_status.ex b/lib/proto_rune/app/bsky/video/defs/job_status.ex new file mode 100644 index 0000000..019eab0 --- /dev/null +++ b/lib/proto_rune/app/bsky/video/defs/job_status.ex @@ -0,0 +1,21 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Video.Defs.JobStatus do + @moduledoc """ + Generated schema for jobStatus + + **Description**: No description provided. + """ + + @enforce_keys [:job_id, :did, :state] + defstruct blob: nil, did: nil, error: nil, job_id: nil, message: nil, progress: nil, state: nil + + @type t :: %__MODULE__{ + blob: binary(), + did: String.t(), + error: String.t(), + job_id: String.t(), + message: String.t(), + progress: integer(), + state: :JOB_STATE_COMPLETED | :JOB_STATE_FAILED + } +end diff --git a/lib/proto_rune/app/bsky/video/get_job_status.ex b/lib/proto_rune/app/bsky/video/get_job_status.ex new file mode 100644 index 0000000..1138c23 --- /dev/null +++ b/lib/proto_rune/app/bsky/video/get_job_status.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Video.GetJobStatus do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{job_id: String.t()} +end diff --git a/lib/proto_rune/app/bsky/video/get_upload_limits.ex b/lib/proto_rune/app/bsky/video/get_upload_limits.ex new file mode 100644 index 0000000..500048b --- /dev/null +++ b/lib/proto_rune/app/bsky/video/get_upload_limits.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Video.GetUploadLimits do + @moduledoc """ + Generated query module for main + + **Description**: Get video upload limits for the authenticated user. + """ + + @type output :: %{ + can_upload: boolean(), + error: String.t(), + message: String.t(), + remaining_daily_bytes: integer(), + remaining_daily_videos: integer() + } +end diff --git a/lib/proto_rune/app/bsky/video/upload_video.ex b/lib/proto_rune/app/bsky/video/upload_video.ex new file mode 100644 index 0000000..734740f --- /dev/null +++ b/lib/proto_rune/app/bsky/video/upload_video.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.App.Bsky.Video.UploadVideo do + @moduledoc """ + Generated procedure module for main + + **Description**: Upload a video to be processed then stored on the PDS. + """ + + @type output :: %{job_status: ProtoRune.App.Bsky.Video.Defs.JobStatus.t()} + @type input :: any() +end diff --git a/lib/proto_rune/chat/bsky/actor/declaration.ex b/lib/proto_rune/chat/bsky/actor/declaration.ex new file mode 100644 index 0000000..fba5e0c --- /dev/null +++ b/lib/proto_rune/chat/bsky/actor/declaration.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Actor.Declaration do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:allow_incoming] + defstruct allow_incoming: nil + + @type t :: %__MODULE__{ + allow_incoming: :all | :none | :following + } +end diff --git a/lib/proto_rune/chat/bsky/actor/defs/profile_view_basic.ex b/lib/proto_rune/chat/bsky/actor/defs/profile_view_basic.ex new file mode 100644 index 0000000..cd74201 --- /dev/null +++ b/lib/proto_rune/chat/bsky/actor/defs/profile_view_basic.ex @@ -0,0 +1,29 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Actor.Defs.ProfileViewBasic do + @moduledoc """ + Generated schema for profileViewBasic + + **Description**: No description provided. + """ + + @enforce_keys [:did, :handle] + defstruct associated: nil, + avatar: nil, + chat_disabled: nil, + did: nil, + display_name: nil, + handle: nil, + labels: nil, + viewer: nil + + @type t :: %__MODULE__{ + associated: ProtoRune.App.Bsky.Actor.Defs.ProfileAssociated.t(), + avatar: String.t(), + chat_disabled: boolean(), + did: String.t(), + display_name: String.t(), + handle: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + viewer: ProtoRune.App.Bsky.Actor.Defs.ViewerState.t() + } +end diff --git a/lib/proto_rune/chat/bsky/actor/delete_account.ex b/lib/proto_rune/chat/bsky/actor/delete_account.ex new file mode 100644 index 0000000..682dc3a --- /dev/null +++ b/lib/proto_rune/chat/bsky/actor/delete_account.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Actor.DeleteAccount do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type output :: %{} +end diff --git a/lib/proto_rune/chat/bsky/actor/export_account_data.ex b/lib/proto_rune/chat/bsky/actor/export_account_data.ex new file mode 100644 index 0000000..8be7b12 --- /dev/null +++ b/lib/proto_rune/chat/bsky/actor/export_account_data.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Actor.ExportAccountData do + @moduledoc """ + Generated query module for main + + **Description**: No description provided. + """ + + @type output :: any() +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/convo_view.ex b/lib/proto_rune/chat/bsky/convo/defs/convo_view.ex new file mode 100644 index 0000000..c003ba7 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/convo_view.ex @@ -0,0 +1,22 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.ConvoView do + @moduledoc """ + Generated schema for convoView + + **Description**: No description provided. + """ + + @enforce_keys [:id, :rev, :members, :muted, :unread_count] + defstruct id: nil, last_message: nil, members: nil, muted: nil, rev: nil, unread_count: nil + + @type t :: %__MODULE__{ + id: String.t(), + last_message: + ProtoRune.Chat.Bsky.Convo.Defs.MessageView.t() + | ProtoRune.Chat.Bsky.Convo.Defs.DeletedMessageView.t(), + members: list(ProtoRune.Chat.Bsky.Actor.Defs.ProfileViewBasic.t()), + muted: boolean(), + rev: String.t(), + unread_count: integer() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/deleted_message_view.ex b/lib/proto_rune/chat/bsky/convo/defs/deleted_message_view.ex new file mode 100644 index 0000000..a37c996 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/deleted_message_view.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.DeletedMessageView do + @moduledoc """ + Generated schema for deletedMessageView + + **Description**: No description provided. + """ + + @enforce_keys [:id, :rev, :sender, :sent_at] + defstruct id: nil, rev: nil, sender: nil, sent_at: nil + + @type t :: %__MODULE__{ + id: String.t(), + rev: String.t(), + sender: ProtoRune.Chat.Bsky.Convo.Defs.MessageViewSender.t(), + sent_at: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/log_begin_convo.ex b/lib/proto_rune/chat/bsky/convo/defs/log_begin_convo.ex new file mode 100644 index 0000000..0c2fd9a --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/log_begin_convo.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.LogBeginConvo do + @moduledoc """ + Generated schema for logBeginConvo + + **Description**: No description provided. + """ + + @enforce_keys [:rev, :convo_id] + defstruct convo_id: nil, rev: nil + + @type t :: %__MODULE__{ + convo_id: String.t(), + rev: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/log_create_message.ex b/lib/proto_rune/chat/bsky/convo/defs/log_create_message.ex new file mode 100644 index 0000000..0ae50d1 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/log_create_message.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.LogCreateMessage do + @moduledoc """ + Generated schema for logCreateMessage + + **Description**: No description provided. + """ + + @enforce_keys [:rev, :convo_id, :message] + defstruct convo_id: nil, message: nil, rev: nil + + @type t :: %__MODULE__{ + convo_id: String.t(), + message: + ProtoRune.Chat.Bsky.Convo.Defs.MessageView.t() + | ProtoRune.Chat.Bsky.Convo.Defs.DeletedMessageView.t(), + rev: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/log_delete_message.ex b/lib/proto_rune/chat/bsky/convo/defs/log_delete_message.ex new file mode 100644 index 0000000..60f1017 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/log_delete_message.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.LogDeleteMessage do + @moduledoc """ + Generated schema for logDeleteMessage + + **Description**: No description provided. + """ + + @enforce_keys [:rev, :convo_id, :message] + defstruct convo_id: nil, message: nil, rev: nil + + @type t :: %__MODULE__{ + convo_id: String.t(), + message: + ProtoRune.Chat.Bsky.Convo.Defs.MessageView.t() + | ProtoRune.Chat.Bsky.Convo.Defs.DeletedMessageView.t(), + rev: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/log_leave_convo.ex b/lib/proto_rune/chat/bsky/convo/defs/log_leave_convo.ex new file mode 100644 index 0000000..20ada93 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/log_leave_convo.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.LogLeaveConvo do + @moduledoc """ + Generated schema for logLeaveConvo + + **Description**: No description provided. + """ + + @enforce_keys [:rev, :convo_id] + defstruct convo_id: nil, rev: nil + + @type t :: %__MODULE__{ + convo_id: String.t(), + rev: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/message_input.ex b/lib/proto_rune/chat/bsky/convo/defs/message_input.ex new file mode 100644 index 0000000..36c5992 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/message_input.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.MessageInput do + @moduledoc """ + Generated schema for messageInput + + **Description**: No description provided. + """ + + @enforce_keys [:text] + defstruct embed: nil, facets: nil, text: nil + + @type t :: %__MODULE__{ + embed: ProtoRune.App.Bsky.Embed.Record.t(), + facets: list(ProtoRune.App.Bsky.Richtext.Facet.t()), + text: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/message_ref.ex b/lib/proto_rune/chat/bsky/convo/defs/message_ref.ex new file mode 100644 index 0000000..c1abe66 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/message_ref.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.MessageRef do + @moduledoc """ + Generated schema for messageRef + + **Description**: No description provided. + """ + + @enforce_keys [:did, :message_id, :convo_id] + defstruct convo_id: nil, did: nil, message_id: nil + + @type t :: %__MODULE__{ + convo_id: String.t(), + did: String.t(), + message_id: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/message_view.ex b/lib/proto_rune/chat/bsky/convo/defs/message_view.ex new file mode 100644 index 0000000..1809e1d --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/message_view.ex @@ -0,0 +1,21 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.MessageView do + @moduledoc """ + Generated schema for messageView + + **Description**: No description provided. + """ + + @enforce_keys [:id, :rev, :text, :sender, :sent_at] + defstruct embed: nil, facets: nil, id: nil, rev: nil, sender: nil, sent_at: nil, text: nil + + @type t :: %__MODULE__{ + embed: ProtoRune.App.Bsky.Embed.Record.View.t(), + facets: list(ProtoRune.App.Bsky.Richtext.Facet.t()), + id: String.t(), + rev: String.t(), + sender: ProtoRune.Chat.Bsky.Convo.Defs.MessageViewSender.t(), + sent_at: String.t(), + text: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/defs/message_view_sender.ex b/lib/proto_rune/chat/bsky/convo/defs/message_view_sender.ex new file mode 100644 index 0000000..f563a00 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/defs/message_view_sender.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.Defs.MessageViewSender do + @moduledoc """ + Generated schema for messageViewSender + + **Description**: No description provided. + """ + + @enforce_keys [:did] + defstruct did: nil + + @type t :: %__MODULE__{ + did: String.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/delete_message_for_self.ex b/lib/proto_rune/chat/bsky/convo/delete_message_for_self.ex new file mode 100644 index 0000000..c2ee92d --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/delete_message_for_self.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.DeleteMessageForSelf do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type output :: ProtoRune.Chat.Bsky.Convo.Defs.DeletedMessageView.t() + @type input :: %{convo_id: String.t(), message_id: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/convo/get_convo.ex b/lib/proto_rune/chat/bsky/convo/get_convo.ex new file mode 100644 index 0000000..d6fbcb6 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/get_convo.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.GetConvo do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{convo_id: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/convo/get_convo_for_members.ex b/lib/proto_rune/chat/bsky/convo/get_convo_for_members.ex new file mode 100644 index 0000000..a755c56 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/get_convo_for_members.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.GetConvoForMembers do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{members: list(String.t())} +end diff --git a/lib/proto_rune/chat/bsky/convo/get_log.ex b/lib/proto_rune/chat/bsky/convo/get_log.ex new file mode 100644 index 0000000..b7270cc --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/get_log.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.GetLog do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/convo/get_messages.ex b/lib/proto_rune/chat/bsky/convo/get_messages.ex new file mode 100644 index 0000000..c57e73b --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/get_messages.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.GetMessages do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{convo_id: String.t(), cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/chat/bsky/convo/leave_convo.ex b/lib/proto_rune/chat/bsky/convo/leave_convo.ex new file mode 100644 index 0000000..be7c93a --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/leave_convo.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.LeaveConvo do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type output :: %{convo_id: String.t(), rev: String.t()} + @type input :: %{convo_id: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/convo/list_convos.ex b/lib/proto_rune/chat/bsky/convo/list_convos.ex new file mode 100644 index 0000000..e1979e6 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/list_convos.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.ListConvos do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/chat/bsky/convo/mute_convo.ex b/lib/proto_rune/chat/bsky/convo/mute_convo.ex new file mode 100644 index 0000000..6323eb6 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/mute_convo.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.MuteConvo do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type output :: %{convo: ProtoRune.Chat.Bsky.Convo.Defs.ConvoView.t()} + @type input :: %{convo_id: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/convo/send_message.ex b/lib/proto_rune/chat/bsky/convo/send_message.ex new file mode 100644 index 0000000..fbab8d8 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/send_message.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.SendMessage do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type output :: ProtoRune.Chat.Bsky.Convo.Defs.MessageView.t() + @type input :: %{convo_id: String.t(), message: ProtoRune.Chat.Bsky.Convo.Defs.MessageInput.t()} +end diff --git a/lib/proto_rune/chat/bsky/convo/send_message_batch.ex b/lib/proto_rune/chat/bsky/convo/send_message_batch.ex new file mode 100644 index 0000000..6fe6310 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/send_message_batch.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.SendMessageBatch do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type output :: %{items: list(ProtoRune.Chat.Bsky.Convo.Defs.MessageView.t())} + @type input :: %{items: list(ProtoRune.Chat.Bsky.Convo.SendMessageBatch.BatchItem.t())} +end diff --git a/lib/proto_rune/chat/bsky/convo/send_message_batch/batch_item.ex b/lib/proto_rune/chat/bsky/convo/send_message_batch/batch_item.ex new file mode 100644 index 0000000..389ffbe --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/send_message_batch/batch_item.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.SendMessageBatch.BatchItem do + @moduledoc """ + Generated schema for batchItem + + **Description**: No description provided. + """ + + @enforce_keys [:convo_id, :message] + defstruct convo_id: nil, message: nil + + @type t :: %__MODULE__{ + convo_id: String.t(), + message: ProtoRune.Chat.Bsky.Convo.Defs.MessageInput.t() + } +end diff --git a/lib/proto_rune/chat/bsky/convo/unmute_convo.ex b/lib/proto_rune/chat/bsky/convo/unmute_convo.ex new file mode 100644 index 0000000..fe75b96 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/unmute_convo.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.UnmuteConvo do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type output :: %{convo: ProtoRune.Chat.Bsky.Convo.Defs.ConvoView.t()} + @type input :: %{convo_id: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/convo/update_read.ex b/lib/proto_rune/chat/bsky/convo/update_read.ex new file mode 100644 index 0000000..379de87 --- /dev/null +++ b/lib/proto_rune/chat/bsky/convo/update_read.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Convo.UpdateRead do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type output :: %{convo: ProtoRune.Chat.Bsky.Convo.Defs.ConvoView.t()} + @type input :: %{convo_id: String.t(), message_id: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/moderation/get_actor_metadata.ex b/lib/proto_rune/chat/bsky/moderation/get_actor_metadata.ex new file mode 100644 index 0000000..c385257 --- /dev/null +++ b/lib/proto_rune/chat/bsky/moderation/get_actor_metadata.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Moderation.GetActorMetadata do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{actor: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/moderation/get_actor_metadata/metadata.ex b/lib/proto_rune/chat/bsky/moderation/get_actor_metadata/metadata.ex new file mode 100644 index 0000000..36c328d --- /dev/null +++ b/lib/proto_rune/chat/bsky/moderation/get_actor_metadata/metadata.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Moderation.GetActorMetadata.Metadata do + @moduledoc """ + Generated schema for metadata + + **Description**: No description provided. + """ + + @enforce_keys [:messages_sent, :messages_received, :convos, :convos_started] + defstruct convos: nil, convos_started: nil, messages_received: nil, messages_sent: nil + + @type t :: %__MODULE__{ + convos: integer(), + convos_started: integer(), + messages_received: integer(), + messages_sent: integer() + } +end diff --git a/lib/proto_rune/chat/bsky/moderation/get_message_context.ex b/lib/proto_rune/chat/bsky/moderation/get_message_context.ex new file mode 100644 index 0000000..42dc9bc --- /dev/null +++ b/lib/proto_rune/chat/bsky/moderation/get_message_context.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Moderation.GetMessageContext do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{after: integer(), before: integer(), convo_id: String.t(), message_id: String.t()} +end diff --git a/lib/proto_rune/chat/bsky/moderation/update_actor_access.ex b/lib/proto_rune/chat/bsky/moderation/update_actor_access.ex new file mode 100644 index 0000000..41dde33 --- /dev/null +++ b/lib/proto_rune/chat/bsky/moderation/update_actor_access.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Chat.Bsky.Moderation.UpdateActorAccess do + @moduledoc """ + Generated procedure module for main + + **Description**: No description provided. + """ + + @type input :: %{actor: String.t(), allow_access: boolean(), ref: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/defs/account_view.ex b/lib/proto_rune/com/atproto/admin/defs/account_view.ex new file mode 100644 index 0000000..1ea5445 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/defs/account_view.ex @@ -0,0 +1,35 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.Defs.AccountView do + @moduledoc """ + Generated schema for accountView + + **Description**: No description provided. + """ + + @enforce_keys [:did, :handle, :indexed_at] + defstruct deactivated_at: nil, + did: nil, + email: nil, + email_confirmed_at: nil, + handle: nil, + indexed_at: nil, + invite_note: nil, + invited_by: nil, + invites: nil, + invites_disabled: nil, + related_records: nil + + @type t :: %__MODULE__{ + deactivated_at: String.t(), + did: String.t(), + email: String.t(), + email_confirmed_at: String.t(), + handle: String.t(), + indexed_at: String.t(), + invite_note: String.t(), + invited_by: ProtoRune.Com.Atproto.Server.Defs.InviteCode.t(), + invites: list(ProtoRune.Com.Atproto.Server.Defs.InviteCode.t()), + invites_disabled: boolean(), + related_records: list(any()) + } +end diff --git a/lib/proto_rune/com/atproto/admin/defs/repo_blob_ref.ex b/lib/proto_rune/com/atproto/admin/defs/repo_blob_ref.ex new file mode 100644 index 0000000..504f3d1 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/defs/repo_blob_ref.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.Defs.RepoBlobRef do + @moduledoc """ + Generated schema for repoBlobRef + + **Description**: No description provided. + """ + + @enforce_keys [:did, :cid] + defstruct cid: nil, did: nil, record_uri: nil + + @type t :: %__MODULE__{ + cid: String.t(), + did: String.t(), + record_uri: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/admin/defs/repo_ref.ex b/lib/proto_rune/com/atproto/admin/defs/repo_ref.ex new file mode 100644 index 0000000..10e81bc --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/defs/repo_ref.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.Defs.RepoRef do + @moduledoc """ + Generated schema for repoRef + + **Description**: No description provided. + """ + + @enforce_keys [:did] + defstruct did: nil + + @type t :: %__MODULE__{ + did: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/admin/defs/status_attr.ex b/lib/proto_rune/com/atproto/admin/defs/status_attr.ex new file mode 100644 index 0000000..040a2ec --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/defs/status_attr.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.Defs.StatusAttr do + @moduledoc """ + Generated schema for statusAttr + + **Description**: No description provided. + """ + + @enforce_keys [:applied] + defstruct applied: nil, ref: nil + + @type t :: %__MODULE__{ + applied: boolean(), + ref: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/admin/delete_account.ex b/lib/proto_rune/com/atproto/admin/delete_account.ex new file mode 100644 index 0000000..37c2856 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/delete_account.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.DeleteAccount do + @moduledoc """ + Generated procedure module for main + + **Description**: Delete a user account as an administrator. + """ + + @type input :: %{did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/disable_account_invites.ex b/lib/proto_rune/com/atproto/admin/disable_account_invites.ex new file mode 100644 index 0000000..6d5396b --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/disable_account_invites.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.DisableAccountInvites do + @moduledoc """ + Generated procedure module for main + + **Description**: Disable an account from receiving new invite codes, but does not invalidate existing codes. + """ + + @type input :: %{account: String.t(), note: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/disable_invite_codes.ex b/lib/proto_rune/com/atproto/admin/disable_invite_codes.ex new file mode 100644 index 0000000..b260ec7 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/disable_invite_codes.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.DisableInviteCodes do + @moduledoc """ + Generated procedure module for main + + **Description**: Disable some set of codes and/or all codes associated with a set of users. + """ + + @type input :: %{accounts: list(String.t()), codes: list(String.t())} +end diff --git a/lib/proto_rune/com/atproto/admin/enable_account_invites.ex b/lib/proto_rune/com/atproto/admin/enable_account_invites.ex new file mode 100644 index 0000000..0986133 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/enable_account_invites.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.EnableAccountInvites do + @moduledoc """ + Generated procedure module for main + + **Description**: Re-enable an account's ability to receive invite codes. + """ + + @type input :: %{account: String.t(), note: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/get_account_info.ex b/lib/proto_rune/com/atproto/admin/get_account_info.ex new file mode 100644 index 0000000..fbf7ead --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/get_account_info.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.GetAccountInfo do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/get_account_infos.ex b/lib/proto_rune/com/atproto/admin/get_account_infos.ex new file mode 100644 index 0000000..c41af0c --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/get_account_infos.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.GetAccountInfos do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{dids: list(String.t())} +end diff --git a/lib/proto_rune/com/atproto/admin/get_invite_codes.ex b/lib/proto_rune/com/atproto/admin/get_invite_codes.ex new file mode 100644 index 0000000..d49a4d9 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/get_invite_codes.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.GetInviteCodes do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer(), sort: :recent | :usage} +end diff --git a/lib/proto_rune/com/atproto/admin/get_subject_status.ex b/lib/proto_rune/com/atproto/admin/get_subject_status.ex new file mode 100644 index 0000000..4cbfc28 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/get_subject_status.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.GetSubjectStatus do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{blob: String.t(), did: String.t(), uri: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/search_accounts.ex b/lib/proto_rune/com/atproto/admin/search_accounts.ex new file mode 100644 index 0000000..5281cbd --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/search_accounts.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.SearchAccounts do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), email: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/com/atproto/admin/send_email.ex b/lib/proto_rune/com/atproto/admin/send_email.ex new file mode 100644 index 0000000..d1fa205 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/send_email.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.SendEmail do + @moduledoc """ + Generated procedure module for main + + **Description**: Send email to a user's account email address. + """ + + @type output :: %{sent: boolean()} + @type input :: %{ + comment: String.t(), + content: String.t(), + recipient_did: String.t(), + sender_did: String.t(), + subject: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/admin/update_account_email.ex b/lib/proto_rune/com/atproto/admin/update_account_email.ex new file mode 100644 index 0000000..ffc3f0c --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/update_account_email.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.UpdateAccountEmail do + @moduledoc """ + Generated procedure module for main + + **Description**: Administrative action to update an account's email. + """ + + @type input :: %{account: String.t(), email: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/update_account_handle.ex b/lib/proto_rune/com/atproto/admin/update_account_handle.ex new file mode 100644 index 0000000..24ed24e --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/update_account_handle.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.UpdateAccountHandle do + @moduledoc """ + Generated procedure module for main + + **Description**: Administrative action to update an account's handle. + """ + + @type input :: %{did: String.t(), handle: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/update_account_password.ex b/lib/proto_rune/com/atproto/admin/update_account_password.ex new file mode 100644 index 0000000..2b91309 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/update_account_password.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.UpdateAccountPassword do + @moduledoc """ + Generated procedure module for main + + **Description**: Update the password for a user account as an administrator. + """ + + @type input :: %{did: String.t(), password: String.t()} +end diff --git a/lib/proto_rune/com/atproto/admin/update_subject_status.ex b/lib/proto_rune/com/atproto/admin/update_subject_status.ex new file mode 100644 index 0000000..3807660 --- /dev/null +++ b/lib/proto_rune/com/atproto/admin/update_subject_status.ex @@ -0,0 +1,24 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Admin.UpdateSubjectStatus do + @moduledoc """ + Generated procedure module for main + + **Description**: Update the service-specific admin status of a subject (account, record, or blob). + """ + + @type output :: %{ + subject: + ProtoRune.Com.Atproto.Admin.Defs.RepoRef.t() + | ProtoRune.Com.Atproto.Repo.StrongRef.t() + | ProtoRune.Com.Atproto.Admin.Defs.RepoBlobRef.t(), + takedown: ProtoRune.Com.Atproto.Admin.Defs.StatusAttr.t() + } + @type input :: %{ + deactivated: ProtoRune.Com.Atproto.Admin.Defs.StatusAttr.t(), + subject: + ProtoRune.Com.Atproto.Admin.Defs.RepoRef.t() + | ProtoRune.Com.Atproto.Repo.StrongRef.t() + | ProtoRune.Com.Atproto.Admin.Defs.RepoBlobRef.t(), + takedown: ProtoRune.Com.Atproto.Admin.Defs.StatusAttr.t() + } +end diff --git a/lib/proto_rune/com/atproto/identity/get_recommended_did_credentials.ex b/lib/proto_rune/com/atproto/identity/get_recommended_did_credentials.ex new file mode 100644 index 0000000..418b4fc --- /dev/null +++ b/lib/proto_rune/com/atproto/identity/get_recommended_did_credentials.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Identity.GetRecommendedDidCredentials do + @moduledoc """ + Generated query module for main + + **Description**: Describe the credentials that should be included in the DID doc of an account that is migrating to this service. + """ + + @type output :: %{ + also_known_as: list(String.t()), + rotation_keys: list(String.t()), + services: any(), + verification_methods: any() + } +end diff --git a/lib/proto_rune/com/atproto/identity/request_plc_operation_signature.ex b/lib/proto_rune/com/atproto/identity/request_plc_operation_signature.ex new file mode 100644 index 0000000..235a8fa --- /dev/null +++ b/lib/proto_rune/com/atproto/identity/request_plc_operation_signature.ex @@ -0,0 +1,8 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Identity.RequestPlcOperationSignature do + @moduledoc """ + Generated procedure module for main + + **Description**: Request an email with a code to in order to request a signed PLC operation. Requires Auth. + """ +end diff --git a/lib/proto_rune/com/atproto/identity/resolve_handle.ex b/lib/proto_rune/com/atproto/identity/resolve_handle.ex new file mode 100644 index 0000000..26b1bba --- /dev/null +++ b/lib/proto_rune/com/atproto/identity/resolve_handle.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Identity.ResolveHandle do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{handle: String.t()} +end diff --git a/lib/proto_rune/com/atproto/identity/sign_plc_operation.ex b/lib/proto_rune/com/atproto/identity/sign_plc_operation.ex new file mode 100644 index 0000000..365d621 --- /dev/null +++ b/lib/proto_rune/com/atproto/identity/sign_plc_operation.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Identity.SignPlcOperation do + @moduledoc """ + Generated procedure module for main + + **Description**: Signs a PLC operation to update some value(s) in the requesting DID's document. + """ + + @type output :: %{operation: any()} + @type input :: %{ + also_known_as: list(String.t()), + rotation_keys: list(String.t()), + services: any(), + token: String.t(), + verification_methods: any() + } +end diff --git a/lib/proto_rune/com/atproto/identity/submit_plc_operation.ex b/lib/proto_rune/com/atproto/identity/submit_plc_operation.ex new file mode 100644 index 0000000..46732c5 --- /dev/null +++ b/lib/proto_rune/com/atproto/identity/submit_plc_operation.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Identity.SubmitPlcOperation do + @moduledoc """ + Generated procedure module for main + + **Description**: Validates a PLC operation to ensure that it doesn't violate a service's constraints or get the identity into a bad state, then submits it to the PLC registry + """ + + @type input :: %{operation: any()} +end diff --git a/lib/proto_rune/com/atproto/identity/update_handle.ex b/lib/proto_rune/com/atproto/identity/update_handle.ex new file mode 100644 index 0000000..e5064c4 --- /dev/null +++ b/lib/proto_rune/com/atproto/identity/update_handle.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Identity.UpdateHandle do + @moduledoc """ + Generated procedure module for main + + **Description**: Updates the current account's handle. Verifies handle validity, and updates did:plc document if necessary. Implemented by PDS, and requires auth. + """ + + @type input :: %{handle: String.t()} +end diff --git a/lib/proto_rune/com/atproto/label/defs/label.ex b/lib/proto_rune/com/atproto/label/defs/label.ex new file mode 100644 index 0000000..a63af19 --- /dev/null +++ b/lib/proto_rune/com/atproto/label/defs/label.ex @@ -0,0 +1,31 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.Defs.Label do + @moduledoc """ + Generated schema for label + + **Description**: Metadata tag on an atproto resource (eg, repo or record). + """ + + @enforce_keys [:src, :uri, :val, :cts] + defstruct cid: nil, + cts: nil, + exp: nil, + neg: nil, + sig: nil, + src: nil, + uri: nil, + val: nil, + ver: nil + + @type t :: %__MODULE__{ + cid: String.t(), + cts: String.t(), + exp: String.t(), + neg: boolean(), + sig: binary(), + src: String.t(), + uri: String.t(), + val: String.t(), + ver: integer() + } +end diff --git a/lib/proto_rune/com/atproto/label/defs/label_value.ex b/lib/proto_rune/com/atproto/label/defs/label_value.ex new file mode 100644 index 0000000..b2f5b45 --- /dev/null +++ b/lib/proto_rune/com/atproto/label/defs/label_value.ex @@ -0,0 +1,21 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.Defs.LabelValue do + @moduledoc """ + Generated schema for labelValue + + **Description**: No description provided. + """ + + @type t :: + :"!hide" + | :"!no-promote" + | :"!warn" + | :"!no-unauthenticated" + | :"dmca-violation" + | :doxxing + | :porn + | :sexual + | :nudity + | :nsfl + | :gore +end diff --git a/lib/proto_rune/com/atproto/label/defs/label_value_definition.ex b/lib/proto_rune/com/atproto/label/defs/label_value_definition.ex new file mode 100644 index 0000000..5791b7b --- /dev/null +++ b/lib/proto_rune/com/atproto/label/defs/label_value_definition.ex @@ -0,0 +1,25 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.Defs.LabelValueDefinition do + @moduledoc """ + Generated schema for labelValueDefinition + + **Description**: Declares a label value and its expected interpretations and behaviors. + """ + + @enforce_keys [:identifier, :severity, :blurs, :locales] + defstruct adult_only: nil, + blurs: nil, + default_setting: nil, + identifier: nil, + locales: nil, + severity: nil + + @type t :: %__MODULE__{ + adult_only: boolean(), + blurs: :content | :media | :none, + default_setting: :ignore | :warn | :hide, + identifier: String.t(), + locales: list(ProtoRune.Com.Atproto.Label.Defs.LabelValueDefinitionStrings.t()), + severity: :inform | :alert | :none + } +end diff --git a/lib/proto_rune/com/atproto/label/defs/label_value_definition_strings.ex b/lib/proto_rune/com/atproto/label/defs/label_value_definition_strings.ex new file mode 100644 index 0000000..53b8366 --- /dev/null +++ b/lib/proto_rune/com/atproto/label/defs/label_value_definition_strings.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.Defs.LabelValueDefinitionStrings do + @moduledoc """ + Generated schema for labelValueDefinitionStrings + + **Description**: Strings which describe the label in the UI, localized into a specific language. + """ + + @enforce_keys [:lang, :name, :description] + defstruct description: nil, lang: nil, name: nil + + @type t :: %__MODULE__{ + description: String.t(), + lang: String.t(), + name: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/label/defs/self_label.ex b/lib/proto_rune/com/atproto/label/defs/self_label.ex new file mode 100644 index 0000000..b54d856 --- /dev/null +++ b/lib/proto_rune/com/atproto/label/defs/self_label.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.Defs.SelfLabel do + @moduledoc """ + Generated schema for selfLabel + + **Description**: Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel. + """ + + @enforce_keys [:val] + defstruct val: nil + + @type t :: %__MODULE__{ + val: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/label/defs/self_labels.ex b/lib/proto_rune/com/atproto/label/defs/self_labels.ex new file mode 100644 index 0000000..13cf14f --- /dev/null +++ b/lib/proto_rune/com/atproto/label/defs/self_labels.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.Defs.SelfLabels do + @moduledoc """ + Generated schema for selfLabels + + **Description**: Metadata tags on an atproto record, published by the author within the record. + """ + + @enforce_keys [:values] + defstruct values: nil + + @type t :: %__MODULE__{ + values: list(ProtoRune.Com.Atproto.Label.Defs.SelfLabel.t()) + } +end diff --git a/lib/proto_rune/com/atproto/label/query_labels.ex b/lib/proto_rune/com/atproto/label/query_labels.ex new file mode 100644 index 0000000..f78adbc --- /dev/null +++ b/lib/proto_rune/com/atproto/label/query_labels.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.QueryLabels do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + cursor: String.t(), + limit: integer(), + sources: list(String.t()), + uri_patterns: list(String.t()) + } +end diff --git a/lib/proto_rune/com/atproto/label/subscribe_labels.ex b/lib/proto_rune/com/atproto/label/subscribe_labels.ex new file mode 100644 index 0000000..92a9027 --- /dev/null +++ b/lib/proto_rune/com/atproto/label/subscribe_labels.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.SubscribeLabels do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: integer()} +end diff --git a/lib/proto_rune/com/atproto/label/subscribe_labels/info.ex b/lib/proto_rune/com/atproto/label/subscribe_labels/info.ex new file mode 100644 index 0000000..5a0c351 --- /dev/null +++ b/lib/proto_rune/com/atproto/label/subscribe_labels/info.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.SubscribeLabels.Info do + @moduledoc """ + Generated schema for info + + **Description**: No description provided. + """ + + @enforce_keys [:name] + defstruct message: nil, name: nil + + @type t :: %__MODULE__{ + message: String.t(), + name: :OutdatedCursor + } +end diff --git a/lib/proto_rune/com/atproto/label/subscribe_labels/labels.ex b/lib/proto_rune/com/atproto/label/subscribe_labels/labels.ex new file mode 100644 index 0000000..6e13638 --- /dev/null +++ b/lib/proto_rune/com/atproto/label/subscribe_labels/labels.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Label.SubscribeLabels.Labels do + @moduledoc """ + Generated schema for labels + + **Description**: No description provided. + """ + + @enforce_keys [:seq, :labels] + defstruct labels: nil, seq: nil + + @type t :: %__MODULE__{ + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + seq: integer() + } +end diff --git a/lib/proto_rune/com/atproto/moderation/create_report.ex b/lib/proto_rune/com/atproto/moderation/create_report.ex new file mode 100644 index 0000000..603ea6c --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/create_report.ex @@ -0,0 +1,26 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.CreateReport do + @moduledoc """ + Generated procedure module for main + + **Description**: Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth. + """ + + @type output :: %{ + created_at: String.t(), + id: integer(), + reason: String.t(), + reason_type: ProtoRune.Com.Atproto.Moderation.Defs.ReasonType.t(), + reported_by: String.t(), + subject: + ProtoRune.Com.Atproto.Admin.Defs.RepoRef.t() + | ProtoRune.Com.Atproto.Repo.StrongRef.t() + } + @type input :: %{ + reason: String.t(), + reason_type: ProtoRune.Com.Atproto.Moderation.Defs.ReasonType.t(), + subject: + ProtoRune.Com.Atproto.Admin.Defs.RepoRef.t() + | ProtoRune.Com.Atproto.Repo.StrongRef.t() + } +end diff --git a/lib/proto_rune/com/atproto/moderation/defs/reason_appeal.ex b/lib/proto_rune/com/atproto/moderation/defs/reason_appeal.ex new file mode 100644 index 0000000..59df67c --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/defs/reason_appeal.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.Defs.ReasonAppeal do + @moduledoc """ + Token type for reasonAppeal + + **Description**: Appeal: appeal a previously taken moderation action + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/com/atproto/moderation/defs/reason_misleading.ex b/lib/proto_rune/com/atproto/moderation/defs/reason_misleading.ex new file mode 100644 index 0000000..f49152c --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/defs/reason_misleading.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.Defs.ReasonMisleading do + @moduledoc """ + Token type for reasonMisleading + + **Description**: Misleading identity, affiliation, or content + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/com/atproto/moderation/defs/reason_other.ex b/lib/proto_rune/com/atproto/moderation/defs/reason_other.ex new file mode 100644 index 0000000..89c2a7c --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/defs/reason_other.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.Defs.ReasonOther do + @moduledoc """ + Token type for reasonOther + + **Description**: Other: reports not falling under another report category + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/com/atproto/moderation/defs/reason_rude.ex b/lib/proto_rune/com/atproto/moderation/defs/reason_rude.ex new file mode 100644 index 0000000..f60398f --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/defs/reason_rude.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.Defs.ReasonRude do + @moduledoc """ + Token type for reasonRude + + **Description**: Rude, harassing, explicit, or otherwise unwelcoming behavior + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/com/atproto/moderation/defs/reason_sexual.ex b/lib/proto_rune/com/atproto/moderation/defs/reason_sexual.ex new file mode 100644 index 0000000..f69c8ee --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/defs/reason_sexual.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.Defs.ReasonSexual do + @moduledoc """ + Token type for reasonSexual + + **Description**: Unwanted or mislabeled sexual content + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/com/atproto/moderation/defs/reason_spam.ex b/lib/proto_rune/com/atproto/moderation/defs/reason_spam.ex new file mode 100644 index 0000000..8cd329d --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/defs/reason_spam.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.Defs.ReasonSpam do + @moduledoc """ + Token type for reasonSpam + + **Description**: Spam: frequent unwanted promotion, replies, mentions + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/com/atproto/moderation/defs/reason_type.ex b/lib/proto_rune/com/atproto/moderation/defs/reason_type.ex new file mode 100644 index 0000000..5bd46a7 --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/defs/reason_type.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.Defs.ReasonType do + @moduledoc """ + Generated schema for reasonType + + **Description**: No description provided. + """ + + @type t :: + :"com.atproto.moderation.defs#reasonSpam" + | :"com.atproto.moderation.defs#reasonViolation" + | :"com.atproto.moderation.defs#reasonMisleading" + | :"com.atproto.moderation.defs#reasonSexual" + | :"com.atproto.moderation.defs#reasonRude" + | :"com.atproto.moderation.defs#reasonOther" + | :"com.atproto.moderation.defs#reasonAppeal" +end diff --git a/lib/proto_rune/com/atproto/moderation/defs/reason_violation.ex b/lib/proto_rune/com/atproto/moderation/defs/reason_violation.ex new file mode 100644 index 0000000..758d786 --- /dev/null +++ b/lib/proto_rune/com/atproto/moderation/defs/reason_violation.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Moderation.Defs.ReasonViolation do + @moduledoc """ + Token type for reasonViolation + + **Description**: Direct violation of server rules, laws, terms of service + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/com/atproto/repo/apply_writes.ex b/lib/proto_rune/com/atproto/repo/apply_writes.ex new file mode 100644 index 0000000..bf4c2e1 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/apply_writes.ex @@ -0,0 +1,30 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ApplyWrites do + @moduledoc """ + Generated procedure module for main + + **Description**: Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS. + """ + + @type output :: %{ + commit: ProtoRune.Com.Atproto.Repo.Defs.CommitMeta.t(), + results: + list( + ProtoRune.Com.Atproto.Repo.ApplyWrites.CreateResult.t() + | ProtoRune.Com.Atproto.Repo.ApplyWrites.UpdateResult.t() + | ProtoRune.Com.Atproto.Repo.ApplyWrites.DeleteResult.t() + ) + } + @type input :: %{ + repo: String.t(), + swap_commit: String.t(), + validate: boolean(), + writes: + list( + ProtoRune.Com.Atproto.Repo.ApplyWrites.Create.t() + | ProtoRune.Com.Atproto.Repo.ApplyWrites.Update.t() + | ProtoRune.Com.Atproto.Repo.ApplyWrites.Delete.t() + ) + } + @type error :: ProtoRune.Com.Atproto.Repo.ApplyWrites.MainErrorInvalidSwap.t() +end diff --git a/lib/proto_rune/com/atproto/repo/apply_writes/create.ex b/lib/proto_rune/com/atproto/repo/apply_writes/create.ex new file mode 100644 index 0000000..f1164cd --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/apply_writes/create.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ApplyWrites.Create do + @moduledoc """ + Generated schema for create + + **Description**: Operation which creates a new record. + """ + + @enforce_keys [:collection, :value] + defstruct collection: nil, rkey: nil, value: nil + + @type t :: %__MODULE__{ + collection: String.t(), + rkey: String.t(), + value: any() + } +end diff --git a/lib/proto_rune/com/atproto/repo/apply_writes/create_result.ex b/lib/proto_rune/com/atproto/repo/apply_writes/create_result.ex new file mode 100644 index 0000000..69e8f92 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/apply_writes/create_result.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ApplyWrites.CreateResult do + @moduledoc """ + Generated schema for createResult + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid] + defstruct cid: nil, uri: nil, validation_status: nil + + @type t :: %__MODULE__{ + cid: String.t(), + uri: String.t(), + validation_status: :valid | :unknown + } +end diff --git a/lib/proto_rune/com/atproto/repo/apply_writes/delete.ex b/lib/proto_rune/com/atproto/repo/apply_writes/delete.ex new file mode 100644 index 0000000..2015c62 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/apply_writes/delete.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ApplyWrites.Delete do + @moduledoc """ + Generated schema for delete + + **Description**: Operation which deletes an existing record. + """ + + @enforce_keys [:collection, :rkey] + defstruct collection: nil, rkey: nil + + @type t :: %__MODULE__{ + collection: String.t(), + rkey: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/repo/apply_writes/delete_result.ex b/lib/proto_rune/com/atproto/repo/apply_writes/delete_result.ex new file mode 100644 index 0000000..4f6d7de --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/apply_writes/delete_result.ex @@ -0,0 +1,12 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ApplyWrites.DeleteResult do + @moduledoc """ + Generated schema for deleteResult + + **Description**: No description provided. + """ + + defstruct [] + + @type t :: %__MODULE__{} +end diff --git a/lib/proto_rune/com/atproto/repo/apply_writes/main_error_invalid_swap.ex b/lib/proto_rune/com/atproto/repo/apply_writes/main_error_invalid_swap.ex new file mode 100644 index 0000000..06b10e7 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/apply_writes/main_error_invalid_swap.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ApplyWrites.MainErrorInvalidSwap do + @moduledoc """ + Generated schema for mainErrorInvalidSwap + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/repo/apply_writes/update.ex b/lib/proto_rune/com/atproto/repo/apply_writes/update.ex new file mode 100644 index 0000000..068229f --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/apply_writes/update.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ApplyWrites.Update do + @moduledoc """ + Generated schema for update + + **Description**: Operation which updates an existing record. + """ + + @enforce_keys [:collection, :rkey, :value] + defstruct collection: nil, rkey: nil, value: nil + + @type t :: %__MODULE__{ + collection: String.t(), + rkey: String.t(), + value: any() + } +end diff --git a/lib/proto_rune/com/atproto/repo/apply_writes/update_result.ex b/lib/proto_rune/com/atproto/repo/apply_writes/update_result.ex new file mode 100644 index 0000000..1ff2c58 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/apply_writes/update_result.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ApplyWrites.UpdateResult do + @moduledoc """ + Generated schema for updateResult + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid] + defstruct cid: nil, uri: nil, validation_status: nil + + @type t :: %__MODULE__{ + cid: String.t(), + uri: String.t(), + validation_status: :valid | :unknown + } +end diff --git a/lib/proto_rune/com/atproto/repo/create_record.ex b/lib/proto_rune/com/atproto/repo/create_record.ex new file mode 100644 index 0000000..aa4047a --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/create_record.ex @@ -0,0 +1,24 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.CreateRecord do + @moduledoc """ + Generated procedure module for main + + **Description**: Create a single new repository record. Requires auth, implemented by PDS. + """ + + @type output :: %{ + cid: String.t(), + commit: ProtoRune.Com.Atproto.Repo.Defs.CommitMeta.t(), + uri: String.t(), + validation_status: :valid | :unknown + } + @type input :: %{ + collection: String.t(), + record: any(), + repo: String.t(), + rkey: String.t(), + swap_commit: String.t(), + validate: boolean() + } + @type error :: ProtoRune.Com.Atproto.Repo.CreateRecord.MainErrorInvalidSwap.t() +end diff --git a/lib/proto_rune/com/atproto/repo/create_record/main_error_invalid_swap.ex b/lib/proto_rune/com/atproto/repo/create_record/main_error_invalid_swap.ex new file mode 100644 index 0000000..1103751 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/create_record/main_error_invalid_swap.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.CreateRecord.MainErrorInvalidSwap do + @moduledoc """ + Generated schema for mainErrorInvalidSwap + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/repo/defs/commit_meta.ex b/lib/proto_rune/com/atproto/repo/defs/commit_meta.ex new file mode 100644 index 0000000..4a27bd3 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/defs/commit_meta.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.Defs.CommitMeta do + @moduledoc """ + Generated schema for commitMeta + + **Description**: No description provided. + """ + + @enforce_keys [:cid, :rev] + defstruct cid: nil, rev: nil + + @type t :: %__MODULE__{ + cid: String.t(), + rev: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/repo/delete_record.ex b/lib/proto_rune/com/atproto/repo/delete_record.ex new file mode 100644 index 0000000..b4cb6e9 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/delete_record.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.DeleteRecord do + @moduledoc """ + Generated procedure module for main + + **Description**: Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS. + """ + + @type output :: %{commit: ProtoRune.Com.Atproto.Repo.Defs.CommitMeta.t()} + @type input :: %{ + collection: String.t(), + repo: String.t(), + rkey: String.t(), + swap_commit: String.t(), + swap_record: String.t() + } + @type error :: ProtoRune.Com.Atproto.Repo.DeleteRecord.MainErrorInvalidSwap.t() +end diff --git a/lib/proto_rune/com/atproto/repo/delete_record/main_error_invalid_swap.ex b/lib/proto_rune/com/atproto/repo/delete_record/main_error_invalid_swap.ex new file mode 100644 index 0000000..6a5aabc --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/delete_record/main_error_invalid_swap.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.DeleteRecord.MainErrorInvalidSwap do + @moduledoc """ + Generated schema for mainErrorInvalidSwap + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/repo/describe_repo.ex b/lib/proto_rune/com/atproto/repo/describe_repo.ex new file mode 100644 index 0000000..97b9d01 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/describe_repo.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.DescribeRepo do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{repo: String.t()} +end diff --git a/lib/proto_rune/com/atproto/repo/get_record.ex b/lib/proto_rune/com/atproto/repo/get_record.ex new file mode 100644 index 0000000..cf4eabd --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/get_record.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.GetRecord do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cid: String.t(), collection: String.t(), repo: String.t(), rkey: String.t()} +end diff --git a/lib/proto_rune/com/atproto/repo/import_repo.ex b/lib/proto_rune/com/atproto/repo/import_repo.ex new file mode 100644 index 0000000..4e26d92 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/import_repo.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ImportRepo do + @moduledoc """ + Generated procedure module for main + + **Description**: Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set. + """ + + @type input :: any() +end diff --git a/lib/proto_rune/com/atproto/repo/list_missing_blobs.ex b/lib/proto_rune/com/atproto/repo/list_missing_blobs.ex new file mode 100644 index 0000000..c5ed9e0 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/list_missing_blobs.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ListMissingBlobs do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/com/atproto/repo/list_missing_blobs/record_blob.ex b/lib/proto_rune/com/atproto/repo/list_missing_blobs/record_blob.ex new file mode 100644 index 0000000..72e27e7 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/list_missing_blobs/record_blob.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ListMissingBlobs.RecordBlob do + @moduledoc """ + Generated schema for recordBlob + + **Description**: No description provided. + """ + + @enforce_keys [:cid, :record_uri] + defstruct cid: nil, record_uri: nil + + @type t :: %__MODULE__{ + cid: String.t(), + record_uri: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/repo/list_records.ex b/lib/proto_rune/com/atproto/repo/list_records.ex new file mode 100644 index 0000000..f36580c --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/list_records.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ListRecords do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + collection: String.t(), + cursor: String.t(), + limit: integer(), + repo: String.t(), + reverse: boolean(), + rkey_end: String.t(), + rkey_start: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/repo/list_records/record.ex b/lib/proto_rune/com/atproto/repo/list_records/record.ex new file mode 100644 index 0000000..8eb1ac4 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/list_records/record.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.ListRecords.Record do + @moduledoc """ + Generated schema for record + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :value] + defstruct cid: nil, uri: nil, value: nil + + @type t :: %__MODULE__{ + cid: String.t(), + uri: String.t(), + value: any() + } +end diff --git a/lib/proto_rune/com/atproto/repo/put_record.ex b/lib/proto_rune/com/atproto/repo/put_record.ex new file mode 100644 index 0000000..86106af --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/put_record.ex @@ -0,0 +1,25 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.PutRecord do + @moduledoc """ + Generated procedure module for main + + **Description**: Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS. + """ + + @type output :: %{ + cid: String.t(), + commit: ProtoRune.Com.Atproto.Repo.Defs.CommitMeta.t(), + uri: String.t(), + validation_status: :valid | :unknown + } + @type input :: %{ + collection: String.t(), + record: any(), + repo: String.t(), + rkey: String.t(), + swap_commit: String.t(), + swap_record: String.t() | nil, + validate: boolean() + } + @type error :: ProtoRune.Com.Atproto.Repo.PutRecord.MainErrorInvalidSwap.t() +end diff --git a/lib/proto_rune/com/atproto/repo/put_record/main_error_invalid_swap.ex b/lib/proto_rune/com/atproto/repo/put_record/main_error_invalid_swap.ex new file mode 100644 index 0000000..ea15737 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/put_record/main_error_invalid_swap.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.PutRecord.MainErrorInvalidSwap do + @moduledoc """ + Generated schema for mainErrorInvalidSwap + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/repo/strong_ref.ex b/lib/proto_rune/com/atproto/repo/strong_ref.ex new file mode 100644 index 0000000..3274830 --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/strong_ref.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.StrongRef do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid] + defstruct cid: nil, uri: nil + + @type t :: %__MODULE__{ + cid: String.t(), + uri: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/repo/upload_blob.ex b/lib/proto_rune/com/atproto/repo/upload_blob.ex new file mode 100644 index 0000000..12cd53b --- /dev/null +++ b/lib/proto_rune/com/atproto/repo/upload_blob.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Repo.UploadBlob do + @moduledoc """ + Generated procedure module for main + + **Description**: Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference is created. Requires auth, implemented by PDS. + """ + + @type output :: %{blob: binary()} + @type input :: any() +end diff --git a/lib/proto_rune/com/atproto/server/activate_account.ex b/lib/proto_rune/com/atproto/server/activate_account.ex new file mode 100644 index 0000000..1c04a74 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/activate_account.ex @@ -0,0 +1,8 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ActivateAccount do + @moduledoc """ + Generated procedure module for main + + **Description**: Activates a currently deactivated account. Used to finalize account migration after the account's repo is imported and identity is setup. + """ +end diff --git a/lib/proto_rune/com/atproto/server/check_account_status.ex b/lib/proto_rune/com/atproto/server/check_account_status.ex new file mode 100644 index 0000000..a09947e --- /dev/null +++ b/lib/proto_rune/com/atproto/server/check_account_status.ex @@ -0,0 +1,20 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CheckAccountStatus do + @moduledoc """ + Generated query module for main + + **Description**: Returns the status of an account, especially as pertaining to import or recovery. Can be called many times over the course of an account migration. Requires auth and can only be called pertaining to oneself. + """ + + @type output :: %{ + activated: boolean(), + expected_blobs: integer(), + imported_blobs: integer(), + indexed_records: integer(), + private_state_values: integer(), + repo_blocks: integer(), + repo_commit: String.t(), + repo_rev: String.t(), + valid_did: boolean() + } +end diff --git a/lib/proto_rune/com/atproto/server/confirm_email.ex b/lib/proto_rune/com/atproto/server/confirm_email.ex new file mode 100644 index 0000000..2b3d8f7 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/confirm_email.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ConfirmEmail do + @moduledoc """ + Generated procedure module for main + + **Description**: Confirm an email using a token from com.atproto.server.requestEmailConfirmation. + """ + + @type input :: %{email: String.t(), token: String.t()} + @type error :: + ProtoRune.Com.Atproto.Server.ConfirmEmail.MainErrorAccountNotFound.t() + | ProtoRune.Com.Atproto.Server.ConfirmEmail.MainErrorExpiredToken.t() + | ProtoRune.Com.Atproto.Server.ConfirmEmail.MainErrorInvalidToken.t() + | ProtoRune.Com.Atproto.Server.ConfirmEmail.MainErrorInvalidEmail.t() +end diff --git a/lib/proto_rune/com/atproto/server/confirm_email/main_error_account_not_found.ex b/lib/proto_rune/com/atproto/server/confirm_email/main_error_account_not_found.ex new file mode 100644 index 0000000..18188b1 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/confirm_email/main_error_account_not_found.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ConfirmEmail.MainErrorAccountNotFound do + @moduledoc """ + Generated schema for mainErrorAccountNotFound + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/confirm_email/main_error_expired_token.ex b/lib/proto_rune/com/atproto/server/confirm_email/main_error_expired_token.ex new file mode 100644 index 0000000..61592d6 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/confirm_email/main_error_expired_token.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ConfirmEmail.MainErrorExpiredToken do + @moduledoc """ + Generated schema for mainErrorExpiredToken + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/confirm_email/main_error_invalid_email.ex b/lib/proto_rune/com/atproto/server/confirm_email/main_error_invalid_email.ex new file mode 100644 index 0000000..06f5506 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/confirm_email/main_error_invalid_email.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ConfirmEmail.MainErrorInvalidEmail do + @moduledoc """ + Generated schema for mainErrorInvalidEmail + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/confirm_email/main_error_invalid_token.ex b/lib/proto_rune/com/atproto/server/confirm_email/main_error_invalid_token.ex new file mode 100644 index 0000000..618a711 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/confirm_email/main_error_invalid_token.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ConfirmEmail.MainErrorInvalidToken do + @moduledoc """ + Generated schema for mainErrorInvalidToken + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_account.ex b/lib/proto_rune/com/atproto/server/create_account.ex new file mode 100644 index 0000000..780e7c4 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_account.ex @@ -0,0 +1,35 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAccount do + @moduledoc """ + Generated procedure module for main + + **Description**: Create an account. Implemented by PDS. + """ + + @type output :: %{ + access_jwt: String.t(), + did: String.t(), + did_doc: any(), + handle: String.t(), + refresh_jwt: String.t() + } + @type input :: %{ + did: String.t(), + email: String.t(), + handle: String.t(), + invite_code: String.t(), + password: String.t(), + plc_op: any(), + recovery_key: String.t(), + verification_code: String.t(), + verification_phone: String.t() + } + @type error :: + ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorInvalidHandle.t() + | ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorInvalidPassword.t() + | ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorInvalidInviteCode.t() + | ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorHandleNotAvailable.t() + | ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorUnsupportedDomain.t() + | ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorUnresolvableDid.t() + | ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorIncompatibleDidDoc.t() +end diff --git a/lib/proto_rune/com/atproto/server/create_account/main_error_handle_not_available.ex b/lib/proto_rune/com/atproto/server/create_account/main_error_handle_not_available.ex new file mode 100644 index 0000000..6b9ecf4 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_account/main_error_handle_not_available.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorHandleNotAvailable do + @moduledoc """ + Generated schema for mainErrorHandleNotAvailable + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_account/main_error_incompatible_did_doc.ex b/lib/proto_rune/com/atproto/server/create_account/main_error_incompatible_did_doc.ex new file mode 100644 index 0000000..a4e86cc --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_account/main_error_incompatible_did_doc.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorIncompatibleDidDoc do + @moduledoc """ + Generated schema for mainErrorIncompatibleDidDoc + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_handle.ex b/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_handle.ex new file mode 100644 index 0000000..3fd9552 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_handle.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorInvalidHandle do + @moduledoc """ + Generated schema for mainErrorInvalidHandle + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_invite_code.ex b/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_invite_code.ex new file mode 100644 index 0000000..86c37c0 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_invite_code.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorInvalidInviteCode do + @moduledoc """ + Generated schema for mainErrorInvalidInviteCode + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_password.ex b/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_password.ex new file mode 100644 index 0000000..688b83e --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_account/main_error_invalid_password.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorInvalidPassword do + @moduledoc """ + Generated schema for mainErrorInvalidPassword + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_account/main_error_unresolvable_did.ex b/lib/proto_rune/com/atproto/server/create_account/main_error_unresolvable_did.ex new file mode 100644 index 0000000..1cec719 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_account/main_error_unresolvable_did.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorUnresolvableDid do + @moduledoc """ + Generated schema for mainErrorUnresolvableDid + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_account/main_error_unsupported_domain.ex b/lib/proto_rune/com/atproto/server/create_account/main_error_unsupported_domain.ex new file mode 100644 index 0000000..9c5003a --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_account/main_error_unsupported_domain.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAccount.MainErrorUnsupportedDomain do + @moduledoc """ + Generated schema for mainErrorUnsupportedDomain + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_app_password.ex b/lib/proto_rune/com/atproto/server/create_app_password.ex new file mode 100644 index 0000000..9688607 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_app_password.ex @@ -0,0 +1,12 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAppPassword do + @moduledoc """ + Generated procedure module for main + + **Description**: Create an App Password. + """ + + @type output :: ProtoRune.Com.Atproto.Server.CreateAppPassword.AppPassword.t() + @type input :: %{name: String.t(), privileged: boolean()} + @type error :: ProtoRune.Com.Atproto.Server.CreateAppPassword.MainErrorAccountTakedown.t() +end diff --git a/lib/proto_rune/com/atproto/server/create_app_password/app_password.ex b/lib/proto_rune/com/atproto/server/create_app_password/app_password.ex new file mode 100644 index 0000000..bc48004 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_app_password/app_password.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAppPassword.AppPassword do + @moduledoc """ + Generated schema for appPassword + + **Description**: No description provided. + """ + + @enforce_keys [:name, :password, :created_at] + defstruct created_at: nil, name: nil, password: nil, privileged: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + name: String.t(), + password: String.t(), + privileged: boolean() + } +end diff --git a/lib/proto_rune/com/atproto/server/create_app_password/main_error_account_takedown.ex b/lib/proto_rune/com/atproto/server/create_app_password/main_error_account_takedown.ex new file mode 100644 index 0000000..4f061da --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_app_password/main_error_account_takedown.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateAppPassword.MainErrorAccountTakedown do + @moduledoc """ + Generated schema for mainErrorAccountTakedown + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_invite_code.ex b/lib/proto_rune/com/atproto/server/create_invite_code.ex new file mode 100644 index 0000000..e22589b --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_invite_code.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateInviteCode do + @moduledoc """ + Generated procedure module for main + + **Description**: Create an invite code. + """ + + @type output :: %{code: String.t()} + @type input :: %{for_account: String.t(), use_count: integer()} +end diff --git a/lib/proto_rune/com/atproto/server/create_invite_codes.ex b/lib/proto_rune/com/atproto/server/create_invite_codes.ex new file mode 100644 index 0000000..7cf637b --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_invite_codes.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateInviteCodes do + @moduledoc """ + Generated procedure module for main + + **Description**: Create invite codes. + """ + + @type output :: %{codes: list(ProtoRune.Com.Atproto.Server.CreateInviteCodes.AccountCodes.t())} + @type input :: %{code_count: integer(), for_accounts: list(String.t()), use_count: integer()} +end diff --git a/lib/proto_rune/com/atproto/server/create_invite_codes/account_codes.ex b/lib/proto_rune/com/atproto/server/create_invite_codes/account_codes.ex new file mode 100644 index 0000000..1c4a076 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_invite_codes/account_codes.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateInviteCodes.AccountCodes do + @moduledoc """ + Generated schema for accountCodes + + **Description**: No description provided. + """ + + @enforce_keys [:account, :codes] + defstruct account: nil, codes: nil + + @type t :: %__MODULE__{ + account: String.t(), + codes: list(String.t()) + } +end diff --git a/lib/proto_rune/com/atproto/server/create_session.ex b/lib/proto_rune/com/atproto/server/create_session.ex new file mode 100644 index 0000000..60b4147 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_session.ex @@ -0,0 +1,25 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateSession do + @moduledoc """ + Generated procedure module for main + + **Description**: Create an authentication session. + """ + + @type output :: %{ + access_jwt: String.t(), + active: boolean(), + did: String.t(), + did_doc: any(), + email: String.t(), + email_auth_factor: boolean(), + email_confirmed: boolean(), + handle: String.t(), + refresh_jwt: String.t(), + status: :takendown | :suspended | :deactivated + } + @type input :: %{auth_factor_token: String.t(), identifier: String.t(), password: String.t()} + @type error :: + ProtoRune.Com.Atproto.Server.CreateSession.MainErrorAccountTakedown.t() + | ProtoRune.Com.Atproto.Server.CreateSession.MainErrorAuthFactorTokenRequired.t() +end diff --git a/lib/proto_rune/com/atproto/server/create_session/main_error_account_takedown.ex b/lib/proto_rune/com/atproto/server/create_session/main_error_account_takedown.ex new file mode 100644 index 0000000..86d5095 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_session/main_error_account_takedown.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateSession.MainErrorAccountTakedown do + @moduledoc """ + Generated schema for mainErrorAccountTakedown + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/create_session/main_error_auth_factor_token_required.ex b/lib/proto_rune/com/atproto/server/create_session/main_error_auth_factor_token_required.ex new file mode 100644 index 0000000..59e91fa --- /dev/null +++ b/lib/proto_rune/com/atproto/server/create_session/main_error_auth_factor_token_required.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.CreateSession.MainErrorAuthFactorTokenRequired do + @moduledoc """ + Generated schema for mainErrorAuthFactorTokenRequired + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/deactivate_account.ex b/lib/proto_rune/com/atproto/server/deactivate_account.ex new file mode 100644 index 0000000..89cb77a --- /dev/null +++ b/lib/proto_rune/com/atproto/server/deactivate_account.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.DeactivateAccount do + @moduledoc """ + Generated procedure module for main + + **Description**: Deactivates a currently active account. Stops serving of repo, and future writes to repo until reactivated. Used to finalize account migration with the old host after the account has been activated on the new host. + """ + + @type input :: %{delete_after: String.t()} +end diff --git a/lib/proto_rune/com/atproto/server/defs/invite_code.ex b/lib/proto_rune/com/atproto/server/defs/invite_code.ex new file mode 100644 index 0000000..c7db5a4 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/defs/invite_code.ex @@ -0,0 +1,27 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.Defs.InviteCode do + @moduledoc """ + Generated schema for inviteCode + + **Description**: No description provided. + """ + + @enforce_keys [:code, :available, :disabled, :for_account, :created_by, :created_at, :uses] + defstruct available: nil, + code: nil, + created_at: nil, + created_by: nil, + disabled: nil, + for_account: nil, + uses: nil + + @type t :: %__MODULE__{ + available: integer(), + code: String.t(), + created_at: String.t(), + created_by: String.t(), + disabled: boolean(), + for_account: String.t(), + uses: list(ProtoRune.Com.Atproto.Server.Defs.InviteCodeUse.t()) + } +end diff --git a/lib/proto_rune/com/atproto/server/defs/invite_code_use.ex b/lib/proto_rune/com/atproto/server/defs/invite_code_use.ex new file mode 100644 index 0000000..37c227d --- /dev/null +++ b/lib/proto_rune/com/atproto/server/defs/invite_code_use.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.Defs.InviteCodeUse do + @moduledoc """ + Generated schema for inviteCodeUse + + **Description**: No description provided. + """ + + @enforce_keys [:used_by, :used_at] + defstruct used_at: nil, used_by: nil + + @type t :: %__MODULE__{ + used_at: String.t(), + used_by: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/server/delete_account.ex b/lib/proto_rune/com/atproto/server/delete_account.ex new file mode 100644 index 0000000..d3fe7ae --- /dev/null +++ b/lib/proto_rune/com/atproto/server/delete_account.ex @@ -0,0 +1,13 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.DeleteAccount do + @moduledoc """ + Generated procedure module for main + + **Description**: Delete an actor's account with a token and password. Can only be called after requesting a deletion token. Requires auth. + """ + + @type input :: %{did: String.t(), password: String.t(), token: String.t()} + @type error :: + ProtoRune.Com.Atproto.Server.DeleteAccount.MainErrorExpiredToken.t() + | ProtoRune.Com.Atproto.Server.DeleteAccount.MainErrorInvalidToken.t() +end diff --git a/lib/proto_rune/com/atproto/server/delete_account/main_error_expired_token.ex b/lib/proto_rune/com/atproto/server/delete_account/main_error_expired_token.ex new file mode 100644 index 0000000..8ed377f --- /dev/null +++ b/lib/proto_rune/com/atproto/server/delete_account/main_error_expired_token.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.DeleteAccount.MainErrorExpiredToken do + @moduledoc """ + Generated schema for mainErrorExpiredToken + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/delete_account/main_error_invalid_token.ex b/lib/proto_rune/com/atproto/server/delete_account/main_error_invalid_token.ex new file mode 100644 index 0000000..be45223 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/delete_account/main_error_invalid_token.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.DeleteAccount.MainErrorInvalidToken do + @moduledoc """ + Generated schema for mainErrorInvalidToken + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/delete_session.ex b/lib/proto_rune/com/atproto/server/delete_session.ex new file mode 100644 index 0000000..7412db7 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/delete_session.ex @@ -0,0 +1,8 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.DeleteSession do + @moduledoc """ + Generated procedure module for main + + **Description**: Delete the current session. Requires auth. + """ +end diff --git a/lib/proto_rune/com/atproto/server/describe_server.ex b/lib/proto_rune/com/atproto/server/describe_server.ex new file mode 100644 index 0000000..0f8630c --- /dev/null +++ b/lib/proto_rune/com/atproto/server/describe_server.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.DescribeServer do + @moduledoc """ + Generated query module for main + + **Description**: Describes the server's account creation requirements and capabilities. Implemented by PDS. + """ + + @type output :: %{ + available_user_domains: list(String.t()), + contact: ProtoRune.Com.Atproto.Server.DescribeServer.Contact.t(), + did: String.t(), + invite_code_required: boolean(), + links: ProtoRune.Com.Atproto.Server.DescribeServer.Links.t(), + phone_verification_required: boolean() + } +end diff --git a/lib/proto_rune/com/atproto/server/describe_server/contact.ex b/lib/proto_rune/com/atproto/server/describe_server/contact.ex new file mode 100644 index 0000000..bbb1042 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/describe_server/contact.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.DescribeServer.Contact do + @moduledoc """ + Generated schema for contact + + **Description**: No description provided. + """ + + defstruct email: nil + + @type t :: %__MODULE__{ + email: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/server/describe_server/links.ex b/lib/proto_rune/com/atproto/server/describe_server/links.ex new file mode 100644 index 0000000..4aff4b3 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/describe_server/links.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.DescribeServer.Links do + @moduledoc """ + Generated schema for links + + **Description**: No description provided. + """ + + defstruct privacy_policy: nil, terms_of_service: nil + + @type t :: %__MODULE__{ + privacy_policy: String.t(), + terms_of_service: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/server/get_account_invite_codes.ex b/lib/proto_rune/com/atproto/server/get_account_invite_codes.ex new file mode 100644 index 0000000..2bdb915 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/get_account_invite_codes.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.GetAccountInviteCodes do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{create_available: boolean(), include_used: boolean()} +end diff --git a/lib/proto_rune/com/atproto/server/get_service_auth.ex b/lib/proto_rune/com/atproto/server/get_service_auth.ex new file mode 100644 index 0000000..70532b2 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/get_service_auth.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.GetServiceAuth do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{aud: String.t(), exp: integer(), lxm: String.t()} +end diff --git a/lib/proto_rune/com/atproto/server/get_session.ex b/lib/proto_rune/com/atproto/server/get_session.ex new file mode 100644 index 0000000..2f3b781 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/get_session.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.GetSession do + @moduledoc """ + Generated query module for main + + **Description**: Get information about the current auth session. Requires auth. + """ + + @type output :: %{ + active: boolean(), + did: String.t(), + did_doc: any(), + email: String.t(), + email_auth_factor: boolean(), + email_confirmed: boolean(), + handle: String.t(), + status: :takendown | :suspended | :deactivated + } +end diff --git a/lib/proto_rune/com/atproto/server/list_app_passwords.ex b/lib/proto_rune/com/atproto/server/list_app_passwords.ex new file mode 100644 index 0000000..3eb17ce --- /dev/null +++ b/lib/proto_rune/com/atproto/server/list_app_passwords.ex @@ -0,0 +1,13 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ListAppPasswords do + @moduledoc """ + Generated query module for main + + **Description**: List all App Passwords. + """ + + @type output :: %{ + passwords: list(ProtoRune.Com.Atproto.Server.ListAppPasswords.AppPassword.t()) + } + @type error :: ProtoRune.Com.Atproto.Server.ListAppPasswords.MainErrorAccountTakedown.t() +end diff --git a/lib/proto_rune/com/atproto/server/list_app_passwords/app_password.ex b/lib/proto_rune/com/atproto/server/list_app_passwords/app_password.ex new file mode 100644 index 0000000..bdbc765 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/list_app_passwords/app_password.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ListAppPasswords.AppPassword do + @moduledoc """ + Generated schema for appPassword + + **Description**: No description provided. + """ + + @enforce_keys [:name, :created_at] + defstruct created_at: nil, name: nil, privileged: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + name: String.t(), + privileged: boolean() + } +end diff --git a/lib/proto_rune/com/atproto/server/list_app_passwords/main_error_account_takedown.ex b/lib/proto_rune/com/atproto/server/list_app_passwords/main_error_account_takedown.ex new file mode 100644 index 0000000..06f07bd --- /dev/null +++ b/lib/proto_rune/com/atproto/server/list_app_passwords/main_error_account_takedown.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ListAppPasswords.MainErrorAccountTakedown do + @moduledoc """ + Generated schema for mainErrorAccountTakedown + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/refresh_session.ex b/lib/proto_rune/com/atproto/server/refresh_session.ex new file mode 100644 index 0000000..b1e3612 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/refresh_session.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.RefreshSession do + @moduledoc """ + Generated procedure module for main + + **Description**: Refresh an authentication session. Requires auth using the 'refreshJwt' (not the 'accessJwt'). + """ + + @type output :: %{ + access_jwt: String.t(), + active: boolean(), + did: String.t(), + did_doc: any(), + handle: String.t(), + refresh_jwt: String.t(), + status: :takendown | :suspended | :deactivated + } + @type error :: ProtoRune.Com.Atproto.Server.RefreshSession.MainErrorAccountTakedown.t() +end diff --git a/lib/proto_rune/com/atproto/server/refresh_session/main_error_account_takedown.ex b/lib/proto_rune/com/atproto/server/refresh_session/main_error_account_takedown.ex new file mode 100644 index 0000000..91263ee --- /dev/null +++ b/lib/proto_rune/com/atproto/server/refresh_session/main_error_account_takedown.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.RefreshSession.MainErrorAccountTakedown do + @moduledoc """ + Generated schema for mainErrorAccountTakedown + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/request_account_delete.ex b/lib/proto_rune/com/atproto/server/request_account_delete.ex new file mode 100644 index 0000000..2001a0d --- /dev/null +++ b/lib/proto_rune/com/atproto/server/request_account_delete.ex @@ -0,0 +1,8 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.RequestAccountDelete do + @moduledoc """ + Generated procedure module for main + + **Description**: Initiate a user account deletion via email. + """ +end diff --git a/lib/proto_rune/com/atproto/server/request_email_confirmation.ex b/lib/proto_rune/com/atproto/server/request_email_confirmation.ex new file mode 100644 index 0000000..9291d93 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/request_email_confirmation.ex @@ -0,0 +1,8 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.RequestEmailConfirmation do + @moduledoc """ + Generated procedure module for main + + **Description**: Request an email with a code to confirm ownership of email. + """ +end diff --git a/lib/proto_rune/com/atproto/server/request_email_update.ex b/lib/proto_rune/com/atproto/server/request_email_update.ex new file mode 100644 index 0000000..6282eff --- /dev/null +++ b/lib/proto_rune/com/atproto/server/request_email_update.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.RequestEmailUpdate do + @moduledoc """ + Generated procedure module for main + + **Description**: Request a token in order to update email. + """ + + @type output :: %{token_required: boolean()} +end diff --git a/lib/proto_rune/com/atproto/server/request_password_reset.ex b/lib/proto_rune/com/atproto/server/request_password_reset.ex new file mode 100644 index 0000000..959b316 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/request_password_reset.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.RequestPasswordReset do + @moduledoc """ + Generated procedure module for main + + **Description**: Initiate a user account password reset via email. + """ + + @type input :: %{email: String.t()} +end diff --git a/lib/proto_rune/com/atproto/server/reserve_signing_key.ex b/lib/proto_rune/com/atproto/server/reserve_signing_key.ex new file mode 100644 index 0000000..2df47ec --- /dev/null +++ b/lib/proto_rune/com/atproto/server/reserve_signing_key.ex @@ -0,0 +1,11 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ReserveSigningKey do + @moduledoc """ + Generated procedure module for main + + **Description**: Reserve a repo signing key, for use with account creation. Necessary so that a DID PLC update operation can be constructed during an account migraiton. Public and does not require auth; implemented by PDS. NOTE: this endpoint may change when full account migration is implemented. + """ + + @type output :: %{signing_key: String.t()} + @type input :: %{did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/server/reset_password.ex b/lib/proto_rune/com/atproto/server/reset_password.ex new file mode 100644 index 0000000..39963fe --- /dev/null +++ b/lib/proto_rune/com/atproto/server/reset_password.ex @@ -0,0 +1,13 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ResetPassword do + @moduledoc """ + Generated procedure module for main + + **Description**: Reset a user account password using a token. + """ + + @type input :: %{password: String.t(), token: String.t()} + @type error :: + ProtoRune.Com.Atproto.Server.ResetPassword.MainErrorExpiredToken.t() + | ProtoRune.Com.Atproto.Server.ResetPassword.MainErrorInvalidToken.t() +end diff --git a/lib/proto_rune/com/atproto/server/reset_password/main_error_expired_token.ex b/lib/proto_rune/com/atproto/server/reset_password/main_error_expired_token.ex new file mode 100644 index 0000000..b70fcb2 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/reset_password/main_error_expired_token.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ResetPassword.MainErrorExpiredToken do + @moduledoc """ + Generated schema for mainErrorExpiredToken + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/reset_password/main_error_invalid_token.ex b/lib/proto_rune/com/atproto/server/reset_password/main_error_invalid_token.ex new file mode 100644 index 0000000..3595041 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/reset_password/main_error_invalid_token.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.ResetPassword.MainErrorInvalidToken do + @moduledoc """ + Generated schema for mainErrorInvalidToken + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/revoke_app_password.ex b/lib/proto_rune/com/atproto/server/revoke_app_password.ex new file mode 100644 index 0000000..62b9312 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/revoke_app_password.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.RevokeAppPassword do + @moduledoc """ + Generated procedure module for main + + **Description**: Revoke an App Password by name. + """ + + @type input :: %{name: String.t()} +end diff --git a/lib/proto_rune/com/atproto/server/update_email.ex b/lib/proto_rune/com/atproto/server/update_email.ex new file mode 100644 index 0000000..afaea35 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/update_email.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.UpdateEmail do + @moduledoc """ + Generated procedure module for main + + **Description**: Update an account's email. + """ + + @type input :: %{email: String.t(), email_auth_factor: boolean(), token: String.t()} + @type error :: + ProtoRune.Com.Atproto.Server.UpdateEmail.MainErrorExpiredToken.t() + | ProtoRune.Com.Atproto.Server.UpdateEmail.MainErrorInvalidToken.t() + | ProtoRune.Com.Atproto.Server.UpdateEmail.MainErrorTokenRequired.t() +end diff --git a/lib/proto_rune/com/atproto/server/update_email/main_error_expired_token.ex b/lib/proto_rune/com/atproto/server/update_email/main_error_expired_token.ex new file mode 100644 index 0000000..086e85b --- /dev/null +++ b/lib/proto_rune/com/atproto/server/update_email/main_error_expired_token.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.UpdateEmail.MainErrorExpiredToken do + @moduledoc """ + Generated schema for mainErrorExpiredToken + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/update_email/main_error_invalid_token.ex b/lib/proto_rune/com/atproto/server/update_email/main_error_invalid_token.ex new file mode 100644 index 0000000..d182f68 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/update_email/main_error_invalid_token.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.UpdateEmail.MainErrorInvalidToken do + @moduledoc """ + Generated schema for mainErrorInvalidToken + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/server/update_email/main_error_token_required.ex b/lib/proto_rune/com/atproto/server/update_email/main_error_token_required.ex new file mode 100644 index 0000000..7520b32 --- /dev/null +++ b/lib/proto_rune/com/atproto/server/update_email/main_error_token_required.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Server.UpdateEmail.MainErrorTokenRequired do + @moduledoc """ + Generated schema for mainErrorTokenRequired + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/com/atproto/sync/get_blob.ex b/lib/proto_rune/com/atproto/sync/get_blob.ex new file mode 100644 index 0000000..d1a44ed --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/get_blob.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.GetBlob do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cid: String.t(), did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/get_blocks.ex b/lib/proto_rune/com/atproto/sync/get_blocks.ex new file mode 100644 index 0000000..cc7497d --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/get_blocks.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.GetBlocks do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cids: list(String.t()), did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/get_checkout.ex b/lib/proto_rune/com/atproto/sync/get_checkout.ex new file mode 100644 index 0000000..543dd22 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/get_checkout.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.GetCheckout do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/get_head.ex b/lib/proto_rune/com/atproto/sync/get_head.ex new file mode 100644 index 0000000..dceff69 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/get_head.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.GetHead do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/get_latest_commit.ex b/lib/proto_rune/com/atproto/sync/get_latest_commit.ex new file mode 100644 index 0000000..417738f --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/get_latest_commit.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.GetLatestCommit do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/get_record.ex b/lib/proto_rune/com/atproto/sync/get_record.ex new file mode 100644 index 0000000..ea99923 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/get_record.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.GetRecord do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{collection: String.t(), commit: String.t(), did: String.t(), rkey: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/get_repo.ex b/lib/proto_rune/com/atproto/sync/get_repo.ex new file mode 100644 index 0000000..bf743e7 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/get_repo.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.GetRepo do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{did: String.t(), since: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/get_repo_status.ex b/lib/proto_rune/com/atproto/sync/get_repo_status.ex new file mode 100644 index 0000000..94f2a40 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/get_repo_status.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.GetRepoStatus do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{did: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/list_blobs.ex b/lib/proto_rune/com/atproto/sync/list_blobs.ex new file mode 100644 index 0000000..9b0913e --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/list_blobs.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.ListBlobs do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), did: String.t(), limit: integer(), since: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/list_repos.ex b/lib/proto_rune/com/atproto/sync/list_repos.ex new file mode 100644 index 0000000..882f9bd --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/list_repos.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.ListRepos do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/com/atproto/sync/list_repos/repo.ex b/lib/proto_rune/com/atproto/sync/list_repos/repo.ex new file mode 100644 index 0000000..4ac6784 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/list_repos/repo.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.ListRepos.Repo do + @moduledoc """ + Generated schema for repo + + **Description**: No description provided. + """ + + @enforce_keys [:did, :head, :rev] + defstruct active: nil, did: nil, head: nil, rev: nil, status: nil + + @type t :: %__MODULE__{ + active: boolean(), + did: String.t(), + head: String.t(), + rev: String.t(), + status: :takendown | :suspended | :deactivated + } +end diff --git a/lib/proto_rune/com/atproto/sync/notify_of_update.ex b/lib/proto_rune/com/atproto/sync/notify_of_update.ex new file mode 100644 index 0000000..136dd78 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/notify_of_update.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.NotifyOfUpdate do + @moduledoc """ + Generated procedure module for main + + **Description**: Notify a crawling service of a recent update, and that crawling should resume. Intended use is after a gap between repo stream events caused the crawling service to disconnect. Does not require auth; implemented by Relay. + """ + + @type input :: %{hostname: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/request_crawl.ex b/lib/proto_rune/com/atproto/sync/request_crawl.ex new file mode 100644 index 0000000..5a0ab21 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/request_crawl.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.RequestCrawl do + @moduledoc """ + Generated procedure module for main + + **Description**: Request a service to persistently crawl hosted repos. Expected use is new PDS instances declaring their existence to Relays. Does not require auth. + """ + + @type input :: %{hostname: String.t()} +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos.ex new file mode 100644 index 0000000..607036d --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: integer()} +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos/account.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos/account.ex new file mode 100644 index 0000000..ad5d7a1 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos/account.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos.Account do + @moduledoc """ + Generated schema for account + + **Description**: Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active. + """ + + @enforce_keys [:seq, :did, :time, :active] + defstruct active: nil, did: nil, seq: nil, status: nil, time: nil + + @type t :: %__MODULE__{ + active: boolean(), + did: String.t(), + seq: integer(), + status: :takendown | :suspended | :deleted | :deactivated, + time: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos/commit.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos/commit.ex new file mode 100644 index 0000000..f18a528 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos/commit.ex @@ -0,0 +1,49 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos.Commit do + @moduledoc """ + Generated schema for commit + + **Description**: Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature. + """ + + @enforce_keys [ + :seq, + :rebase, + :too_big, + :repo, + :commit, + :rev, + :since, + :blocks, + :ops, + :blobs, + :time + ] + defstruct blobs: nil, + blocks: nil, + commit: nil, + ops: nil, + prev: nil, + rebase: nil, + repo: nil, + rev: nil, + seq: nil, + since: nil, + time: nil, + too_big: nil + + @type t :: %__MODULE__{ + blobs: list(binary()), + blocks: binary(), + commit: binary(), + ops: list(ProtoRune.Com.Atproto.Sync.SubscribeRepos.RepoOp.t()), + prev: binary() | nil, + rebase: boolean(), + repo: String.t(), + rev: String.t(), + seq: integer(), + since: String.t() | nil, + time: String.t(), + too_big: boolean() + } +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos/handle.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos/handle.ex new file mode 100644 index 0000000..ae22a67 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos/handle.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos.Handle do + @moduledoc """ + Generated schema for handle + + **Description**: DEPRECATED -- Use #identity event instead + """ + + @enforce_keys [:seq, :did, :handle, :time] + defstruct did: nil, handle: nil, seq: nil, time: nil + + @type t :: %__MODULE__{ + did: String.t(), + handle: String.t(), + seq: integer(), + time: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos/identity.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos/identity.ex new file mode 100644 index 0000000..c7a4ed8 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos/identity.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos.Identity do + @moduledoc """ + Generated schema for identity + + **Description**: Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache. + """ + + @enforce_keys [:seq, :did, :time] + defstruct did: nil, handle: nil, seq: nil, time: nil + + @type t :: %__MODULE__{ + did: String.t(), + handle: String.t(), + seq: integer(), + time: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos/info.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos/info.ex new file mode 100644 index 0000000..bf869c7 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos/info.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos.Info do + @moduledoc """ + Generated schema for info + + **Description**: No description provided. + """ + + @enforce_keys [:name] + defstruct message: nil, name: nil + + @type t :: %__MODULE__{ + message: String.t(), + name: :OutdatedCursor + } +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos/migrate.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos/migrate.ex new file mode 100644 index 0000000..3b7f31c --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos/migrate.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos.Migrate do + @moduledoc """ + Generated schema for migrate + + **Description**: DEPRECATED -- Use #account event instead + """ + + @enforce_keys [:seq, :did, :migrate_to, :time] + defstruct did: nil, migrate_to: nil, seq: nil, time: nil + + @type t :: %__MODULE__{ + did: String.t(), + migrate_to: String.t() | nil, + seq: integer(), + time: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos/repo_op.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos/repo_op.ex new file mode 100644 index 0000000..338a8a2 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos/repo_op.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos.RepoOp do + @moduledoc """ + Generated schema for repoOp + + **Description**: A repo operation, ie a mutation of a single record. + """ + + @enforce_keys [:action, :path, :cid] + defstruct action: nil, cid: nil, path: nil + + @type t :: %__MODULE__{ + action: :create | :update | :delete, + cid: binary() | nil, + path: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/sync/subscribe_repos/tombstone.ex b/lib/proto_rune/com/atproto/sync/subscribe_repos/tombstone.ex new file mode 100644 index 0000000..b600892 --- /dev/null +++ b/lib/proto_rune/com/atproto/sync/subscribe_repos/tombstone.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Sync.SubscribeRepos.Tombstone do + @moduledoc """ + Generated schema for tombstone + + **Description**: DEPRECATED -- Use #account event instead + """ + + @enforce_keys [:seq, :did, :time] + defstruct did: nil, seq: nil, time: nil + + @type t :: %__MODULE__{ + did: String.t(), + seq: integer(), + time: String.t() + } +end diff --git a/lib/proto_rune/com/atproto/temp/check_signup_queue.ex b/lib/proto_rune/com/atproto/temp/check_signup_queue.ex new file mode 100644 index 0000000..d3ad125 --- /dev/null +++ b/lib/proto_rune/com/atproto/temp/check_signup_queue.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Temp.CheckSignupQueue do + @moduledoc """ + Generated query module for main + + **Description**: Check accounts location in signup queue. + """ + + @type output :: %{activated: boolean(), estimated_time_ms: integer(), place_in_queue: integer()} +end diff --git a/lib/proto_rune/com/atproto/temp/fetch_labels.ex b/lib/proto_rune/com/atproto/temp/fetch_labels.ex new file mode 100644 index 0000000..7b80b50 --- /dev/null +++ b/lib/proto_rune/com/atproto/temp/fetch_labels.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Temp.FetchLabels do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{limit: integer(), since: integer()} +end diff --git a/lib/proto_rune/com/atproto/temp/request_phone_verification.ex b/lib/proto_rune/com/atproto/temp/request_phone_verification.ex new file mode 100644 index 0000000..ca037b4 --- /dev/null +++ b/lib/proto_rune/com/atproto/temp/request_phone_verification.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Com.Atproto.Temp.RequestPhoneVerification do + @moduledoc """ + Generated procedure module for main + + **Description**: Request a verification code to be sent to the supplied phone number + """ + + @type input :: %{phone_number: String.t()} +end diff --git a/lib/proto_rune/tools/ozone/communication/create_template.ex b/lib/proto_rune/tools/ozone/communication/create_template.ex new file mode 100644 index 0000000..d95048c --- /dev/null +++ b/lib/proto_rune/tools/ozone/communication/create_template.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Communication.CreateTemplate do + @moduledoc """ + Generated procedure module for main + + **Description**: Administrative action to create a new, re-usable communication (email for now) template. + """ + + @type output :: ProtoRune.Tools.Ozone.Communication.Defs.TemplateView.t() + @type input :: %{ + content_markdown: String.t(), + created_by: String.t(), + lang: String.t(), + name: String.t(), + subject: String.t() + } + @type error :: + ProtoRune.Tools.Ozone.Communication.CreateTemplate.MainErrorDuplicateTemplateName.t() +end diff --git a/lib/proto_rune/tools/ozone/communication/create_template/main_error_duplicate_template_name.ex b/lib/proto_rune/tools/ozone/communication/create_template/main_error_duplicate_template_name.ex new file mode 100644 index 0000000..5fd2c7d --- /dev/null +++ b/lib/proto_rune/tools/ozone/communication/create_template/main_error_duplicate_template_name.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Communication.CreateTemplate.MainErrorDuplicateTemplateName do + @moduledoc """ + Generated schema for mainErrorDuplicateTemplateName + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/tools/ozone/communication/defs/template_view.ex b/lib/proto_rune/tools/ozone/communication/defs/template_view.ex new file mode 100644 index 0000000..40f3c77 --- /dev/null +++ b/lib/proto_rune/tools/ozone/communication/defs/template_view.ex @@ -0,0 +1,39 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Communication.Defs.TemplateView do + @moduledoc """ + Generated schema for templateView + + **Description**: No description provided. + """ + + @enforce_keys [ + :id, + :name, + :content_markdown, + :disabled, + :last_updated_by, + :created_at, + :updated_at + ] + defstruct content_markdown: nil, + created_at: nil, + disabled: nil, + id: nil, + lang: nil, + last_updated_by: nil, + name: nil, + subject: nil, + updated_at: nil + + @type t :: %__MODULE__{ + content_markdown: String.t(), + created_at: String.t(), + disabled: boolean(), + id: String.t(), + lang: String.t(), + last_updated_by: String.t(), + name: String.t(), + subject: String.t(), + updated_at: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/communication/delete_template.ex b/lib/proto_rune/tools/ozone/communication/delete_template.ex new file mode 100644 index 0000000..f676d94 --- /dev/null +++ b/lib/proto_rune/tools/ozone/communication/delete_template.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Communication.DeleteTemplate do + @moduledoc """ + Generated procedure module for main + + **Description**: Delete a communication template. + """ + + @type input :: %{id: String.t()} +end diff --git a/lib/proto_rune/tools/ozone/communication/list_templates.ex b/lib/proto_rune/tools/ozone/communication/list_templates.ex new file mode 100644 index 0000000..ce93e03 --- /dev/null +++ b/lib/proto_rune/tools/ozone/communication/list_templates.ex @@ -0,0 +1,12 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Communication.ListTemplates do + @moduledoc """ + Generated query module for main + + **Description**: Get list of all communication templates. + """ + + @type output :: %{ + communication_templates: list(ProtoRune.Tools.Ozone.Communication.Defs.TemplateView.t()) + } +end diff --git a/lib/proto_rune/tools/ozone/communication/update_template.ex b/lib/proto_rune/tools/ozone/communication/update_template.ex new file mode 100644 index 0000000..dbcdd91 --- /dev/null +++ b/lib/proto_rune/tools/ozone/communication/update_template.ex @@ -0,0 +1,21 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Communication.UpdateTemplate do + @moduledoc """ + Generated procedure module for main + + **Description**: Administrative action to update an existing communication template. Allows passing partial fields to patch specific fields only. + """ + + @type output :: ProtoRune.Tools.Ozone.Communication.Defs.TemplateView.t() + @type input :: %{ + content_markdown: String.t(), + disabled: boolean(), + id: String.t(), + lang: String.t(), + name: String.t(), + subject: String.t(), + updated_by: String.t() + } + @type error :: + ProtoRune.Tools.Ozone.Communication.UpdateTemplate.MainErrorDuplicateTemplateName.t() +end diff --git a/lib/proto_rune/tools/ozone/communication/update_template/main_error_duplicate_template_name.ex b/lib/proto_rune/tools/ozone/communication/update_template/main_error_duplicate_template_name.ex new file mode 100644 index 0000000..40adbe7 --- /dev/null +++ b/lib/proto_rune/tools/ozone/communication/update_template/main_error_duplicate_template_name.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Communication.UpdateTemplate.MainErrorDuplicateTemplateName do + @moduledoc """ + Generated schema for mainErrorDuplicateTemplateName + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/blob_view.ex b/lib/proto_rune/tools/ozone/moderation/defs/blob_view.ex new file mode 100644 index 0000000..7b07db1 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/blob_view.ex @@ -0,0 +1,22 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.BlobView do + @moduledoc """ + Generated schema for blobView + + **Description**: No description provided. + """ + + @enforce_keys [:cid, :mime_type, :size, :created_at] + defstruct cid: nil, created_at: nil, details: nil, mime_type: nil, moderation: nil, size: nil + + @type t :: %__MODULE__{ + cid: String.t(), + created_at: String.t(), + details: + ProtoRune.Tools.Ozone.Moderation.Defs.ImageDetails.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.VideoDetails.t(), + mime_type: String.t(), + moderation: ProtoRune.Tools.Ozone.Moderation.Defs.Moderation.t(), + size: integer() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/image_details.ex b/lib/proto_rune/tools/ozone/moderation/defs/image_details.ex new file mode 100644 index 0000000..01bd3c8 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/image_details.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ImageDetails do + @moduledoc """ + Generated schema for imageDetails + + **Description**: No description provided. + """ + + @enforce_keys [:width, :height] + defstruct height: nil, width: nil + + @type t :: %__MODULE__{ + height: integer(), + width: integer() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_acknowledge.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_acknowledge.ex new file mode 100644 index 0000000..4b63b6b --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_acknowledge.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventAcknowledge do + @moduledoc """ + Generated schema for modEventAcknowledge + + **Description**: No description provided. + """ + + defstruct comment: nil + + @type t :: %__MODULE__{ + comment: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_comment.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_comment.ex new file mode 100644 index 0000000..f7d39d3 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_comment.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventComment do + @moduledoc """ + Generated schema for modEventComment + + **Description**: Add a comment to a subject + """ + + @enforce_keys [:comment] + defstruct comment: nil, sticky: nil + + @type t :: %__MODULE__{ + comment: String.t(), + sticky: boolean() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_divert.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_divert.ex new file mode 100644 index 0000000..57f6fbd --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_divert.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventDivert do + @moduledoc """ + Generated schema for modEventDivert + + **Description**: Divert a record's blobs to a 3rd party service for further scanning/tagging + """ + + defstruct comment: nil + + @type t :: %__MODULE__{ + comment: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_email.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_email.ex new file mode 100644 index 0000000..7d53914 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_email.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventEmail do + @moduledoc """ + Generated schema for modEventEmail + + **Description**: Keep a log of outgoing email to a user + """ + + @enforce_keys [:subject_line] + defstruct comment: nil, content: nil, subject_line: nil + + @type t :: %__MODULE__{ + comment: String.t(), + content: String.t(), + subject_line: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_escalate.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_escalate.ex new file mode 100644 index 0000000..8dffbd8 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_escalate.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventEscalate do + @moduledoc """ + Generated schema for modEventEscalate + + **Description**: No description provided. + """ + + defstruct comment: nil + + @type t :: %__MODULE__{ + comment: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_label.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_label.ex new file mode 100644 index 0000000..19a015c --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_label.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventLabel do + @moduledoc """ + Generated schema for modEventLabel + + **Description**: Apply/Negate labels on a subject + """ + + @enforce_keys [:create_label_vals, :negate_label_vals] + defstruct comment: nil, create_label_vals: nil, negate_label_vals: nil + + @type t :: %__MODULE__{ + comment: String.t(), + create_label_vals: list(String.t()), + negate_label_vals: list(String.t()) + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_mute.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_mute.ex new file mode 100644 index 0000000..3810c5b --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_mute.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventMute do + @moduledoc """ + Generated schema for modEventMute + + **Description**: Mute incoming reports on a subject + """ + + @enforce_keys [:duration_in_hours] + defstruct comment: nil, duration_in_hours: nil + + @type t :: %__MODULE__{ + comment: String.t(), + duration_in_hours: integer() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_mute_reporter.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_mute_reporter.ex new file mode 100644 index 0000000..2a26cfd --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_mute_reporter.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventMuteReporter do + @moduledoc """ + Generated schema for modEventMuteReporter + + **Description**: Mute incoming reports from an account + """ + + @enforce_keys [:duration_in_hours] + defstruct comment: nil, duration_in_hours: nil + + @type t :: %__MODULE__{ + comment: String.t(), + duration_in_hours: integer() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_report.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_report.ex new file mode 100644 index 0000000..b984530 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_report.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventReport do + @moduledoc """ + Generated schema for modEventReport + + **Description**: Report a subject + """ + + @enforce_keys [:report_type] + defstruct comment: nil, is_reporter_muted: nil, report_type: nil + + @type t :: %__MODULE__{ + comment: String.t(), + is_reporter_muted: boolean(), + report_type: ProtoRune.Com.Atproto.Moderation.Defs.ReasonType.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_resolve_appeal.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_resolve_appeal.ex new file mode 100644 index 0000000..e40d9ab --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_resolve_appeal.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventResolveAppeal do + @moduledoc """ + Generated schema for modEventResolveAppeal + + **Description**: Resolve appeal on a subject + """ + + defstruct comment: nil + + @type t :: %__MODULE__{ + comment: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_reverse_takedown.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_reverse_takedown.ex new file mode 100644 index 0000000..a1b3324 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_reverse_takedown.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventReverseTakedown do + @moduledoc """ + Generated schema for modEventReverseTakedown + + **Description**: Revert take down action on a subject + """ + + defstruct comment: nil + + @type t :: %__MODULE__{ + comment: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_tag.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_tag.ex new file mode 100644 index 0000000..43201f7 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_tag.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventTag do + @moduledoc """ + Generated schema for modEventTag + + **Description**: Add/Remove a tag on a subject + """ + + @enforce_keys [:add, :remove] + defstruct add: nil, comment: nil, remove: nil + + @type t :: %__MODULE__{ + add: list(String.t()), + comment: String.t(), + remove: list(String.t()) + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_takedown.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_takedown.ex new file mode 100644 index 0000000..d42d7f7 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_takedown.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventTakedown do + @moduledoc """ + Generated schema for modEventTakedown + + **Description**: Take down a subject permanently or temporarily + """ + + defstruct acknowledge_account_subjects: nil, comment: nil, duration_in_hours: nil + + @type t :: %__MODULE__{ + acknowledge_account_subjects: boolean(), + comment: String.t(), + duration_in_hours: integer() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_unmute.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_unmute.ex new file mode 100644 index 0000000..17ba56d --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_unmute.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventUnmute do + @moduledoc """ + Generated schema for modEventUnmute + + **Description**: Unmute action on a subject + """ + + defstruct comment: nil + + @type t :: %__MODULE__{ + comment: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_unmute_reporter.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_unmute_reporter.ex new file mode 100644 index 0000000..84bfebe --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_unmute_reporter.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventUnmuteReporter do + @moduledoc """ + Generated schema for modEventUnmuteReporter + + **Description**: Unmute incoming reports from an account + """ + + defstruct comment: nil + + @type t :: %__MODULE__{ + comment: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_view.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_view.ex new file mode 100644 index 0000000..1b58fd7 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_view.ex @@ -0,0 +1,47 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventView do + @moduledoc """ + Generated schema for modEventView + + **Description**: No description provided. + """ + + @enforce_keys [:id, :event, :subject, :subject_blob_cids, :created_by, :created_at] + defstruct created_at: nil, + created_by: nil, + creator_handle: nil, + event: nil, + id: nil, + subject: nil, + subject_blob_cids: nil, + subject_handle: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + created_by: String.t(), + creator_handle: String.t(), + event: + ProtoRune.Tools.Ozone.Moderation.Defs.ModEventTakedown.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventReverseTakedown.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventComment.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventReport.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventLabel.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventAcknowledge.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventEscalate.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventMute.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventUnmute.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventMuteReporter.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventUnmuteReporter.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventEmail.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventResolveAppeal.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventDivert.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventTag.t(), + id: integer(), + subject: + ProtoRune.Com.Atproto.Admin.Defs.RepoRef.t() + | ProtoRune.Com.Atproto.Repo.StrongRef.t() + | ProtoRune.Chat.Bsky.Convo.Defs.MessageRef.t(), + subject_blob_cids: list(String.t()), + subject_handle: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/mod_event_view_detail.ex b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_view_detail.ex new file mode 100644 index 0000000..91a4036 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/mod_event_view_detail.ex @@ -0,0 +1,44 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModEventViewDetail do + @moduledoc """ + Generated schema for modEventViewDetail + + **Description**: No description provided. + """ + + @enforce_keys [:id, :event, :subject, :subject_blobs, :created_by, :created_at] + defstruct created_at: nil, + created_by: nil, + event: nil, + id: nil, + subject: nil, + subject_blobs: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + created_by: String.t(), + event: + ProtoRune.Tools.Ozone.Moderation.Defs.ModEventTakedown.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventReverseTakedown.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventComment.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventReport.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventLabel.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventAcknowledge.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventEscalate.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventMute.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventUnmute.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventMuteReporter.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventUnmuteReporter.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventEmail.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventResolveAppeal.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventDivert.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventTag.t(), + id: integer(), + subject: + ProtoRune.Tools.Ozone.Moderation.Defs.RepoView.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.RepoViewNotFound.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.RecordView.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.RecordViewNotFound.t(), + subject_blobs: list(ProtoRune.Tools.Ozone.Moderation.Defs.BlobView.t()) + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/moderation.ex b/lib/proto_rune/tools/ozone/moderation/defs/moderation.ex new file mode 100644 index 0000000..a25c421 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/moderation.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.Moderation do + @moduledoc """ + Generated schema for moderation + + **Description**: No description provided. + """ + + defstruct subject_status: nil + + @type t :: %__MODULE__{ + subject_status: ProtoRune.Tools.Ozone.Moderation.Defs.SubjectStatusView.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/moderation_detail.ex b/lib/proto_rune/tools/ozone/moderation/defs/moderation_detail.ex new file mode 100644 index 0000000..3567497 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/moderation_detail.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ModerationDetail do + @moduledoc """ + Generated schema for moderationDetail + + **Description**: No description provided. + """ + + defstruct subject_status: nil + + @type t :: %__MODULE__{ + subject_status: ProtoRune.Tools.Ozone.Moderation.Defs.SubjectStatusView.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/record_view.ex b/lib/proto_rune/tools/ozone/moderation/defs/record_view.ex new file mode 100644 index 0000000..3a11e80 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/record_view.ex @@ -0,0 +1,27 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.RecordView do + @moduledoc """ + Generated schema for recordView + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :value, :blob_cids, :indexed_at, :moderation, :repo] + defstruct blob_cids: nil, + cid: nil, + indexed_at: nil, + moderation: nil, + repo: nil, + uri: nil, + value: nil + + @type t :: %__MODULE__{ + blob_cids: list(String.t()), + cid: String.t(), + indexed_at: String.t(), + moderation: ProtoRune.Tools.Ozone.Moderation.Defs.Moderation.t(), + repo: ProtoRune.Tools.Ozone.Moderation.Defs.RepoView.t(), + uri: String.t(), + value: any() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/record_view_detail.ex b/lib/proto_rune/tools/ozone/moderation/defs/record_view_detail.ex new file mode 100644 index 0000000..ebbdc34 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/record_view_detail.ex @@ -0,0 +1,29 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.RecordViewDetail do + @moduledoc """ + Generated schema for recordViewDetail + + **Description**: No description provided. + """ + + @enforce_keys [:uri, :cid, :value, :blobs, :indexed_at, :moderation, :repo] + defstruct blobs: nil, + cid: nil, + indexed_at: nil, + labels: nil, + moderation: nil, + repo: nil, + uri: nil, + value: nil + + @type t :: %__MODULE__{ + blobs: list(ProtoRune.Tools.Ozone.Moderation.Defs.BlobView.t()), + cid: String.t(), + indexed_at: String.t(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + moderation: ProtoRune.Tools.Ozone.Moderation.Defs.ModerationDetail.t(), + repo: ProtoRune.Tools.Ozone.Moderation.Defs.RepoView.t(), + uri: String.t(), + value: any() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/record_view_not_found.ex b/lib/proto_rune/tools/ozone/moderation/defs/record_view_not_found.ex new file mode 100644 index 0000000..292cbbf --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/record_view_not_found.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.RecordViewNotFound do + @moduledoc """ + Generated schema for recordViewNotFound + + **Description**: No description provided. + """ + + @enforce_keys [:uri] + defstruct uri: nil + + @type t :: %__MODULE__{ + uri: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/repo_view.ex b/lib/proto_rune/tools/ozone/moderation/defs/repo_view.ex new file mode 100644 index 0000000..9bb9e11 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/repo_view.ex @@ -0,0 +1,33 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.RepoView do + @moduledoc """ + Generated schema for repoView + + **Description**: No description provided. + """ + + @enforce_keys [:did, :handle, :related_records, :indexed_at, :moderation] + defstruct deactivated_at: nil, + did: nil, + email: nil, + handle: nil, + indexed_at: nil, + invite_note: nil, + invited_by: nil, + invites_disabled: nil, + moderation: nil, + related_records: nil + + @type t :: %__MODULE__{ + deactivated_at: String.t(), + did: String.t(), + email: String.t(), + handle: String.t(), + indexed_at: String.t(), + invite_note: String.t(), + invited_by: ProtoRune.Com.Atproto.Server.Defs.InviteCode.t(), + invites_disabled: boolean(), + moderation: ProtoRune.Tools.Ozone.Moderation.Defs.Moderation.t(), + related_records: list(any()) + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/repo_view_detail.ex b/lib/proto_rune/tools/ozone/moderation/defs/repo_view_detail.ex new file mode 100644 index 0000000..a94fadf --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/repo_view_detail.ex @@ -0,0 +1,39 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.RepoViewDetail do + @moduledoc """ + Generated schema for repoViewDetail + + **Description**: No description provided. + """ + + @enforce_keys [:did, :handle, :related_records, :indexed_at, :moderation] + defstruct deactivated_at: nil, + did: nil, + email: nil, + email_confirmed_at: nil, + handle: nil, + indexed_at: nil, + invite_note: nil, + invited_by: nil, + invites: nil, + invites_disabled: nil, + labels: nil, + moderation: nil, + related_records: nil + + @type t :: %__MODULE__{ + deactivated_at: String.t(), + did: String.t(), + email: String.t(), + email_confirmed_at: String.t(), + handle: String.t(), + indexed_at: String.t(), + invite_note: String.t(), + invited_by: ProtoRune.Com.Atproto.Server.Defs.InviteCode.t(), + invites: list(ProtoRune.Com.Atproto.Server.Defs.InviteCode.t()), + invites_disabled: boolean(), + labels: list(ProtoRune.Com.Atproto.Label.Defs.Label.t()), + moderation: ProtoRune.Tools.Ozone.Moderation.Defs.ModerationDetail.t(), + related_records: list(any()) + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/repo_view_not_found.ex b/lib/proto_rune/tools/ozone/moderation/defs/repo_view_not_found.ex new file mode 100644 index 0000000..191e380 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/repo_view_not_found.ex @@ -0,0 +1,15 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.RepoViewNotFound do + @moduledoc """ + Generated schema for repoViewNotFound + + **Description**: No description provided. + """ + + @enforce_keys [:did] + defstruct did: nil + + @type t :: %__MODULE__{ + did: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/review_closed.ex b/lib/proto_rune/tools/ozone/moderation/defs/review_closed.ex new file mode 100644 index 0000000..21e6621 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/review_closed.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ReviewClosed do + @moduledoc """ + Token type for reviewClosed + + **Description**: Moderator review status of a subject: Closed. Indicates that the subject was already reviewed and resolved by a moderator + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/review_escalated.ex b/lib/proto_rune/tools/ozone/moderation/defs/review_escalated.ex new file mode 100644 index 0000000..836a9e8 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/review_escalated.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ReviewEscalated do + @moduledoc """ + Token type for reviewEscalated + + **Description**: Moderator review status of a subject: Escalated. Indicates that the subject was escalated for review by a moderator + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/review_none.ex b/lib/proto_rune/tools/ozone/moderation/defs/review_none.ex new file mode 100644 index 0000000..18f8d90 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/review_none.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ReviewNone do + @moduledoc """ + Token type for reviewNone + + **Description**: Moderator review status of a subject: Unnecessary. Indicates that the subject does not need a review at the moment but there is probably some moderation related metadata available for it + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/review_open.ex b/lib/proto_rune/tools/ozone/moderation/defs/review_open.ex new file mode 100644 index 0000000..b082af6 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/review_open.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.ReviewOpen do + @moduledoc """ + Token type for reviewOpen + + **Description**: Moderator review status of a subject: Open. Indicates that the subject needs to be reviewed by a moderator + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/subject_review_state.ex b/lib/proto_rune/tools/ozone/moderation/defs/subject_review_state.ex new file mode 100644 index 0000000..a283470 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/subject_review_state.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.SubjectReviewState do + @moduledoc """ + Generated schema for subjectReviewState + + **Description**: No description provided. + """ + + @type t :: :"#reviewOpen" | :"#reviewEscalated" | :"#reviewClosed" | :"#reviewNone" +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/subject_status_view.ex b/lib/proto_rune/tools/ozone/moderation/defs/subject_status_view.ex new file mode 100644 index 0000000..9f7ff68 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/subject_status_view.ex @@ -0,0 +1,51 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.SubjectStatusView do + @moduledoc """ + Generated schema for subjectStatusView + + **Description**: No description provided. + """ + + @enforce_keys [:id, :subject, :created_at, :updated_at, :review_state] + defstruct appealed: nil, + comment: nil, + created_at: nil, + id: nil, + last_appealed_at: nil, + last_reported_at: nil, + last_reviewed_at: nil, + last_reviewed_by: nil, + mute_reporting_until: nil, + mute_until: nil, + review_state: nil, + subject: nil, + subject_blob_cids: nil, + subject_repo_handle: nil, + suspend_until: nil, + tags: nil, + takendown: nil, + updated_at: nil + + @type t :: %__MODULE__{ + appealed: boolean(), + comment: String.t(), + created_at: String.t(), + id: integer(), + last_appealed_at: String.t(), + last_reported_at: String.t(), + last_reviewed_at: String.t(), + last_reviewed_by: String.t(), + mute_reporting_until: String.t(), + mute_until: String.t(), + review_state: ProtoRune.Tools.Ozone.Moderation.Defs.SubjectReviewState.t(), + subject: + ProtoRune.Com.Atproto.Admin.Defs.RepoRef.t() + | ProtoRune.Com.Atproto.Repo.StrongRef.t(), + subject_blob_cids: list(String.t()), + subject_repo_handle: String.t(), + suspend_until: String.t(), + tags: list(String.t()), + takendown: boolean(), + updated_at: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/defs/video_details.ex b/lib/proto_rune/tools/ozone/moderation/defs/video_details.ex new file mode 100644 index 0000000..a5d5d40 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/defs/video_details.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.Defs.VideoDetails do + @moduledoc """ + Generated schema for videoDetails + + **Description**: No description provided. + """ + + @enforce_keys [:width, :height, :length] + defstruct height: nil, length: nil, width: nil + + @type t :: %__MODULE__{ + height: integer(), + length: integer(), + width: integer() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/emit_event.ex b/lib/proto_rune/tools/ozone/moderation/emit_event.ex new file mode 100644 index 0000000..e45daa3 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/emit_event.ex @@ -0,0 +1,33 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.EmitEvent do + @moduledoc """ + Generated procedure module for main + + **Description**: Take a moderation action on an actor. + """ + + @type output :: ProtoRune.Tools.Ozone.Moderation.Defs.ModEventView.t() + @type input :: %{ + created_by: String.t(), + event: + ProtoRune.Tools.Ozone.Moderation.Defs.ModEventTakedown.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventAcknowledge.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventEscalate.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventComment.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventLabel.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventReport.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventMute.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventUnmute.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventMuteReporter.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventUnmuteReporter.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventReverseTakedown.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventResolveAppeal.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventEmail.t() + | ProtoRune.Tools.Ozone.Moderation.Defs.ModEventTag.t(), + subject: + ProtoRune.Com.Atproto.Admin.Defs.RepoRef.t() + | ProtoRune.Com.Atproto.Repo.StrongRef.t(), + subject_blob_cids: list(String.t()) + } + @type error :: ProtoRune.Tools.Ozone.Moderation.EmitEvent.MainErrorSubjectHasAction.t() +end diff --git a/lib/proto_rune/tools/ozone/moderation/emit_event/main_error_subject_has_action.ex b/lib/proto_rune/tools/ozone/moderation/emit_event/main_error_subject_has_action.ex new file mode 100644 index 0000000..61ddb52 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/emit_event/main_error_subject_has_action.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.EmitEvent.MainErrorSubjectHasAction do + @moduledoc """ + Generated schema for mainErrorSubjectHasAction + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/tools/ozone/moderation/get_event.ex b/lib/proto_rune/tools/ozone/moderation/get_event.ex new file mode 100644 index 0000000..6f3fba8 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/get_event.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.GetEvent do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{id: integer()} +end diff --git a/lib/proto_rune/tools/ozone/moderation/get_record.ex b/lib/proto_rune/tools/ozone/moderation/get_record.ex new file mode 100644 index 0000000..4f73afb --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/get_record.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.GetRecord do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cid: String.t(), uri: String.t()} +end diff --git a/lib/proto_rune/tools/ozone/moderation/get_repo.ex b/lib/proto_rune/tools/ozone/moderation/get_repo.ex new file mode 100644 index 0000000..e45ef43 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/get_repo.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.GetRepo do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{did: String.t()} +end diff --git a/lib/proto_rune/tools/ozone/moderation/query_events.ex b/lib/proto_rune/tools/ozone/moderation/query_events.ex new file mode 100644 index 0000000..a000410 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/query_events.ex @@ -0,0 +1,27 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.QueryEvents do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + added_labels: list(String.t()), + added_tags: list(String.t()), + comment: String.t(), + created_after: String.t(), + created_before: String.t(), + created_by: String.t(), + cursor: String.t(), + has_comment: boolean(), + include_all_user_records: boolean(), + limit: integer(), + removed_labels: list(String.t()), + removed_tags: list(String.t()), + report_types: list(String.t()), + sort_direction: :asc | :desc, + subject: String.t(), + types: list(String.t()) + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/query_statuses.ex b/lib/proto_rune/tools/ozone/moderation/query_statuses.ex new file mode 100644 index 0000000..00d823f --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/query_statuses.ex @@ -0,0 +1,31 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.QueryStatuses do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{ + appealed: boolean(), + comment: String.t(), + cursor: String.t(), + exclude_tags: list(String.t()), + ignore_subjects: list(String.t()), + include_all_user_records: boolean(), + include_muted: boolean(), + last_reviewed_by: String.t(), + limit: integer(), + only_muted: boolean(), + reported_after: String.t(), + reported_before: String.t(), + review_state: String.t(), + reviewed_after: String.t(), + reviewed_before: String.t(), + sort_direction: :asc | :desc, + sort_field: :lastReviewedAt | :lastReportedAt, + subject: String.t(), + tags: list(String.t()), + takendown: boolean() + } +end diff --git a/lib/proto_rune/tools/ozone/moderation/search_repos.ex b/lib/proto_rune/tools/ozone/moderation/search_repos.ex new file mode 100644 index 0000000..41c6aa6 --- /dev/null +++ b/lib/proto_rune/tools/ozone/moderation/search_repos.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Moderation.SearchRepos do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer(), q: String.t(), term: String.t()} +end diff --git a/lib/proto_rune/tools/ozone/server/get_config.ex b/lib/proto_rune/tools/ozone/server/get_config.ex new file mode 100644 index 0000000..8399491 --- /dev/null +++ b/lib/proto_rune/tools/ozone/server/get_config.ex @@ -0,0 +1,16 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Server.GetConfig do + @moduledoc """ + Generated query module for main + + **Description**: Get details about ozone's server configuration. + """ + + @type output :: %{ + appview: ProtoRune.Tools.Ozone.Server.GetConfig.ServiceConfig.t(), + blob_divert: ProtoRune.Tools.Ozone.Server.GetConfig.ServiceConfig.t(), + chat: ProtoRune.Tools.Ozone.Server.GetConfig.ServiceConfig.t(), + pds: ProtoRune.Tools.Ozone.Server.GetConfig.ServiceConfig.t(), + viewer: ProtoRune.Tools.Ozone.Server.GetConfig.ViewerConfig.t() + } +end diff --git a/lib/proto_rune/tools/ozone/server/get_config/service_config.ex b/lib/proto_rune/tools/ozone/server/get_config/service_config.ex new file mode 100644 index 0000000..e3ad505 --- /dev/null +++ b/lib/proto_rune/tools/ozone/server/get_config/service_config.ex @@ -0,0 +1,14 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Server.GetConfig.ServiceConfig do + @moduledoc """ + Generated schema for serviceConfig + + **Description**: No description provided. + """ + + defstruct url: nil + + @type t :: %__MODULE__{ + url: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/server/get_config/viewer_config.ex b/lib/proto_rune/tools/ozone/server/get_config/viewer_config.ex new file mode 100644 index 0000000..6a0d5aa --- /dev/null +++ b/lib/proto_rune/tools/ozone/server/get_config/viewer_config.ex @@ -0,0 +1,17 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Server.GetConfig.ViewerConfig do + @moduledoc """ + Generated schema for viewerConfig + + **Description**: No description provided. + """ + + defstruct role: nil + + @type t :: %__MODULE__{ + role: + :"tools.ozone.team.defs#roleAdmin" + | :"tools.ozone.team.defs#roleModerator" + | :"tools.ozone.team.defs#roleTriage" + } +end diff --git a/lib/proto_rune/tools/ozone/team/add_member.ex b/lib/proto_rune/tools/ozone/team/add_member.ex new file mode 100644 index 0000000..7140874 --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/add_member.ex @@ -0,0 +1,18 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.AddMember do + @moduledoc """ + Generated procedure module for main + + **Description**: Add a member to the ozone team. Requires admin role. + """ + + @type output :: ProtoRune.Tools.Ozone.Team.Defs.Member.t() + @type input :: %{ + did: String.t(), + role: + :"tools.ozone.team.defs#roleAdmin" + | :"tools.ozone.team.defs#roleModerator" + | :"tools.ozone.team.defs#roleTriage" + } + @type error :: ProtoRune.Tools.Ozone.Team.AddMember.MainErrorMemberAlreadyExists.t() +end diff --git a/lib/proto_rune/tools/ozone/team/add_member/main_error_member_already_exists.ex b/lib/proto_rune/tools/ozone/team/add_member/main_error_member_already_exists.ex new file mode 100644 index 0000000..d2d0b3b --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/add_member/main_error_member_already_exists.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.AddMember.MainErrorMemberAlreadyExists do + @moduledoc """ + Generated schema for mainErrorMemberAlreadyExists + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/tools/ozone/team/defs/member.ex b/lib/proto_rune/tools/ozone/team/defs/member.ex new file mode 100644 index 0000000..b114f56 --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/defs/member.ex @@ -0,0 +1,27 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.Defs.Member do + @moduledoc """ + Generated schema for member + + **Description**: No description provided. + """ + + @enforce_keys [:did, :role] + defstruct created_at: nil, + did: nil, + disabled: nil, + last_updated_by: nil, + profile: nil, + role: nil, + updated_at: nil + + @type t :: %__MODULE__{ + created_at: String.t(), + did: String.t(), + disabled: boolean(), + last_updated_by: String.t(), + profile: ProtoRune.App.Bsky.Actor.Defs.ProfileViewDetailed.t(), + role: :"#roleAdmin" | :"#roleModerator" | :"#roleTriage", + updated_at: String.t() + } +end diff --git a/lib/proto_rune/tools/ozone/team/defs/role_admin.ex b/lib/proto_rune/tools/ozone/team/defs/role_admin.ex new file mode 100644 index 0000000..9aa108a --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/defs/role_admin.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.Defs.RoleAdmin do + @moduledoc """ + Token type for roleAdmin + + **Description**: Admin role. Highest level of access, can perform all actions. + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/tools/ozone/team/defs/role_moderator.ex b/lib/proto_rune/tools/ozone/team/defs/role_moderator.ex new file mode 100644 index 0000000..0569055 --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/defs/role_moderator.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.Defs.RoleModerator do + @moduledoc """ + Token type for roleModerator + + **Description**: Moderator role. Can perform most actions. + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/tools/ozone/team/defs/role_triage.ex b/lib/proto_rune/tools/ozone/team/defs/role_triage.ex new file mode 100644 index 0000000..62916a3 --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/defs/role_triage.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.Defs.RoleTriage do + @moduledoc """ + Token type for roleTriage + + **Description**: Triage role. Mostly intended for monitoring and escalating issues. + """ + + @type t :: atom() +end diff --git a/lib/proto_rune/tools/ozone/team/delete_member.ex b/lib/proto_rune/tools/ozone/team/delete_member.ex new file mode 100644 index 0000000..2efbe73 --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/delete_member.ex @@ -0,0 +1,13 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.DeleteMember do + @moduledoc """ + Generated procedure module for main + + **Description**: Delete a member from ozone team. Requires admin role. + """ + + @type input :: %{did: String.t()} + @type error :: + ProtoRune.Tools.Ozone.Team.DeleteMember.MainErrorMemberNotFound.t() + | ProtoRune.Tools.Ozone.Team.DeleteMember.MainErrorCannotDeleteSelf.t() +end diff --git a/lib/proto_rune/tools/ozone/team/delete_member/main_error_cannot_delete_self.ex b/lib/proto_rune/tools/ozone/team/delete_member/main_error_cannot_delete_self.ex new file mode 100644 index 0000000..be9e16e --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/delete_member/main_error_cannot_delete_self.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.DeleteMember.MainErrorCannotDeleteSelf do + @moduledoc """ + Generated schema for mainErrorCannotDeleteSelf + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/tools/ozone/team/delete_member/main_error_member_not_found.ex b/lib/proto_rune/tools/ozone/team/delete_member/main_error_member_not_found.ex new file mode 100644 index 0000000..512d9ba --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/delete_member/main_error_member_not_found.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.DeleteMember.MainErrorMemberNotFound do + @moduledoc """ + Generated schema for mainErrorMemberNotFound + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/lib/proto_rune/tools/ozone/team/list_members.ex b/lib/proto_rune/tools/ozone/team/list_members.ex new file mode 100644 index 0000000..88b17a6 --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/list_members.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.ListMembers do + @moduledoc """ + Generated schema for main + + **Description**: No description provided. + """ + + @type t :: %{cursor: String.t(), limit: integer()} +end diff --git a/lib/proto_rune/tools/ozone/team/update_member.ex b/lib/proto_rune/tools/ozone/team/update_member.ex new file mode 100644 index 0000000..ce836c8 --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/update_member.ex @@ -0,0 +1,19 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.UpdateMember do + @moduledoc """ + Generated procedure module for main + + **Description**: Update a member in the ozone service. Requires admin role. + """ + + @type output :: ProtoRune.Tools.Ozone.Team.Defs.Member.t() + @type input :: %{ + did: String.t(), + disabled: boolean(), + role: + :"tools.ozone.team.defs#roleAdmin" + | :"tools.ozone.team.defs#roleModerator" + | :"tools.ozone.team.defs#roleTriage" + } + @type error :: ProtoRune.Tools.Ozone.Team.UpdateMember.MainErrorMemberNotFound.t() +end diff --git a/lib/proto_rune/tools/ozone/team/update_member/main_error_member_not_found.ex b/lib/proto_rune/tools/ozone/team/update_member/main_error_member_not_found.ex new file mode 100644 index 0000000..02340f1 --- /dev/null +++ b/lib/proto_rune/tools/ozone/team/update_member/main_error_member_not_found.ex @@ -0,0 +1,10 @@ +# This module was generated by Mix.Tasks.GenSchemas +defmodule ProtoRune.Tools.Ozone.Team.UpdateMember.MainErrorMemberNotFound do + @moduledoc """ + Generated schema for mainErrorMemberNotFound + + **Description**: No description provided. + """ + + @type t :: any() +end diff --git a/mix.exs b/mix.exs index c359a9f..91a1637 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule ProtoRune.MixProject do use Mix.Project - @version "0.1.0" + @version "0.1.1" @source_url "https://github.com/zoedsoupe/proto_rune" def project do diff --git a/mix.lock b/mix.lock index 249ed4d..6a8d7fd 100644 --- a/mix.lock +++ b/mix.lock @@ -1,8 +1,8 @@ %{ "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, "castore": {:hex, :castore, "1.0.8", "dedcf20ea746694647f883590b82d9e96014057aff1d44d03ec90f36a5c0dc6e", [:mix], [], "hexpm", "0b2b66d2ee742cb1d9cb8c8be3b43c3a70ee8651f37b75a8b982e036752983f1"}, - "credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"}, - "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"}, + "credo": {:hex, :credo, "1.7.8", "9722ba1681e973025908d542ec3d95db5f9c549251ba5b028e251ad8c24ab8c5", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "cb9e87cc64f152f3ed1c6e325e7b894dea8f5ef2e41123bd864e3cd5ceb44968"}, + "dialyxir": {:hex, :dialyxir, "1.4.4", "fb3ce8741edeaea59c9ae84d5cec75da00fa89fe401c72d6e047d11a61f65f70", [:mix], [{:erlex, ">= 0.2.7", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "cd6111e8017ccd563e65621a4d9a4a1c5cd333df30cebc7face8029cacb4eff6"}, "earmark_parser": {:hex, :earmark_parser, "1.4.41", "ab34711c9dc6212dda44fcd20ecb87ac3f3fce6f0ca2f28d4a00e4154f8cd599", [:mix], [], "hexpm", "a81a04c7e34b6617c2792e291b5a2e57ab316365c2644ddc553bb9ed863ebefa"}, "erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"}, "ex_doc": {:hex, :ex_doc, "0.34.2", "13eedf3844ccdce25cfd837b99bea9ad92c4e511233199440488d217c92571e8", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "5ce5f16b41208a50106afed3de6a2ed34f4acfd65715b82a0b84b49d995f95c1"}, @@ -19,6 +19,6 @@ "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, "nimble_pool": {:hex, :nimble_pool, "1.1.0", "bf9c29fbdcba3564a8b800d1eeb5a3c58f36e1e11d7b7fb2e084a643f645f06b", [:mix], [], "hexpm", "af2e4e6b34197db81f7aad230c1118eac993acc0dae6bc83bac0126d4ae0813a"}, "peri": {:hex, :peri, "0.2.11", "6d65ed468d4200963416dd07a65a1f72aac05b69c424a4f89e6d4011669b0646", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:stream_data, "~> 1.1", [hex: :stream_data, repo: "hexpm", optional: true]}], "hexpm", "cc9174677bedb8fe0d0df2b07e3a8376c2018acfda1f064cdfb4077c279b8e3d"}, - "req": {:hex, :req, "0.5.6", "8fe1eead4a085510fe3d51ad854ca8f20a622aae46e97b302f499dfb84f726ac", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "cfaa8e720945d46654853de39d368f40362c2641c4b2153c886418914b372185"}, + "req": {:hex, :req, "0.5.7", "b722680e03d531a2947282adff474362a48a02aa54b131196fbf7acaff5e4cee", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "c6035374615120a8923e8089d0c21a3496cf9eda2d287b806081b8f323ceee29"}, "telemetry": {:hex, :telemetry, "1.3.0", "fedebbae410d715cf8e7062c96a1ef32ec22e764197f70cda73d82778d61e7a2", [:rebar3], [], "hexpm", "7015fc8919dbe63764f4b4b87a95b7c0996bd539e0d499be6ec9d7f3875b79e6"}, } diff --git a/test/atproto_test.exs b/test/atproto_test.exs deleted file mode 100644 index 0b0b5e9..0000000 --- a/test/atproto_test.exs +++ /dev/null @@ -1,8 +0,0 @@ -defmodule AtprotoTest do - use ExUnit.Case - doctest Atproto - - test "greets the world" do - assert Atproto.hello() == :world - end -end diff --git a/test/mix/tasks/gen_schemas_test.exs b/test/mix/tasks/gen_schemas_test.exs new file mode 100644 index 0000000..4398412 --- /dev/null +++ b/test/mix/tasks/gen_schemas_test.exs @@ -0,0 +1,333 @@ +defmodule Mix.Tasks.GenSchemasTest do + use ExUnit.Case, async: true + + alias Mix.Tasks.GenSchemas.Context + alias Mix.Tasks.GenSchemas.DependencyResolver + alias Mix.Tasks.GenSchemas.Generator + alias Mix.Tasks.GenSchemas.TypeMapper + alias Mix.Tasks.GenSchemas.Loader + alias Mix.Tasks.GenSchemas.Utils + + @moduletag capture_log: true + + setup do + # Create a temporary directory for generated files + temp_dir = Path.join(System.tmp_dir!(), "gen_schemas_test_#{:os.system_time(:millisecond)}") + File.mkdir_p!(temp_dir) + + on_exit(fn -> + # Clean up temporary directory + File.rm_rf!(temp_dir) + end) + + {:ok, temp_dir: temp_dir} + end + + describe "Loader" do + test "loads lexicons from files" do + lexicon_content = """ + { + "lexicon": 1, + "id": "com.example.test", + "defs": { + "main": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "age": { "type": "integer" } + }, + "required": ["name"] + } + } + } + """ + + file_path = Path.join(System.tmp_dir!(), "test_lexicon.json") + File.write!(file_path, lexicon_content) + + {:ok, lexicons} = Loader.load_lexicons([file_path]) + + assert length(lexicons) == 1 + assert Enum.at(lexicons, 0)["id"] == "com.example.test" + + File.rm!(file_path) + end + + test "builds defs_map from lexicons" do + lexicon = %{ + "lexicon" => 1, + "id" => "com.example.test", + "defs" => %{ + "main" => %{ + "type" => "object", + "properties" => %{ + "name" => %{"type" => "string"}, + "age" => %{"type" => "integer"} + }, + "required" => ["name"] + } + } + } + + {:ok, defs_map} = Loader.build_defs_map([lexicon]) + + assert Map.has_key?(defs_map, {"com.example.test", "main"}) + end + end + + describe "DependencyResolver" do + test "sorts definitions based on dependencies" do + defs_map = %{ + {"com.example.test", "main"} => %{ + "type" => "object", + "properties" => %{ + "profile" => %{"type" => "ref", "ref" => "#profile"} + } + }, + {"com.example.test", "profile"} => %{ + "type" => "object", + "properties" => %{ + "bio" => %{"type" => "string"} + } + } + } + + {:ok, sorted_defs} = DependencyResolver.sort_definitions(defs_map) + + assert sorted_defs == [ + {"com.example.test", "profile"}, + {"com.example.test", "main"} + ] + end + end + + describe "TypeMapper" do + test "maps simple types to Elixir types" do + assert TypeMapper.type_to_elixir(%{ + context: %Context{}, + lexicon_id: "com.example", + definition: %{"type" => "string"} + }) == "String.t()" + + assert TypeMapper.type_to_elixir(%{ + context: %Context{}, + lexicon_id: "com.example", + definition: %{"type" => "integer"} + }) == "integer()" + + assert TypeMapper.type_to_elixir(%{ + context: %Context{}, + lexicon_id: "com.example", + definition: %{"type" => "boolean"} + }) == "boolean()" + end + + test "maps array types" do + assert TypeMapper.type_to_elixir(%{ + context: %Context{}, + lexicon_id: "com.example", + definition: %{ + "type" => "array", + "items" => %{"type" => "string"} + } + }) == "list(String.t())" + end + + test "handles refs to other types", %{temp_dir: temp_dir} do + context = %Context{ + defs_map: %{ + {"com.example", "profile"} => %{"type" => "object"} + }, + generated_modules: MapSet.new(), + output_dir: temp_dir + } + + assert TypeMapper.type_to_elixir(%{ + context: context, + lexicon_id: "com.example", + definition: %{ + "type" => "ref", + "ref" => "#profile" + } + }) == "ProtoRune.Com.Example.Profile.t()" + end + end + + describe "Generator" do + test "generates object modules", %{temp_dir: temp_dir} do + context = %Context{ + defs_map: %{}, + generated_modules: MapSet.new(), + output_dir: temp_dir + } + + definition = %{ + "type" => "object", + "properties" => %{ + "name" => %{"type" => "string"}, + "age" => %{"type" => "integer"} + }, + "required" => ["name"] + } + + Generator.generate_object_module(%{ + context: context, + lexicon_id: "com.example", + name: "User", + definition: definition + }) + + module_file = Path.join([temp_dir, "com", "example", "user.ex"]) + assert File.exists?(module_file) + + module_content = File.read!(module_file) + assert module_content =~ "defmodule ProtoRune.Com.Example.User do" + assert module_content =~ "@type t :: %__MODULE__{" + assert module_content =~ "name: String.t()" + assert module_content =~ "age: integer()" + end + + test "generates query modules", %{temp_dir: temp_dir} do + context = %Context{ + defs_map: %{ + {"com.example", "user"} => %{ + "type" => "object", + "properties" => %{ + "name" => %{"type" => "string"} + } + } + }, + generated_modules: MapSet.new(), + output_dir: temp_dir + } + + definition = %{ + "type" => "query", + "parameters" => %{ + "type" => "params", + "properties" => %{ + "userId" => %{"type" => "string"} + }, + "required" => ["userId"] + }, + "output" => %{ + "schema" => %{ + "type" => "object", + "properties" => %{ + "user" => %{"type" => "ref", "ref" => "#user"} + } + } + } + } + + Generator.generate_query_module(%{ + context: context, + lexicon_id: "com.example", + name: "GetUser", + definition: definition + }) + + module_file = Path.join([temp_dir, "com", "example", "get_user.ex"]) + assert File.exists?(module_file) + + module_content = File.read!(module_file) + assert module_content =~ "defmodule ProtoRune.Com.Example.GetUser do" + assert module_content =~ "@type input :: %{user_id: String.t()}" + assert module_content =~ "@type output :: %{user: ProtoRune.Com.Example.User.t()}" + end + end + + describe "Utils" do + test "parses refs correctly" do + assert Utils.parse_ref("com.example", "#profile") == {"com.example", "profile"} + assert Utils.parse_ref("com.example", "com.other#profile") == {"com.other", "profile"} + assert Utils.parse_ref("com.example", "com.other") == {"com.other", "main"} + end + + test "converts field names to atoms" do + assert Utils.field_name_to_atom("userName") == :user_name + end + end + + describe "Integration test" do + test "generates schemas from lexicons", %{temp_dir: temp_dir} do + lexicon_content = """ + { + "lexicon": 1, + "id": "com.example.user", + "defs": { + "main": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "age": { "type": "integer" }, + "profile": { "type": "ref", "ref": "#profile" } + }, + "required": ["name"] + }, + "profile": { + "type": "object", + "properties": { + "bio": { "type": "string" } + } + } + } + } + """ + + # Write lexicon to a dedicated directory + lexicon_dir = Path.join(temp_dir, "lexicons") + File.mkdir_p!(lexicon_dir) + lexicon_file = Path.join(lexicon_dir, "user_lexicon.json") + File.write!(lexicon_file, lexicon_content) + + Mix.Tasks.GenSchemas.run(["--path", lexicon_dir, "--output-dir", temp_dir]) + + user_module_file = Path.join([temp_dir, "com", "example", "user.ex"]) + profile_module_file = Path.join([temp_dir, "com", "example", "user", "profile.ex"]) + + assert File.exists?(user_module_file) + assert File.exists?(profile_module_file) + + user_module_content = File.read!(user_module_file) + assert user_module_content =~ "defmodule ProtoRune.Com.Example.User do" + assert user_module_content =~ "profile: ProtoRune.Com.Example.User.Profile.t()" + + profile_module_content = File.read!(profile_module_file) + assert profile_module_content =~ "defmodule ProtoRune.Com.Example.User.Profile do" + + File.rm!(lexicon_file) + end + + @tag skip: true + test "processes real lexicon definitions", %{temp_dir: temp_dir} do + lexicon_dir = Path.expand("../../../priv/lexicons", __DIR__) + + if File.dir?(lexicon_dir) do + temp_lexicon_dir = Path.join(temp_dir, "lexicons") + File.mkdir_p!(temp_lexicon_dir) + + # Clean target dir before copying to avoid the file already exists issue + File.rm_rf!(temp_lexicon_dir) + File.cp_r!(lexicon_dir, temp_lexicon_dir) + + Mix.Tasks.GenSchemas.run(["--path", temp_lexicon_dir, "--output-dir", temp_dir]) + + expected_modules = [ + Path.join([temp_dir, "app", "bsky", "actor", "get_profile.ex"]), + Path.join([temp_dir, "app", "bsky", "actor", "defs", "profile_view_detailed.ex"]) + ] + + for module_file <- expected_modules do + assert File.exists?(module_file) + end + else + IO.puts( + "Skipping real lexicon definitions test: directory #{lexicon_dir} does not exist." + ) + + assert true + end + end + end +end