meerkat-agents 0.3.5 → 0.3.7

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: 51c1742a69bf1d250bf974f258828a7c578530a29b2dc85a481201b7933ad27c
4
- data.tar.gz: eb5f00f6185d64ce228031f4749dacd76aa8554913ed8e643a706724778a539a
3
+ metadata.gz: 8931270a622f63c7e979beeca840cc4ace19f06cbb4c869f1ef573675e7e2d65
4
+ data.tar.gz: 884b364930c7a2991cf787d5a07e1e234cb12fea51e385f12acf5d80abbf3d05
5
5
  SHA512:
6
- metadata.gz: 956d4a8d7c51481b5acf4ae7410f32f403911f765e22465eff010d16b234a14cff8b1655b396ad1c5d3ada45bff6a748c346e197cf8d1397d25c0616d041644b
7
- data.tar.gz: 02041b1e93bf95a5c5d5c9c6235184b8d2efcc6992e96c689337185494b8a5b10f3a6463d6e54b47ee16d7069375ddb64e11114d9db44390c2147792d92c8c8e
6
+ metadata.gz: 7556beab603f0d810015ad5df9703136a9354163dbe6599a2152fdb310f5153f1f10f48890478d7c011c661443f7dedfe681798fa9ed29cfeae65779057c8f1e
7
+ data.tar.gz: f070fe107fc0f24a2146f2d08ee940167bd915be6658acb063029169485f490247abc6fde655344b24015821d9a4cce8649fe4986778057db989225e12f8bb1c
data/CHANGELOG.md CHANGED
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.7] - 2026-07-17
9
+
10
+ ### Changed
11
+
12
+ - Expanded RubyGems description: Change Intelligence positioning, how it works,
13
+ difference from job queues, and common use cases (RDoc headings + lists)
14
+
15
+ ## [0.3.6] - 2026-07-17
16
+
17
+ ### Changed
18
+
19
+ - RubyGems listing: official Meerkat Cloud SDK positioning; no private GitHub links
20
+ - Homepage → https://meerkatagents.com; docs → /docs/ruby; changelog → /changelog; bugs → /support
21
+ - README quick start creates monitors without a webhook first
22
+ - Signup resource accepts optional company/website
23
+
8
24
  ## [0.3.5] - 2026-07-17
9
25
 
10
26
  ### Changed
@@ -75,8 +91,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
75
91
  - Webhook HMAC-SHA256 verification helpers
76
92
  - Optional Rails railtie and webhook verification concern
77
93
 
78
- [0.3.5]: https://github.com/Tiny-Bubble-Company/meerkat-ruby/releases/tag/v0.3.5
79
- [0.3.4]: https://github.com/Tiny-Bubble-Company/meerkat-ruby/releases/tag/v0.3.4
94
+ [0.3.7]: https://meerkatagents.com/changelog
95
+ [0.3.6]: https://meerkatagents.com/changelog
96
+ [0.3.5]: https://meerkatagents.com/changelog
97
+ [0.3.4]: https://meerkatagents.com/changelog
80
98
  [0.3.3]: https://github.com/Tiny-Bubble-Company/meerkat-ruby/releases/tag/v0.3.3
81
99
  [0.3.2]: https://github.com/Tiny-Bubble-Company/meerkat-ruby/releases/tag/v0.3.2
82
100
  [0.3.1]: https://github.com/Tiny-Bubble-Company/meerkat-ruby/releases/tag/v0.3.1
data/README.md CHANGED
@@ -1,61 +1,69 @@
1
- # meerkat-agents
1
+ # Meerkat Agents
2
2
 
3
- Change Intelligence for Ruby. Create monitors, inspect runs and artifacts, receive signed webhooks.
3
+ The official Ruby SDK for Meerkat Cloud.
4
4
 
5
- ```bash
6
- gem install meerkat-agents
7
- ```
5
+ Describe what you want to monitor, run it on demand or on a schedule, and
6
+ receive structured change events in your dashboard or through a webhook.
7
+
8
+ ## Install
8
9
 
9
10
  ```ruby
10
- require "meerkat"
11
+ gem "meerkat-agents"
11
12
  ```
12
13
 
13
- Default API base: `https://cloud.meerkatagents.com/api/v1`
14
+ ```bash
15
+ bundle install
16
+ ```
14
17
 
15
- ---
18
+ ## Get an API key
16
19
 
17
- ## Quick start
20
+ 1. Sign up at [cloud.meerkatagents.com/signup](https://cloud.meerkatagents.com/signup) (email + password).
21
+ 2. Copy your API key (shown once).
18
22
 
19
- ### 1. Sign up
23
+ ```bash
24
+ export MEERKAT_API_KEY=mk_...
25
+ ```
20
26
 
21
- [cloud.meerkatagents.com/signup](https://cloud.meerkatagents.com/signup) copy `MEERKAT_API_KEY`, add your LLM key under **LLM key**.
27
+ ## Create your first monitor
22
28
 
23
- ### 2. Create a monitor
29
+ Webhook is optional results appear in the Cloud dashboard and API.
24
30
 
25
31
  ```ruby
26
- client = Meerkat::Client.new(api_key: ENV["MEERKAT_API_KEY"])
32
+ require "meerkat"
27
33
 
28
- client.monitors.create(
29
- description: "Notify me when pricing or plan limits change",
30
- input_params: { url: "https://competitor.com/pricing" },
31
- frequency: "every 6 hours",
32
- output_webhook: "https://myapp.com/webhooks/meerkat"
34
+ client = Meerkat::Client.new(api_key: ENV.fetch("MEERKAT_API_KEY"))
35
+
36
+ monitor = client.monitors.create(
37
+ description: "Tell me when this pricing page changes",
38
+ input_params: { url: "https://example.com/pricing" },
39
+ frequency: "every 6 hours"
33
40
  )
34
41
  ```
35
42
 
36
- All monitors are recurring. There is no `task_type`.
37
-
38
- ### 3. List / update / delete
43
+ ## Run it
39
44
 
40
45
  ```ruby
41
- client.monitors.list
42
- client.monitors.retrieve(id)
43
- client.monitors.update(id, frequency: "every 12 hours")
44
- client.monitors.pause(id)
45
- client.monitors.resume(id)
46
- client.monitors.delete(id)
46
+ run = client.monitors.run(monitor["data"]["id"])
47
+ puts run
47
48
  ```
48
49
 
49
- ### 4. Runs & artifacts
50
+ Inspect findings in the [Cloud dashboard](https://cloud.meerkatagents.com/dashboard) under **Runs**, or:
50
51
 
51
52
  ```ruby
52
- client.monitors.runs(id)
53
- client.monitors.retrieve_run(id, run_id)
54
- client.monitors.artifacts(id, run_id) # structured findings from the run
55
- client.monitors.run(id) # trigger an on-demand run
53
+ client.monitors.artifacts(monitor_id, run_id)
54
+ client.monitors.retrieve_run(monitor_id, run_id)
56
55
  ```
57
56
 
58
- ### 5. Webhooks in Rails
57
+ ## Add a webhook (optional)
58
+
59
+ For production delivery to your Rails app:
60
+
61
+ ```ruby
62
+ client.monitors.update(
63
+ monitor_id,
64
+ output_webhook: "https://myapp.com/webhooks/meerkat"
65
+ )
66
+ ```
59
67
 
60
68
  ```ruby
61
69
  class Webhooks::MeerkatController < ApplicationController
@@ -68,28 +76,19 @@ class Webhooks::MeerkatController < ApplicationController
68
76
  end
69
77
  ```
70
78
 
71
- Set `MEERKAT_WEBHOOK_SECRET`.
72
-
73
- ---
79
+ Set `MEERKAT_WEBHOOK_SECRET` for signature verification.
74
80
 
75
81
  ## Configuration
76
82
 
77
83
  | Variable | Description |
78
84
  |----------|-------------|
79
85
  | `MEERKAT_API_KEY` | From Cloud signup |
80
- | `MEERKAT_WEBHOOK_SECRET` | HMAC verification |
86
+ | `MEERKAT_WEBHOOK_SECRET` | HMAC verification (when using webhooks) |
81
87
  | `MEERKAT_BASE_URL` | Optional; defaults to Cloud |
82
88
 
83
- ---
84
-
85
- ## Pricing
86
-
87
- Free: 1 monitor · 1 run. Then [$20 — 5 monitors, 50 runs](https://cloud.meerkatagents.com/subscribe).
88
-
89
- Limit hit → `Meerkat::SubscriptionRequiredError`.
90
-
91
- ---
92
-
93
89
  ## Docs
94
90
 
95
- https://cloud.meerkatagents.com/docs/introduction
91
+ - Product: https://meerkatagents.com
92
+ - Ruby docs: https://meerkatagents.com/docs/ruby
93
+ - Changelog: https://meerkatagents.com/changelog
94
+ - Support: https://meerkatagents.com/support
@@ -3,13 +3,15 @@
3
3
  module Meerkat
4
4
  module Resources
5
5
  class Signup < Base
6
- def create(email:, company:, website:, name: nil)
6
+ def create(email:, name: nil, company: nil, website: nil, password: nil, password_confirmation: nil)
7
7
  client.post("/signup", body: {
8
8
  customer: {
9
9
  email: email,
10
10
  name: name,
11
11
  company: company,
12
- website: website
12
+ website: website,
13
+ password: password,
14
+ password_confirmation: password_confirmation
13
15
  }.compact
14
16
  })
15
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Meerkat
4
- VERSION = "0.3.5"
4
+ VERSION = "0.3.7"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meerkat-agents
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiny Bubble Company
@@ -35,28 +35,40 @@ description: |
35
35
 
36
36
  The official Ruby client for Meerkat Cloud Change Intelligence.
37
37
 
38
- Rails applications often need to detect meaningful changes across the systems they depend on—websites, APIs, databases, internal services, SaaS tools, inventory systems, shipment providers, or other connected data sources.
38
+ Rails applications often need to detect meaningful changes across the
39
+ systems they depend on—websites, APIs, databases, internal services, SaaS
40
+ tools, inventory systems, shipment providers, or other connected data
41
+ sources.
39
42
 
40
- Building these monitoring loops yourself usually means maintaining polling jobs, cron schedules, background workers, state comparisons, retries, LLM orchestration, and webhook infrastructure.
43
+ Building these monitoring loops yourself usually means maintaining polling
44
+ jobs, cron schedules, background workers, state comparisons, retries, LLM
45
+ orchestration, and webhook infrastructure.
41
46
 
42
- Meerkat runs the monitoring loop in the cloud and sends structured change events back to your Rails application.
47
+ Meerkat runs the monitoring loop in the cloud and sends structured change
48
+ events back to your Rails application.
43
49
 
44
50
  == How it works
45
51
 
46
- 1. Create a monitoring task from Ruby.
47
- 2. Describe what to monitor in plain English.
48
- 3. Provide the relevant URLs, data, or connected system inputs.
49
- 4. Define how often the task should run.
50
- 5. Meerkat checks the source repeatedly, compares the latest result with previous state, and identifies meaningful changes using your own LLM key.
51
- 6. When something changes, Meerkat POSTs a signed JSON event to your webhook, with automatic delivery retries.
52
+ * Create a monitoring task from Ruby.
53
+ * Describe what to monitor in plain English.
54
+ * Provide the relevant URLs, data, or connected system inputs.
55
+ * Define how often the task should run.
56
+ * Meerkat checks the source repeatedly, compares the latest result with
57
+ previous state, and identifies meaningful changes using your own LLM key.
58
+ * When something changes, Meerkat POSTs a signed JSON event to your
59
+ webhook, with automatic delivery retries.
52
60
 
53
61
  == How it differs from Sidekiq and job queues
54
62
 
55
- Sidekiq, Active Job, Good Job, Solid Queue, Delayed Job, and Resque are excellent for running your Ruby jobs on your workers.
63
+ Sidekiq, Active Job, Good Job, Solid Queue, Delayed Job, and Resque are
64
+ excellent for running your Ruby jobs on your workers.
56
65
 
57
- Meerkat is not a background-job queue. It is managed infrastructure for continuously monitoring connected systems and reporting meaningful changes.
66
+ Meerkat is not a background-job queue. It is managed infrastructure for
67
+ continuously monitoring connected systems and reporting meaningful changes.
58
68
 
59
- Instead of building polling jobs, comparison logic, schedulers, scraping code, LLM workflows, and webhook delivery pipelines, you describe what should be monitored and let Meerkat operate the watch loop.
69
+ Instead of building polling jobs, comparison logic, schedulers, scraping
70
+ code, LLM workflows, and webhook delivery pipelines, you describe what
71
+ should be monitored and let Meerkat operate the watch loop.
60
72
 
61
73
  == Common use cases
62
74
 
@@ -95,15 +107,14 @@ files:
95
107
  - lib/meerkat/resources/tasks.rb
96
108
  - lib/meerkat/version.rb
97
109
  - lib/meerkat/webhooks.rb
98
- homepage: https://meerkatagents.com/
110
+ homepage: https://meerkatagents.com
99
111
  licenses:
100
112
  - MIT
101
113
  metadata:
102
- homepage_uri: https://meerkatagents.com/
103
- documentation_uri: https://cloud.meerkatagents.com/docs/introduction
104
- source_code_uri: https://github.com/Tiny-Bubble-Company/meerkat-ruby
105
- changelog_uri: https://github.com/Tiny-Bubble-Company/meerkat-ruby/blob/main/CHANGELOG.md
106
- bug_tracker_uri: https://github.com/Tiny-Bubble-Company/meerkat-ruby/issues
114
+ homepage_uri: https://meerkatagents.com
115
+ documentation_uri: https://meerkatagents.com/docs/ruby
116
+ changelog_uri: https://meerkatagents.com/changelog
117
+ bug_tracker_uri: https://meerkatagents.com/support
107
118
  rubygems_mfa_required: 'true'
108
119
  post_install_message:
109
120
  rdoc_options: []
@@ -123,6 +134,5 @@ requirements: []
123
134
  rubygems_version: 3.4.1
124
135
  signing_key:
125
136
  specification_version: 4
126
- summary: Meerkat Cloud Change Intelligence — monitor websites, APIs, and systems;
127
- get webhooks (not Sidekiq).
137
+ summary: Ruby SDK for Meerkat Cloud Change Intelligence
128
138
  test_files: []