meerkat-agents 0.3.5 → 0.3.6

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: 2402b329cac4ff6816f622c721f704f85ef8643cbdd6f96e977c17c9cf5371a0
4
+ data.tar.gz: 8f8c1308e57434a1f098fe2691d7789e68173764cdb8a4fbf0b266855705d7fa
5
5
  SHA512:
6
- metadata.gz: 956d4a8d7c51481b5acf4ae7410f32f403911f765e22465eff010d16b234a14cff8b1655b396ad1c5d3ada45bff6a748c346e197cf8d1397d25c0616d041644b
7
- data.tar.gz: 02041b1e93bf95a5c5d5c9c6235184b8d2efcc6992e96c689337185494b8a5b10f3a6463d6e54b47ee16d7069375ddb64e11114d9db44390c2147792d92c8c8e
6
+ metadata.gz: 41afc5d5dd213677aaefaca2ad8b0b12b3a98e433a4ce6f134a90e1bea713538a20a366b65ce01dac2198b45a13663da661549045f9ac55319e703941ac2a97e
7
+ data.tar.gz: ff6050be0d456b1b58bbf13c591ff67d5d99b25cc2ffaae96222ca6bd436d7e0cdf02498933910a124bc9147c67e4bc4aaac0142ddbdfb5fc3efd3d9688cd717
data/CHANGELOG.md CHANGED
@@ -5,6 +5,15 @@ 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.6] - 2026-07-17
9
+
10
+ ### Changed
11
+
12
+ - RubyGems listing: official Meerkat Cloud SDK positioning; no private GitHub links
13
+ - Homepage → https://meerkatagents.com; docs → /docs/ruby; changelog → /changelog; bugs → /support
14
+ - README quick start creates monitors without a webhook first
15
+ - Signup resource accepts optional company/website
16
+
8
17
  ## [0.3.5] - 2026-07-17
9
18
 
10
19
  ### Changed
@@ -75,8 +84,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
75
84
  - Webhook HMAC-SHA256 verification helpers
76
85
  - Optional Rails railtie and webhook verification concern
77
86
 
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
87
+ [0.3.6]: https://meerkatagents.com/changelog
88
+ [0.3.5]: https://meerkatagents.com/changelog
89
+ [0.3.4]: https://meerkatagents.com/changelog
80
90
  [0.3.3]: https://github.com/Tiny-Bubble-Company/meerkat-ruby/releases/tag/v0.3.3
81
91
  [0.3.2]: https://github.com/Tiny-Bubble-Company/meerkat-ruby/releases/tag/v0.3.2
82
92
  [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.6"
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.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiny Bubble Company
@@ -33,44 +33,16 @@ dependencies:
33
33
  description: |
34
34
  == Meerkat Agents
35
35
 
36
- The official Ruby client for Meerkat Cloud Change Intelligence.
36
+ The official Ruby SDK for Meerkat Cloud.
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
+ Define monitoring tasks in plain English, run them on demand or on a
39
+ schedule, and receive structured results through your dashboard or webhook.
39
40
 
40
- Building these monitoring loops yourself usually means maintaining polling jobs, cron schedules, background workers, state comparisons, retries, LLM orchestration, and webhook infrastructure.
41
+ Use it to monitor pricing pages, delivery statuses, competitor changes,
42
+ internal systems, APIs, database-driven workflows, and other business events
43
+ without building custom polling, diffing, retry, and scheduling infrastructure.
41
44
 
42
- Meerkat runs the monitoring loop in the cloud and sends structured change events back to your Rails application.
43
-
44
- == How it works
45
-
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
-
53
- == How it differs from Sidekiq and job queues
54
-
55
- Sidekiq, Active Job, Good Job, Solid Queue, Delayed Job, and Resque are excellent for running your Ruby jobs on your workers.
56
-
57
- Meerkat is not a background-job queue. It is managed infrastructure for continuously monitoring connected systems and reporting meaningful changes.
58
-
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.
60
-
61
- == Common use cases
62
-
63
- * Website and page-change monitoring
64
- * API response monitoring
65
- * Database and application-data monitoring
66
- * SaaS and third-party system monitoring
67
- * Competitor pricing and plan tracking
68
- * Package and shipment tracking
69
- * Stock and inventory availability alerts
70
- * Recurring data checks with structured findings
71
- * Change-detection webhooks for Rails and API backends
72
-
73
- Documentation: https://cloud.meerkatagents.com/docs/introduction
45
+ Documentation: https://meerkatagents.com/docs/ruby
74
46
  email:
75
47
  - hello@meerkatagents.com
76
48
  executables: []
@@ -95,15 +67,14 @@ files:
95
67
  - lib/meerkat/resources/tasks.rb
96
68
  - lib/meerkat/version.rb
97
69
  - lib/meerkat/webhooks.rb
98
- homepage: https://meerkatagents.com/
70
+ homepage: https://meerkatagents.com
99
71
  licenses:
100
72
  - MIT
101
73
  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
74
+ homepage_uri: https://meerkatagents.com
75
+ documentation_uri: https://meerkatagents.com/docs/ruby
76
+ changelog_uri: https://meerkatagents.com/changelog
77
+ bug_tracker_uri: https://meerkatagents.com/support
107
78
  rubygems_mfa_required: 'true'
108
79
  post_install_message:
109
80
  rdoc_options: []
@@ -123,6 +94,5 @@ requirements: []
123
94
  rubygems_version: 3.4.1
124
95
  signing_key:
125
96
  specification_version: 4
126
- summary: Meerkat Cloud Change Intelligence monitor websites, APIs, and systems;
127
- get webhooks (not Sidekiq).
97
+ summary: Ruby SDK for Meerkat Cloud change monitoring
128
98
  test_files: []