misardev 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42f3b715025a1ca699b15276a2b2101298200008a0a8a5917b139a96c6b49680
4
- data.tar.gz: 905bb383b0beeea71f4ecb209ce3619b36bfb770405dad7c0bd10ac4998b055b
3
+ metadata.gz: 1b0715986747854fd7a8a3a4669db5c3b440c0dd21740189ed50af9883bb81d0
4
+ data.tar.gz: 073de3d17d31ddfbd6d692ee1a259f29582c2d170dcec7c2a20faa7013816632
5
5
  SHA512:
6
- metadata.gz: e7911203f2f36edb6f9c7dd510a24121eda9460f63da4ceb6fbaef34e53fd86875e8505ffd983a3f22f35db8df7829f80ee7dc042d2b71420fb4acb5371e830b
7
- data.tar.gz: 95f819173a4603bd6f52d215405a9f9c1607c94ff1c1102bdc7e91f927e8587cb9e1a94ff294c15188645a0dabc54ce9f62825f1da692b74cd1f944dc107ecb5
6
+ metadata.gz: d093ecc90620f2e52d454ba4456268ee4d034cad4b26b503a1b139c9cfff0e4f39fd0a94e18c06b82daedc5c2ce0a7569fe82cd67a06c85198fca5f1b569072f
7
+ data.tar.gz: 698cf0984762a29fbb3c315241e7198cc4f4025da67a85a0db218f47b1566fb3641dd8f225ba26c20c3474bfb80e8ea57b0d9f63db4818273a5fb128e9d5f2bb
data/CHANGELOG.md CHANGED
@@ -4,6 +4,34 @@ All notable changes to this SDK are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses
5
5
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [1.1.0] — 2026-11-07
8
+
9
+ ### Added
10
+
11
+ - The social API, generated from the route tree like everything else. New methods:
12
+ - `dev.posts`: `create`, `create_comment`, `get`, `like`, `list`, `list_comments`, `list_saved`, `save`, `share_to_dm`, `unlike`, `unsave`, `update`
13
+ - `dev.comments`: `delete`, `like`, `unlike`, `update`
14
+ - `dev.feed`: `following`, `for_you`
15
+ - `dev.tags`: `get`
16
+ - `dev.collections`: `add_post`, `create`, `delete`, `list`, `remove_post`, `update`
17
+ - `dev.stories`: `create`, `delete`, `get`, `list_my_posts`, `list_viewers`, `mark_seen`, `reply`, `tray`
18
+ - `dev.highlights`: `add_story`, `create`, `delete`, `list`, `remove_story`, `update`
19
+ - `dev.close_friends`: `add`, `list`, `remove`
20
+ - `dev.dm`: `accept_thread`, `create_thread`, `decline_thread`, `list_messages`, `list_threads`, `mark_thread_read`, `send_message`, `unread_counts`
21
+ - `dev.social`: `dismiss_suggestion`, `list_suggestions`, `relationship`
22
+ - `dev.profile`: `block`, `mute`, `unblock`, `unmute`
23
+ - Routes that had landed without reaching the manifest:
24
+ - `dev.domains`: `checkout`, `create_dns_record`, `delete_dns_record`, `list`, `list_dns_records`, `search`, `update`
25
+ - `dev.projects`: `recommend_domains`
26
+ - `dev.search.code` now takes the `cursor` and `type` query parameters the route already read.
27
+ - `dev.profile`: `get_highlight` — one profile highlight's stories, ready to play, read when its circle is opened. `list_highlights` now answers the circles only (`id`, `title`, `coverUrl`, `createdAt`, `storyCount`, `closeFriends`), without stories.
28
+ - The surface is now 31 resources, 180 methods and 3 streams (183 operations).
29
+
30
+ ### Notes
31
+
32
+ - `dev.posts.list`, `dev.posts.get`, `dev.posts.list_comments`, `dev.tags.get` and `dev.feed.for_you` are public reads: they answer without a key, and a key only adds viewer flags and filtering.
33
+ - Not exposed on purpose: `POST /api/media/upload-url` (the signed URL needs a raw browser `PUT`) and `POST /api/posts/{id}/view` (a cookie-deduplicated page beacon).
34
+
7
35
  ## [1.0.0] — 2026-10-16
8
36
 
9
37
  First release as the **`misardev`** gem, the package name every Misar.Dev SDK now follows.
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![ruby](https://img.shields.io/badge/ruby-%3E%3D%203.0-CC342D)](https://rubygems.org/gems/misardev)
7
7
  [![license](https://img.shields.io/badge/license-MIT-green)](./LICENSE)
8
8
 
9
- **21 resource groups · 106 methods · 3 streams · typed plan-limit errors**
9
+ **31 resource groups · 180 methods · 3 streams · typed plan-limit errors**
10
10
 
11
11
  Misar.Dev turns a description into a working app and puts it online. This SDK is the same API the studio uses: create a project, write its files, deploy it to a subdomain or your own domain, start from a template, ask the AI through an OpenAI-compatible chat endpoint, and search across your code.
12
12
 
@@ -58,12 +58,12 @@ the route it calls.
58
58
 
59
59
  ### Build and ship
60
60
 
61
- | Resource | Methods | What it covers |
62
- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
63
- | `dev.projects` | `add_collaborator`, `archive`, `build_status`, `cancel_build`, `check_subdomain`, `create`, `create_conversation`, `delete`, `delete_env`, `delete_skills`, `deploy`, `duplicate`, `export`, `get`, `get_backend`, `get_deployment`, `get_domain`, `get_env`, `get_knowledge`, `get_skills`, `get_tools`, `import_artifact`, `list`, `list_checkpoints`, `list_collaborators`, `list_conversations`, `list_files`, `provision_backend`, `remove_collaborator`, `remove_domain`, `restore`, `set_domain`, `undeploy`, `update`, `update_env`, `update_knowledge`, `update_skills`, `update_subdomain`, `update_tools`, `write_files`, `build_stream` | Projects end to end: create, edit, files, builds, deploys, domains, env vars, collaborators, knowledge, skills, tools, export. |
64
- | `dev.templates` | `create`, `delete`, `get`, `list`, `remix`, `update`, `use` | Starter templates: browse, create, remix, and start a project from one. |
65
- | `dev.checkpoints` | `delete`, `restore`, `update` | Saved project snapshots: rename, restore, delete. |
66
- | `dev.builds` | `list` | Recent builds across your projects. |
61
+ | Resource | Methods | What it covers |
62
+ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
63
+ | `dev.projects` | `add_collaborator`, `archive`, `build_status`, `cancel_build`, `check_subdomain`, `create`, `create_conversation`, `delete`, `delete_env`, `delete_skills`, `deploy`, `duplicate`, `export`, `get`, `get_backend`, `get_deployment`, `get_domain`, `get_env`, `get_knowledge`, `get_skills`, `get_tools`, `import_artifact`, `list`, `list_checkpoints`, `list_collaborators`, `list_conversations`, `list_files`, `provision_backend`, `recommend_domains`, `remove_collaborator`, `remove_domain`, `restore`, `set_domain`, `undeploy`, `update`, `update_env`, `update_knowledge`, `update_skills`, `update_subdomain`, `update_tools`, `write_files`, `build_stream` | Projects end to end: create, edit, files, builds, deploys, domains, env vars, collaborators, knowledge, skills, tools, export. |
64
+ | `dev.templates` | `create`, `delete`, `get`, `list`, `remix`, `update`, `use` | Starter templates: browse, create, remix, and start a project from one. |
65
+ | `dev.checkpoints` | `delete`, `restore`, `update` | Saved project snapshots: rename, restore, delete. |
66
+ | `dev.builds` | `list` | Recent builds across your projects. |
67
67
 
68
68
  ### AI
69
69
 
@@ -83,24 +83,39 @@ the route it calls.
83
83
 
84
84
  ### Teams and community
85
85
 
86
- | Resource | Methods | What it covers |
87
- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
88
- | `dev.organizations` | `accept_invitation`, `create`, `create_invitation`, `list`, `list_invitations`, `list_members`, `remove_member`, `revoke_invitation`, `update_member` | Organizations, members and invitations. |
89
- | `dev.gallery` | `like`, `list`, `unlike` | The public community gallery, and likes. |
90
- | `dev.profile` | `follow`, `get`, `unfollow` | Public builder profiles, follow and unfollow. |
91
- | `dev.notifications` | `list`, `mark_all_read`, `mark_read` | In-app notifications and read state. |
92
- | `dev.reports` | `create` | Report abusive content. |
86
+ | Resource | Methods | What it covers |
87
+ | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
88
+ | `dev.organizations` | `accept_invitation`, `create`, `create_invitation`, `list`, `list_invitations`, `list_members`, `remove_member`, `revoke_invitation`, `update_member` | Organizations, members and invitations. |
89
+ | `dev.gallery` | `like`, `list`, `unlike` | The public community gallery, and likes. |
90
+ | `dev.profile` | `block`, `follow`, `get`, `get_highlight`, `list_blocks`, `list_connections`, `list_highlights`, `mute`, `unblock`, `unfollow`, `unmute` | Public builder profiles; follow, block and mute people. |
91
+ | `dev.notifications` | `get_preferences`, `list`, `mark_all_read`, `mark_read`, `update_preferences` | In-app notifications and read state. |
92
+ | `dev.reports` | `create` | Report abusive content. |
93
+
94
+ ### Social
95
+
96
+ | Resource | Methods | What it covers |
97
+ | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
98
+ | `dev.posts` | `create`, `create_comment`, `get`, `like`, `list`, `list_comments`, `list_saved`, `save`, `share_to_dm`, `unlike`, `unsave`, `update` | Posts: the explore grid, one post, share to feed, edit; likes, saves, comments, saved posts, share to a DM. |
99
+ | `dev.comments` | `delete`, `like`, `unlike`, `update` | Your comments: edit, delete; like and unlike any comment. |
100
+ | `dev.feed` | `following`, `for_you` | The Following feed and the ranked For you feed. |
101
+ | `dev.tags` | `get` | One hashtag's posts. |
102
+ | `dev.collections` | `add_post`, `create`, `delete`, `list`, `remove_post`, `update` | Saved-post collections: create, rename, delete, add and remove posts. |
103
+ | `dev.stories` | `create`, `delete`, `get`, `list_my_posts`, `list_viewers`, `mark_seen`, `reply`, `tray` | Stories: post, the tray, read one, mark seen, viewers, reply, and your posts to share. |
104
+ | `dev.highlights` | `add_story`, `create`, `delete`, `list`, `remove_story`, `update` | Story highlights on a profile: create, edit, delete, add and remove stories. |
105
+ | `dev.close_friends` | `add`, `list`, `remove` | Your close-friends list for stories. |
106
+ | `dev.dm` | `accept_thread`, `create_thread`, `create_threads_mute`, `decline_thread`, `delete_threads_mute`, `list_messages`, `list_threads`, `mark_thread_read`, `send_message`, `unread_counts` | Direct messages: threads and requests, messages, read state, unread counts. |
107
+ | `dev.social` | `dismiss_suggestion`, `list_suggestions`, `me_mutuals`, `relationship` | Your relationship with a person, and people suggestions. |
93
108
 
94
109
  ### Account, plan and billing
95
110
 
96
- | Resource | Methods | What it covers |
97
- | -------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------- |
98
- | `dev.account` | `create_key`, `delete_key`, `export`, `list_keys`, `update_key` | Account API keys (with expiry and IP allowlists) and your data export. |
99
- | `dev.api_keys` | `create`, `delete`, `list` | API keys — create, list, revoke. |
100
- | `dev.usage` | `list`, `plan`, `track` | Usage for a period, your plan's allowances, and usage events. |
101
- | `dev.billing` | `checkout`, `comparison`, `plans`, `subscription`, `switch_plan` | Plans, plan comparison, subscription, checkout, plan switch. |
102
- | `dev.audit` | `list` | Your account's audit log. |
103
- | `dev.domains` | `lookup` | Custom-domain availability lookup. |
111
+ | Resource | Methods | What it covers |
112
+ | -------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
113
+ | `dev.account` | `create_key`, `delete_key`, `export`, `list_keys`, `update_key` | Account API keys (with expiry and IP allowlists) and your data export. |
114
+ | `dev.api_keys` | `create`, `delete`, `list` | API keys — create, list, revoke. |
115
+ | `dev.usage` | `list`, `plan`, `track` | Usage for a period, your plan's allowances, and usage events. |
116
+ | `dev.billing` | `checkout`, `comparison`, `plans`, `subscription`, `switch_plan` | Plans, plan comparison, subscription, checkout, plan switch. |
117
+ | `dev.audit` | `list` | Your account's audit log. |
118
+ | `dev.domains` | `checkout`, `create_dns_record`, `delete_dns_record`, `list`, `list_dns_records`, `lookup`, `search`, `update` | Domains: availability lookup, search, checkout, your domains, and their DNS records. |
104
119
 
105
120
  ---
106
121
 
@@ -42,6 +42,7 @@ module MisarDev
42
42
  end
43
43
 
44
44
  # JSON-decode a payload when possible, else hand back the raw string.
45
+ # nosemgrep ruby.rails.security.audit.xss.avoid-raw.avoid-raw
45
46
  def self.decode(raw)
46
47
  JSON.parse(raw)
47
48
  rescue JSON::ParserError
@@ -0,0 +1,51 @@
1
+ # GENERATED by scripts/generate-sdk-resources.mjs from sdks/manifest.json.
2
+ # Do not edit by hand — change the route, run `pnpm sdk:sync`, and regenerate.
3
+ # frozen_string_literal: true
4
+
5
+ module MisarDev
6
+ module Generated
7
+ # The `closeFriends` resource — 3 operation(s).
8
+ class CloseFriendsResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `POST /close-friends`
18
+ #
19
+ # misardev:method closeFriends.add
20
+ #
21
+ # @param body [Hash] JSON request body
22
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
23
+ # @raise [MisarDev::MisarDevError]
24
+ def add(body = {})
25
+ @t.request("POST", "/close-friends", body: body)
26
+ end
27
+
28
+ # `GET /close-friends`
29
+ #
30
+ # misardev:method closeFriends.list
31
+ #
32
+ # @param query [Hash] optional query parameters (cursor, limit); nils are dropped
33
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
34
+ # @raise [MisarDev::MisarDevError]
35
+ def list(query = {})
36
+ @t.request("GET", "/close-friends", query: query)
37
+ end
38
+
39
+ # `DELETE /close-friends`
40
+ #
41
+ # misardev:method closeFriends.remove
42
+ #
43
+ # @param body [Hash] JSON request body
44
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
45
+ # @raise [MisarDev::MisarDevError]
46
+ def remove(body = {})
47
+ @t.request("DELETE", "/close-friends", body: body)
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,88 @@
1
+ # GENERATED by scripts/generate-sdk-resources.mjs from sdks/manifest.json.
2
+ # Do not edit by hand — change the route, run `pnpm sdk:sync`, and regenerate.
3
+ # frozen_string_literal: true
4
+
5
+ module MisarDev
6
+ module Generated
7
+ # The `collections` resource — 6 operation(s).
8
+ class CollectionsResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `POST /collections/:id/items`
18
+ #
19
+ # misardev:method collections.addPost
20
+ #
21
+ # @param id [String] path parameter `id`
22
+ # @param body [Hash] JSON request body
23
+ # @param query [Hash] optional query parameters (postId); nils are dropped
24
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
25
+ # @raise [MisarDev::MisarDevError]
26
+ def add_post(id, body = {}, query = {})
27
+ @t.request("POST", "/collections/#{Core::Transport.segment(id)}/items", query: query, body: body)
28
+ end
29
+
30
+ # `POST /collections`
31
+ #
32
+ # misardev:method collections.create
33
+ #
34
+ # @param body [Hash] JSON request body
35
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
36
+ # @raise [MisarDev::MisarDevError]
37
+ def create(body = {})
38
+ @t.request("POST", "/collections", body: body)
39
+ end
40
+
41
+ # `DELETE /collections/:id`
42
+ #
43
+ # misardev:method collections.delete
44
+ #
45
+ # @param id [String] path parameter `id`
46
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
47
+ # @raise [MisarDev::MisarDevError]
48
+ def delete(id)
49
+ @t.request("DELETE", "/collections/#{Core::Transport.segment(id)}")
50
+ end
51
+
52
+ # `GET /collections`
53
+ #
54
+ # misardev:method collections.list
55
+ #
56
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
57
+ # @raise [MisarDev::MisarDevError]
58
+ def list
59
+ @t.request("GET", "/collections")
60
+ end
61
+
62
+ # `DELETE /collections/:id/items`
63
+ #
64
+ # misardev:method collections.removePost
65
+ #
66
+ # @param id [String] path parameter `id`
67
+ # @param body [Hash] JSON request body
68
+ # @param query [Hash] optional query parameters (postId); nils are dropped
69
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
70
+ # @raise [MisarDev::MisarDevError]
71
+ def remove_post(id, body = {}, query = {})
72
+ @t.request("DELETE", "/collections/#{Core::Transport.segment(id)}/items", query: query, body: body)
73
+ end
74
+
75
+ # `PATCH /collections/:id`
76
+ #
77
+ # misardev:method collections.update
78
+ #
79
+ # @param id [String] path parameter `id`
80
+ # @param body [Hash] JSON request body
81
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
82
+ # @raise [MisarDev::MisarDevError]
83
+ def update(id, body = {})
84
+ @t.request("PATCH", "/collections/#{Core::Transport.segment(id)}", body: body)
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,63 @@
1
+ # GENERATED by scripts/generate-sdk-resources.mjs from sdks/manifest.json.
2
+ # Do not edit by hand — change the route, run `pnpm sdk:sync`, and regenerate.
3
+ # frozen_string_literal: true
4
+
5
+ module MisarDev
6
+ module Generated
7
+ # The `comments` resource — 4 operation(s).
8
+ class CommentsResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `DELETE /comments/:id`
18
+ #
19
+ # misardev:method comments.delete
20
+ #
21
+ # @param id [String] path parameter `id`
22
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
23
+ # @raise [MisarDev::MisarDevError]
24
+ def delete(id)
25
+ @t.request("DELETE", "/comments/#{Core::Transport.segment(id)}")
26
+ end
27
+
28
+ # `POST /comments/:id/like`
29
+ #
30
+ # misardev:method comments.like
31
+ #
32
+ # @param id [String] path parameter `id`
33
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
34
+ # @raise [MisarDev::MisarDevError]
35
+ def like(id)
36
+ @t.request("POST", "/comments/#{Core::Transport.segment(id)}/like")
37
+ end
38
+
39
+ # `DELETE /comments/:id/like`
40
+ #
41
+ # misardev:method comments.unlike
42
+ #
43
+ # @param id [String] path parameter `id`
44
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
45
+ # @raise [MisarDev::MisarDevError]
46
+ def unlike(id)
47
+ @t.request("DELETE", "/comments/#{Core::Transport.segment(id)}/like")
48
+ end
49
+
50
+ # `PATCH /comments/:id`
51
+ #
52
+ # misardev:method comments.update
53
+ #
54
+ # @param id [String] path parameter `id`
55
+ # @param body [Hash] JSON request body
56
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
57
+ # @raise [MisarDev::MisarDevError]
58
+ def update(id, body = {})
59
+ @t.request("PATCH", "/comments/#{Core::Transport.segment(id)}", body: body)
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,129 @@
1
+ # GENERATED by scripts/generate-sdk-resources.mjs from sdks/manifest.json.
2
+ # Do not edit by hand — change the route, run `pnpm sdk:sync`, and regenerate.
3
+ # frozen_string_literal: true
4
+
5
+ module MisarDev
6
+ module Generated
7
+ # The `dm` resource — 10 operation(s).
8
+ class DmResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `POST /dm/threads/:id/accept`
18
+ #
19
+ # misardev:method dm.acceptThread
20
+ #
21
+ # @param id [String] path parameter `id`
22
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
23
+ # @raise [MisarDev::MisarDevError]
24
+ def accept_thread(id)
25
+ @t.request("POST", "/dm/threads/#{Core::Transport.segment(id)}/accept")
26
+ end
27
+
28
+ # `POST /dm/threads`
29
+ #
30
+ # misardev:method dm.createThread
31
+ #
32
+ # @param body [Hash] JSON request body
33
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
34
+ # @raise [MisarDev::MisarDevError]
35
+ def create_thread(body = {})
36
+ @t.request("POST", "/dm/threads", body: body)
37
+ end
38
+
39
+ # `POST /dm/threads/:id/mute`
40
+ #
41
+ # misardev:method dm.createThreadsMute
42
+ #
43
+ # @param id [String] path parameter `id`
44
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
45
+ # @raise [MisarDev::MisarDevError]
46
+ def create_threads_mute(id)
47
+ @t.request("POST", "/dm/threads/#{Core::Transport.segment(id)}/mute")
48
+ end
49
+
50
+ # `POST /dm/threads/:id/decline`
51
+ #
52
+ # misardev:method dm.declineThread
53
+ #
54
+ # @param id [String] path parameter `id`
55
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
56
+ # @raise [MisarDev::MisarDevError]
57
+ def decline_thread(id)
58
+ @t.request("POST", "/dm/threads/#{Core::Transport.segment(id)}/decline")
59
+ end
60
+
61
+ # `DELETE /dm/threads/:id/mute`
62
+ #
63
+ # misardev:method dm.deleteThreadsMute
64
+ #
65
+ # @param id [String] path parameter `id`
66
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
67
+ # @raise [MisarDev::MisarDevError]
68
+ def delete_threads_mute(id)
69
+ @t.request("DELETE", "/dm/threads/#{Core::Transport.segment(id)}/mute")
70
+ end
71
+
72
+ # `GET /dm/threads/:id/messages`
73
+ #
74
+ # misardev:method dm.listMessages
75
+ #
76
+ # @param id [String] path parameter `id`
77
+ # @param query [Hash] optional query parameters (cursor, limit); nils are dropped
78
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
79
+ # @raise [MisarDev::MisarDevError]
80
+ def list_messages(id, query = {})
81
+ @t.request("GET", "/dm/threads/#{Core::Transport.segment(id)}/messages", query: query)
82
+ end
83
+
84
+ # `GET /dm/threads`
85
+ #
86
+ # misardev:method dm.listThreads
87
+ #
88
+ # @param query [Hash] optional query parameters (box, cursor, limit); nils are dropped
89
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
90
+ # @raise [MisarDev::MisarDevError]
91
+ def list_threads(query = {})
92
+ @t.request("GET", "/dm/threads", query: query)
93
+ end
94
+
95
+ # `POST /dm/threads/:id/read`
96
+ #
97
+ # misardev:method dm.markThreadRead
98
+ #
99
+ # @param id [String] path parameter `id`
100
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
101
+ # @raise [MisarDev::MisarDevError]
102
+ def mark_thread_read(id)
103
+ @t.request("POST", "/dm/threads/#{Core::Transport.segment(id)}/read")
104
+ end
105
+
106
+ # `POST /dm/threads/:id/messages`
107
+ #
108
+ # misardev:method dm.sendMessage
109
+ #
110
+ # @param id [String] path parameter `id`
111
+ # @param body [Hash] JSON request body
112
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
113
+ # @raise [MisarDev::MisarDevError]
114
+ def send_message(id, body = {})
115
+ @t.request("POST", "/dm/threads/#{Core::Transport.segment(id)}/messages", body: body)
116
+ end
117
+
118
+ # `GET /dm/unread`
119
+ #
120
+ # misardev:method dm.unreadCounts
121
+ #
122
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
123
+ # @raise [MisarDev::MisarDevError]
124
+ def unread_counts
125
+ @t.request("GET", "/dm/unread")
126
+ end
127
+ end
128
+ end
129
+ end
@@ -4,7 +4,7 @@
4
4
 
5
5
  module MisarDev
6
6
  module Generated
7
- # The `domains` resource — 1 operation(s).
7
+ # The `domains` resource — 8 operation(s).
8
8
  class DomainsResource
9
9
  def initialize(transport)
10
10
  @t = transport
@@ -14,6 +14,62 @@ module MisarDev
14
14
  "#<#{self.class.name}>"
15
15
  end
16
16
 
17
+ # `POST /domains/checkout`
18
+ #
19
+ # misardev:method domains.checkout
20
+ #
21
+ # @param body [Hash] JSON request body
22
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
23
+ # @raise [MisarDev::MisarDevError]
24
+ def checkout(body = {})
25
+ @t.request("POST", "/domains/checkout", body: body)
26
+ end
27
+
28
+ # `POST /domains/:id/dns`
29
+ #
30
+ # misardev:method domains.createDnsRecord
31
+ #
32
+ # @param id [String] path parameter `id`
33
+ # @param body [Hash] JSON request body
34
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
35
+ # @raise [MisarDev::MisarDevError]
36
+ def create_dns_record(id, body = {})
37
+ @t.request("POST", "/domains/#{Core::Transport.segment(id)}/dns", body: body)
38
+ end
39
+
40
+ # `DELETE /domains/:id/dns`
41
+ #
42
+ # misardev:method domains.deleteDnsRecord
43
+ #
44
+ # @param id [String] path parameter `id`
45
+ # @param record_id [String, Numeric, Boolean] required query parameter `recordId`
46
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
47
+ # @raise [MisarDev::MisarDevError]
48
+ def delete_dns_record(id, record_id)
49
+ @t.request("DELETE", "/domains/#{Core::Transport.segment(id)}/dns", query: { "recordId" => record_id })
50
+ end
51
+
52
+ # `GET /domains`
53
+ #
54
+ # misardev:method domains.list
55
+ #
56
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
57
+ # @raise [MisarDev::MisarDevError]
58
+ def list
59
+ @t.request("GET", "/domains")
60
+ end
61
+
62
+ # `GET /domains/:id/dns`
63
+ #
64
+ # misardev:method domains.listDnsRecords
65
+ #
66
+ # @param id [String] path parameter `id`
67
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
68
+ # @raise [MisarDev::MisarDevError]
69
+ def list_dns_records(id)
70
+ @t.request("GET", "/domains/#{Core::Transport.segment(id)}/dns")
71
+ end
72
+
17
73
  # `GET /domains/lookup`
18
74
  #
19
75
  # misardev:method domains.lookup
@@ -24,6 +80,29 @@ module MisarDev
24
80
  def lookup(domain)
25
81
  @t.request("GET", "/domains/lookup", query: { "domain" => domain })
26
82
  end
83
+
84
+ # `POST /domains/search`
85
+ #
86
+ # misardev:method domains.search
87
+ #
88
+ # @param body [Hash] JSON request body
89
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
90
+ # @raise [MisarDev::MisarDevError]
91
+ def search(body = {})
92
+ @t.request("POST", "/domains/search", body: body)
93
+ end
94
+
95
+ # `PATCH /domains/:id`
96
+ #
97
+ # misardev:method domains.update
98
+ #
99
+ # @param id [String] path parameter `id`
100
+ # @param body [Hash] JSON request body
101
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
102
+ # @raise [MisarDev::MisarDevError]
103
+ def update(id, body = {})
104
+ @t.request("PATCH", "/domains/#{Core::Transport.segment(id)}", body: body)
105
+ end
27
106
  end
28
107
  end
29
108
  end
@@ -0,0 +1,42 @@
1
+ # GENERATED by scripts/generate-sdk-resources.mjs from sdks/manifest.json.
2
+ # Do not edit by hand — change the route, run `pnpm sdk:sync`, and regenerate.
3
+ # frozen_string_literal: true
4
+
5
+ module MisarDev
6
+ module Generated
7
+ # The `feed` resource — 2 operation(s).
8
+ class FeedResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `GET /feed`
18
+ #
19
+ # misardev:method feed.following
20
+ #
21
+ # @param query [Hash] optional query parameters (cursor, limit); nils are dropped
22
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
23
+ # @raise [MisarDev::MisarDevError]
24
+ def following(query = {})
25
+ @t.request("GET", "/feed", query: query)
26
+ end
27
+
28
+ # `GET /feed/for-you`
29
+ #
30
+ # Public — works without a key, but the client still sends it.
31
+ #
32
+ # misardev:method feed.forYou
33
+ #
34
+ # @param query [Hash] optional query parameters (cursor, limit); nils are dropped
35
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
36
+ # @raise [MisarDev::MisarDevError]
37
+ def for_you(query = {})
38
+ @t.request("GET", "/feed/for-you", query: query)
39
+ end
40
+ end
41
+ end
42
+ end
@@ -31,7 +31,7 @@ module MisarDev
31
31
  #
32
32
  # misardev:method gallery.list
33
33
  #
34
- # @param query [Hash] optional query parameters (limit, offset, q, search); nils are dropped
34
+ # @param query [Hash] optional query parameters (limit, offset, public, q, search); nils are dropped
35
35
  # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
36
36
  # @raise [MisarDev::MisarDevError]
37
37
  def list(query = {})