Round 371: Sentry ext, Datadog ext, NewRelic ext, PagerDuty/OpsGenie ext (20 commands)

ober

8a40e1675e43f56ca544e9f6daa3e997307d973a

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 05e6b5c..f7bc3bd 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 371 — Sentry ext, Datadog ext, NewRelic ext, PagerDuty/OpsGenie ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| Sentry list issues | — | `sentry-issues` | :orange_circle: Scaffolded |
+| Sentry list events | — | `sentry-events` | :orange_circle: Scaffolded |
+| Sentry list releases | — | `sentry-releases` | :orange_circle: Scaffolded |
+| Sentry list projects | — | `sentry-projects` | :orange_circle: Scaffolded |
+| Datadog log search | — | `datadog-logs` | :orange_circle: Scaffolded |
+| Datadog traces | — | `datadog-traces` | :orange_circle: Scaffolded |
+| Datadog APM overview | — | `datadog-apm` | :orange_circle: Scaffolded |
+| Datadog RUM | — | `datadog-rum` | :orange_circle: Scaffolded |
+| New Relic NRQL query | — | `newrelic-nrql` | :orange_circle: Scaffolded |
+| New Relic entities | — | `newrelic-entities` | :orange_circle: Scaffolded |
+| New Relic workloads | — | `newrelic-workloads` | :orange_circle: Scaffolded |
+| New Relic Nerdpacks | — | `newrelic-nerdpacks` | :orange_circle: Scaffolded |
+| PagerDuty incidents | — | `pagerduty-incidents` | :orange_circle: Scaffolded |
+| PagerDuty services | — | `pagerduty-services` | :orange_circle: Scaffolded |
+| PagerDuty on-call | — | `pagerduty-oncall` | :orange_circle: Scaffolded |
+| PagerDuty schedules | — | `pagerduty-schedules` | :orange_circle: Scaffolded |
+| OpsGenie alerts | — | `opsgenie-alerts` | :orange_circle: Scaffolded |
+| OpsGenie teams | — | `opsgenie-teams` | :orange_circle: Scaffolded |
+| OpsGenie schedules | — | `opsgenie-schedules` | :orange_circle: Scaffolded |
+| OpsGenie alert policies | — | `opsgenie-policies` | :orange_circle: Scaffolded |
+
 ### Round 370 — OpenAPI ext, Swagger ext, Postman ext, Insomnia/HTTPie ext
 
 | Feature | Emacs | jemacs | Status |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 6a12622..fc9f650 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -26499,3 +26499,44 @@
 (def (cmd-httpie-auth app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "HTTPie: configuring authentication")))
+
+;; Round 371 batch 2 — NewRelic ext, PagerDuty/OpsGenie ext
+(def (cmd-newrelic-workloads app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "New Relic: listing workloads")))
+
+(def (cmd-newrelic-nerdpacks app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "New Relic: listing Nerdpacks")))
+
+(def (cmd-pagerduty-incidents app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PagerDuty: listing incidents")))
+
+(def (cmd-pagerduty-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PagerDuty: listing services")))
+
+(def (cmd-pagerduty-oncall app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PagerDuty: showing on-call schedule")))
+
+(def (cmd-pagerduty-schedules app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PagerDuty: listing schedules")))
+
+(def (cmd-opsgenie-alerts app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OpsGenie: listing alerts")))
+
+(def (cmd-opsgenie-teams app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OpsGenie: listing teams")))
+
+(def (cmd-opsgenie-schedules app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OpsGenie: listing schedules")))
+
+(def (cmd-opsgenie-policies app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OpsGenie: listing alert policies")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index dc3c8b5..57af52b 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -27268,3 +27268,48 @@
 (def (cmd-postman-export app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Postman: exporting collection")))
+
+;; Round 371 batch 1 — Sentry ext, Datadog ext
+(def (cmd-sentry-issues app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Sentry: listing issues")))
+
+(def (cmd-sentry-events app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Sentry: listing events")))
+
+(def (cmd-sentry-releases app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Sentry: listing releases")))
+
+(def (cmd-sentry-projects app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Sentry: listing projects")))
+
+(def (cmd-datadog-logs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Log query: "
+      (lambda (query)
+        (echo-message! echo (str "Datadog: searching logs for " query))))))
+
+(def (cmd-datadog-traces app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Datadog: listing traces")))
+
+(def (cmd-datadog-apm app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Datadog: APM service overview")))
+
+(def (cmd-datadog-rum app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Datadog: Real User Monitoring overview")))
+
+(def (cmd-newrelic-nrql app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "NRQL query: "
+      (lambda (query)
+        (echo-message! echo (str "New Relic: executing NRQL: " query))))))
+
+(def (cmd-newrelic-entities app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "New Relic: listing entities")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 1d23112..c2bc247 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -9244,4 +9244,26 @@
   (register-command! 'httpie-sessions cmd-httpie-sessions)
   (register-command! 'httpie-plugins cmd-httpie-plugins)
   (register-command! 'httpie-auth cmd-httpie-auth)
+
+  ;; Round 371 — Sentry ext, Datadog ext, NewRelic ext, PagerDuty/OpsGenie ext
+  (register-command! 'sentry-issues cmd-sentry-issues)
+  (register-command! 'sentry-events cmd-sentry-events)
+  (register-command! 'sentry-releases cmd-sentry-releases)
+  (register-command! 'sentry-projects cmd-sentry-projects)
+  (register-command! 'datadog-logs cmd-datadog-logs)
+  (register-command! 'datadog-traces cmd-datadog-traces)
+  (register-command! 'datadog-apm cmd-datadog-apm)
+  (register-command! 'datadog-rum cmd-datadog-rum)
+  (register-command! 'newrelic-nrql cmd-newrelic-nrql)
+  (register-command! 'newrelic-entities cmd-newrelic-entities)
+  (register-command! 'newrelic-workloads cmd-newrelic-workloads)
+  (register-command! 'newrelic-nerdpacks cmd-newrelic-nerdpacks)
+  (register-command! 'pagerduty-incidents cmd-pagerduty-incidents)
+  (register-command! 'pagerduty-services cmd-pagerduty-services)
+  (register-command! 'pagerduty-oncall cmd-pagerduty-oncall)
+  (register-command! 'pagerduty-schedules cmd-pagerduty-schedules)
+  (register-command! 'opsgenie-alerts cmd-opsgenie-alerts)
+  (register-command! 'opsgenie-teams cmd-opsgenie-teams)
+  (register-command! 'opsgenie-schedules cmd-opsgenie-schedules)
+  (register-command! 'opsgenie-policies cmd-opsgenie-policies)
 )