@wolpertingerlabs/drawlatch 1.0.0-alpha.37 → 1.0.0-alpha.40

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.
package/CONNECTIONS.md CHANGED
@@ -26,6 +26,7 @@ Connection templates are loaded when a caller's session is established. Custom c
26
26
  | `agentmail` | [AgentMail API](https://docs.agentmail.to/api-reference) | `AGENTMAIL_API_KEY` | Bearer token header (see note) |
27
27
  | `anthropic` | [Anthropic Claude API](https://docs.anthropic.com/en/api) | `ANTHROPIC_API_KEY` | x-api-key header (see note) |
28
28
  | `bluesky` | [Bluesky API (AT Protocol)](https://docs.bsky.app/) | `BLUESKY_ACCESS_TOKEN` | Bearer token header (see note) |
29
+ | `datadog` | [Datadog API](https://docs.datadoghq.com/api/latest/) | `DATADOG_API_KEY`, `DATADOG_APP_KEY` | DD-API-KEY + DD-APPLICATION-KEY headers (see note) |
29
30
  | `devin` | [Devin AI API](https://docs.devin.ai/api-reference/overview) | `DEVIN_API_KEY` | Bearer token header |
30
31
  | `discord-bot` | [Discord Bot API](https://discord.com/developers/docs/intro) | `DISCORD_BOT_TOKEN` | Bot token header (see note) |
31
32
  | `discord-oauth` | [Discord OAuth2 API](https://discord.com/developers/docs/topics/oauth2) | `DISCORD_OAUTH_TOKEN` | Bearer token header (see note) |
@@ -54,6 +55,8 @@ Connection templates are loaded when a caller's session is established. Custom c
54
55
 
55
56
  > **GitHub note:** The `github` connection includes a **webhook ingestor** for real-time events (push, pull_request, issues, etc.). Set `GITHUB_WEBHOOK_SECRET` to the webhook signing secret configured in your GitHub repository's webhook settings, then point the webhook URL to `https://<your-server>/webhooks/github`. Events are buffered and retrievable via `poll_events`. The server must be publicly accessible (or behind a tunnel like ngrok/Cloudflare Tunnel) to receive webhook POSTs. If you don't need webhook ingestion, the `GITHUB_WEBHOOK_SECRET` env var can be left unset — the REST API functionality works independently.
56
57
 
58
+ > **Datadog note:** Datadog uses two custom auth headers instead of the standard `Authorization: Bearer` pattern: `DD-API-KEY` (an [API key](https://docs.datadoghq.com/account_management/api-app-keys/#api-keys), identifies your organization) and `DD-APPLICATION-KEY` (an [application key](https://docs.datadoghq.com/account_management/api-app-keys/#application-keys), scoped to a user's permissions). Most management endpoints (monitors, dashboards, logs search, etc.) require both; intake endpoints like metric submission need only the API key. Both v1 and v2 API paths are available under `/api`. The template targets the US1 site (`api.datadoghq.com`) by default and also allowlists the other regional sites (`api.us3.datadoghq.com`, `api.us5.datadoghq.com`, `api.datadoghq.eu`, `api.ap1.datadoghq.com`) — just use your site's base URL in request URLs. Note that the built-in connection test validates against US1 only; for other sites, verify with a direct request to `https://<your-site>/api/v1/validate`.
59
+
57
60
  > **Discord note:** Discord has two connection types. `discord-bot` uses the `Bot` authorization prefix for bot tokens, which have full access to most API routes (guilds, channels, messages, etc.). `discord-oauth` uses a standard `Bearer` token obtained via OAuth2, which provides user-scoped access limited to the authorized scopes (identity, guilds list, email, etc.). Both target the same v10 API base URL.
58
61
 
59
62
  > **Exa note:** The Exa Search API uses a custom `x-api-key` header instead of the standard `Authorization: Bearer` pattern. All endpoints are POST requests to `https://api.exa.ai` with a JSON body — the main ones are `/search` (neural or keyword web search), `/contents` (fetch cleaned page text, highlights, and summaries), `/findSimilar` (semantically similar pages), and `/answer` (a sourced answer to a question). Create an API key in the [Exa Dashboard](https://dashboard.exa.ai/api-keys).
@@ -177,7 +180,6 @@ The following connections are on the roadmap to be added:
177
180
  - [ ] **Bitbucket** — Git hosting (Atlassian ecosystem)
178
181
  - [ ] **Asana** — Project management
179
182
  - [ ] **Confluence** — Wiki & docs (Atlassian ecosystem)
180
- - [ ] **Datadog** — Monitoring & observability
181
183
  - [ ] **PagerDuty** — Incident management
182
184
 
183
185
  ### Tier 3 — Popular SaaS & Business Tools
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "Datadog API",
3
+ "stability": "beta",
4
+ "category": "developer-tools",
5
+ "description": "Datadog monitoring & observability API — metrics, monitors, dashboards, events, logs search, incidents, SLOs, and more. Auth is handled automatically via the DATADOG_API_KEY and DATADOG_APP_KEY environment variables, injected as the DD-API-KEY and DD-APPLICATION-KEY headers. Both v1 and v2 endpoints are available under /api. Targets the US1 site (api.datadoghq.com) by default; other regional sites (us3, us5, eu, ap1) are also allowlisted.",
6
+ "docsUrl": "https://docs.datadoghq.com/api/latest/",
7
+ "headers": {
8
+ "DD-API-KEY": "${DATADOG_API_KEY}",
9
+ "DD-APPLICATION-KEY": "${DATADOG_APP_KEY}",
10
+ "Content-Type": "application/json"
11
+ },
12
+ "secrets": {
13
+ "DATADOG_API_KEY": "${DATADOG_API_KEY}",
14
+ "DATADOG_APP_KEY": "${DATADOG_APP_KEY}"
15
+ },
16
+ "allowedEndpoints": [
17
+ "https://api.datadoghq.com/**",
18
+ "https://api.us3.datadoghq.com/**",
19
+ "https://api.us5.datadoghq.com/**",
20
+ "https://api.datadoghq.eu/**",
21
+ "https://api.ap1.datadoghq.com/**"
22
+ ],
23
+ "testConnection": {
24
+ "url": "https://api.datadoghq.com/api/v1/validate",
25
+ "description": "Validates the Datadog API key against the US1 site"
26
+ }
27
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wolpertingerlabs/drawlatch",
3
- "version": "1.0.0-alpha.37",
3
+ "version": "1.0.0-alpha.40",
4
4
  "description": "Encrypted MCP proxy with mutual authentication. Local MCP server forwards requests through an encrypted channel to a remote secrets-holding server.",
5
5
  "type": "module",
6
6
  "workspaces": [