misardev 1.0.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.
@@ -0,0 +1,40 @@
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 `search` resource — 2 operation(s).
8
+ class SearchResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `GET /search`
18
+ #
19
+ # misardev:method search.code
20
+ #
21
+ # @param query [Hash] optional query parameters (limit, q, types); nils are dropped
22
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
23
+ # @raise [MisarDev::MisarDevError]
24
+ def code(query = {})
25
+ @t.request("GET", "/search", query: query)
26
+ end
27
+
28
+ # `POST /v1/search`
29
+ #
30
+ # misardev:method search.web
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 web(body = {})
36
+ @t.request("POST", "/v1/search", body: body)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,39 @@
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 `skills` resource — 2 operation(s).
8
+ class SkillsResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `GET /skills/misarai/:slug`
18
+ #
19
+ # misardev:method skills.get
20
+ #
21
+ # @param slug [String] path parameter `slug`
22
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
23
+ # @raise [MisarDev::MisarDevError]
24
+ def get(slug)
25
+ @t.request("GET", "/skills/misarai/#{Core::Transport.segment(slug)}")
26
+ end
27
+
28
+ # `GET /skills/misarai`
29
+ #
30
+ # misardev:method skills.list
31
+ #
32
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
33
+ # @raise [MisarDev::MisarDevError]
34
+ def list
35
+ @t.request("GET", "/skills/misarai")
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,97 @@
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 `templates` resource — 7 operation(s).
8
+ class TemplatesResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `POST /templates`
18
+ #
19
+ # misardev:method templates.create
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 create(body = {})
25
+ @t.request("POST", "/templates", body: body)
26
+ end
27
+
28
+ # `DELETE /templates/:id`
29
+ #
30
+ # misardev:method templates.delete
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 delete(id)
36
+ @t.request("DELETE", "/templates/#{Core::Transport.segment(id)}")
37
+ end
38
+
39
+ # `GET /templates/:id`
40
+ #
41
+ # misardev:method templates.get
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 get(id)
47
+ @t.request("GET", "/templates/#{Core::Transport.segment(id)}")
48
+ end
49
+
50
+ # `GET /templates`
51
+ #
52
+ # misardev:method templates.list
53
+ #
54
+ # @param query [Hash] optional query parameters (category, featured, limit, offset, search); nils are dropped
55
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
56
+ # @raise [MisarDev::MisarDevError]
57
+ def list(query = {})
58
+ @t.request("GET", "/templates", query: query)
59
+ end
60
+
61
+ # `POST /templates/remix`
62
+ #
63
+ # misardev:method templates.remix
64
+ #
65
+ # @param body [Hash] JSON request body
66
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
67
+ # @raise [MisarDev::MisarDevError]
68
+ def remix(body = {})
69
+ @t.request("POST", "/templates/remix", body: body)
70
+ end
71
+
72
+ # `PATCH /templates/:id`
73
+ #
74
+ # misardev:method templates.update
75
+ #
76
+ # @param id [String] path parameter `id`
77
+ # @param body [Hash] JSON request body
78
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
79
+ # @raise [MisarDev::MisarDevError]
80
+ def update(id, body = {})
81
+ @t.request("PATCH", "/templates/#{Core::Transport.segment(id)}", body: body)
82
+ end
83
+
84
+ # `POST /templates/:id/use`
85
+ #
86
+ # misardev:method templates.use
87
+ #
88
+ # @param id [String] path parameter `id`
89
+ # @param body [Hash] JSON request body
90
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
91
+ # @raise [MisarDev::MisarDevError]
92
+ def use(id, body = {})
93
+ @t.request("POST", "/templates/#{Core::Transport.segment(id)}/use", body: body)
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,50 @@
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 `usage` resource — 3 operation(s).
8
+ class UsageResource
9
+ def initialize(transport)
10
+ @t = transport
11
+ end
12
+
13
+ def inspect
14
+ "#<#{self.class.name}>"
15
+ end
16
+
17
+ # `GET /usage`
18
+ #
19
+ # misardev:method usage.list
20
+ #
21
+ # @param query [Hash] optional query parameters (analytics, days, format); nils are dropped
22
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
23
+ # @raise [MisarDev::MisarDevError]
24
+ def list(query = {})
25
+ @t.request("GET", "/usage", query: query)
26
+ end
27
+
28
+ # `GET /usage/plan`
29
+ #
30
+ # misardev:method usage.plan
31
+ #
32
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
33
+ # @raise [MisarDev::MisarDevError]
34
+ def plan
35
+ @t.request("GET", "/usage/plan")
36
+ end
37
+
38
+ # `POST /usage/track`
39
+ #
40
+ # misardev:method usage.track
41
+ #
42
+ # @param body [Hash] JSON request body
43
+ # @return [Hash, Array, String, nil] decoded JSON, a raw string, or nil
44
+ # @raise [MisarDev::MisarDevError]
45
+ def track(body = {})
46
+ @t.request("POST", "/usage/track", body: body)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MisarDev
4
+ VERSION = "1.0.0"
5
+ end
data/lib/misardev.rb ADDED
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "misardev/version"
4
+ require_relative "misardev/errors"
5
+ require_relative "misardev/client"
6
+
7
+ # Ruby client for the Misar.Dev API.
8
+ #
9
+ # require "misardev"
10
+ # dev = MisarDev.new(ENV["MISARDEV_API_KEY"])
11
+ # dev.projects.list
12
+ module MisarDev
13
+ # Shorthand for MisarDev::Client.new.
14
+ def self.new(api_key = nil, **options)
15
+ Client.new(api_key, **options)
16
+ end
17
+ end
metadata ADDED
@@ -0,0 +1,115 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: misardev
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Misar.AI
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-10-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.13'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.13'
27
+ - !ruby/object:Gem::Dependency
28
+ name: webmock
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.23'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.23'
41
+ description: 'Ruby client for the Misar.Dev API (misar.dev): create projects, write
42
+ their files, build and deploy them to a subdomain or your own domain, start from
43
+ templates, call the OpenAI-compatible chat completions endpoint, search your code
44
+ and read usage. 21 resource groups and every route generated from the API, plus
45
+ retries that honour Retry-After, typed plan-limit errors carrying the upgrade offer,
46
+ SSE streaming and pagination. No runtime dependencies beyond the stdlib.'
47
+ email:
48
+ - hello@misar.io
49
+ executables: []
50
+ extensions: []
51
+ extra_rdoc_files: []
52
+ files:
53
+ - CHANGELOG.md
54
+ - LICENSE
55
+ - README.md
56
+ - lib/misardev.rb
57
+ - lib/misardev/client.rb
58
+ - lib/misardev/core/http.rb
59
+ - lib/misardev/core/pagination.rb
60
+ - lib/misardev/core/sse.rb
61
+ - lib/misardev/core/transport.rb
62
+ - lib/misardev/errors.rb
63
+ - lib/misardev/generated/account.rb
64
+ - lib/misardev/generated/api_keys.rb
65
+ - lib/misardev/generated/audit.rb
66
+ - lib/misardev/generated/billing.rb
67
+ - lib/misardev/generated/builds.rb
68
+ - lib/misardev/generated/chat.rb
69
+ - lib/misardev/generated/checkpoints.rb
70
+ - lib/misardev/generated/connectors.rb
71
+ - lib/misardev/generated/domains.rb
72
+ - lib/misardev/generated/gallery.rb
73
+ - lib/misardev/generated/github.rb
74
+ - lib/misardev/generated/notifications.rb
75
+ - lib/misardev/generated/organizations.rb
76
+ - lib/misardev/generated/profile.rb
77
+ - lib/misardev/generated/projects.rb
78
+ - lib/misardev/generated/rag.rb
79
+ - lib/misardev/generated/reports.rb
80
+ - lib/misardev/generated/resources.rb
81
+ - lib/misardev/generated/search.rb
82
+ - lib/misardev/generated/skills.rb
83
+ - lib/misardev/generated/templates.rb
84
+ - lib/misardev/generated/usage.rb
85
+ - lib/misardev/version.rb
86
+ homepage: https://www.misar.dev
87
+ licenses:
88
+ - MIT
89
+ metadata:
90
+ homepage_uri: https://www.misar.dev
91
+ documentation_uri: https://docs.misar.io/dev
92
+ source_code_uri: https://github.com/Misar-AI/misardev-sdks/tree/main/ruby
93
+ changelog_uri: https://github.com/Misar-AI/misardev-sdks/blob/main/ruby/CHANGELOG.md
94
+ bug_tracker_uri: https://github.com/Misar-AI/misardev-sdks/issues
95
+ post_install_message:
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '3.0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ requirements: []
110
+ rubygems_version: 3.5.22
111
+ signing_key:
112
+ specification_version: 4
113
+ summary: 'Ruby client for Misar.Dev: create, build and ship apps, templates, chat
114
+ completions and code search in one API'
115
+ test_files: []