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 +4 -4
- data/CHANGELOG.md +20 -2
- data/README.md +47 -48
- data/lib/meerkat/resources/signup.rb +4 -2
- data/lib/meerkat/version.rb +1 -1
- metadata +31 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8931270a622f63c7e979beeca840cc4ace19f06cbb4c869f1ef573675e7e2d65
|
|
4
|
+
data.tar.gz: 884b364930c7a2991cf787d5a07e1e234cb12fea51e385f12acf5d80abbf3d05
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
79
|
-
[0.3.
|
|
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
|
-
#
|
|
1
|
+
# Meerkat Agents
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The official Ruby SDK for Meerkat Cloud.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
11
|
+
gem "meerkat-agents"
|
|
11
12
|
```
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
```bash
|
|
15
|
+
bundle install
|
|
16
|
+
```
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
## Get an API key
|
|
16
19
|
|
|
17
|
-
|
|
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
|
-
|
|
23
|
+
```bash
|
|
24
|
+
export MEERKAT_API_KEY=mk_...
|
|
25
|
+
```
|
|
20
26
|
|
|
21
|
-
|
|
27
|
+
## Create your first monitor
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
Webhook is optional — results appear in the Cloud dashboard and API.
|
|
24
30
|
|
|
25
31
|
```ruby
|
|
26
|
-
|
|
32
|
+
require "meerkat"
|
|
27
33
|
|
|
28
|
-
client.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
### 3. List / update / delete
|
|
43
|
+
## Run it
|
|
39
44
|
|
|
40
45
|
```ruby
|
|
41
|
-
client.monitors.
|
|
42
|
-
|
|
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
|
-
|
|
50
|
+
Inspect findings in the [Cloud dashboard](https://cloud.meerkatagents.com/dashboard) under **Runs**, or:
|
|
50
51
|
|
|
51
52
|
```ruby
|
|
52
|
-
client.monitors.
|
|
53
|
-
client.monitors.retrieve_run(
|
|
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
|
-
|
|
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://
|
|
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
|
|
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
|
data/lib/meerkat/version.rb
CHANGED
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
|
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
|
|
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
|
|
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://
|
|
104
|
-
|
|
105
|
-
|
|
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
|
|
127
|
-
get webhooks (not Sidekiq).
|
|
137
|
+
summary: Ruby SDK for Meerkat Cloud Change Intelligence
|
|
128
138
|
test_files: []
|