@wolpertingerlabs/drawlatch 1.0.0-alpha.4 → 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 +9 -1
- package/README.md +393 -465
- package/bin/drawlatch.js +1149 -47
- package/dist/auth/auth.d.ts +10 -0
- package/dist/auth/auth.js +146 -0
- package/dist/auth/env-writer.d.ts +6 -0
- package/dist/auth/env-writer.js +52 -0
- package/dist/auth/password.d.ts +8 -0
- package/dist/auth/password.js +28 -0
- package/dist/auth/sessions.d.ts +13 -0
- package/dist/auth/sessions.js +85 -0
- package/dist/cli/generate-keys.d.ts +4 -4
- package/dist/cli/generate-keys.js +30 -25
- package/dist/connections/{anthropic.json → ai/anthropic.json} +2 -0
- package/dist/connections/{devin.json → ai/devin.json} +2 -0
- package/dist/connections/ai/exa.json +24 -0
- package/dist/connections/{google-ai.json → ai/google-ai.json} +2 -0
- package/dist/connections/{openai.json → ai/openai.json} +2 -0
- package/dist/connections/{openrouter.json → ai/openrouter.json} +2 -0
- package/dist/connections/developer-tools/datadog.json +27 -0
- package/dist/connections/{github.json → developer-tools/github.json} +59 -3
- package/dist/connections/{hex.json → developer-tools/hex.json} +2 -0
- package/dist/connections/{linear.json → developer-tools/linear.json} +2 -0
- package/dist/connections/{lichess.json → gaming/lichess.json} +2 -0
- package/dist/connections/messaging/agentmail.json +21 -0
- package/dist/connections/{discord-bot.json → messaging/discord-bot.json} +2 -0
- package/dist/connections/{discord-oauth.json → messaging/discord-oauth.json} +2 -0
- package/dist/connections/{slack.json → messaging/slack.json} +2 -0
- package/dist/connections/{telegram.json → messaging/telegram.json} +2 -0
- package/dist/connections/{google.json → productivity/google.json} +2 -0
- package/dist/connections/{notion.json → productivity/notion.json} +2 -0
- package/dist/connections/{stripe.json → productivity/stripe.json} +2 -0
- package/dist/connections/{trello.json → productivity/trello.json} +2 -0
- package/dist/connections/{bluesky.json → social-media/bluesky.json} +2 -0
- package/dist/connections/{mastodon.json → social-media/mastodon.json} +2 -0
- package/dist/connections/{reddit.json → social-media/reddit.json} +2 -0
- package/dist/connections/{twitch.json → social-media/twitch.json} +2 -0
- package/dist/connections/{x.json → social-media/x.json} +2 -0
- package/dist/mcp/server.js +268 -33
- package/dist/remote/admin-mutations.d.ts +43 -0
- package/dist/remote/admin-mutations.js +321 -0
- package/dist/remote/admin-types.d.ts +153 -0
- package/dist/remote/admin-types.js +11 -0
- package/dist/remote/admin.d.ts +37 -0
- package/dist/remote/admin.js +317 -0
- package/dist/remote/caller-bootstrap.d.ts +121 -0
- package/dist/remote/caller-bootstrap.js +270 -0
- package/dist/remote/ingestors/base-ingestor.d.ts +5 -0
- package/dist/remote/ingestors/base-ingestor.js +17 -4
- package/dist/remote/ingestors/discord/discord-gateway.js +24 -1
- package/dist/remote/ingestors/e2e/setup.d.ts +69 -0
- package/dist/remote/ingestors/e2e/setup.js +147 -0
- package/dist/remote/ingestors/manager.d.ts +35 -1
- package/dist/remote/ingestors/manager.js +160 -22
- package/dist/remote/ingestors/poll/poll-ingestor.d.ts +2 -0
- package/dist/remote/ingestors/poll/poll-ingestor.js +21 -0
- package/dist/remote/ingestors/slack/socket-mode.js +23 -1
- package/dist/remote/ingestors/types.d.ts +8 -0
- package/dist/remote/ingestors/webhook/github-webhook-ingestor.d.ts +16 -0
- package/dist/remote/ingestors/webhook/github-webhook-ingestor.js +49 -3
- package/dist/remote/ingestors/webhook/webhook-lifecycle-manager.js +9 -9
- package/dist/remote/server.d.ts +25 -33
- package/dist/remote/server.js +595 -735
- package/dist/remote/tool-dispatch.d.ts +84 -0
- package/dist/remote/tool-dispatch.js +910 -0
- package/dist/remote/triggers/rule-engine.d.ts +40 -0
- package/dist/remote/triggers/rule-engine.js +228 -0
- package/dist/remote/triggers/types.d.ts +69 -0
- package/dist/remote/triggers/types.js +10 -0
- package/dist/remote/tunnel-state.d.ts +14 -0
- package/dist/remote/tunnel-state.js +20 -0
- package/dist/remote/tunnel.d.ts +13 -0
- package/dist/remote/tunnel.js +33 -0
- package/dist/shared/config.d.ts +61 -27
- package/dist/shared/config.js +41 -33
- package/dist/shared/connections.d.ts +12 -5
- package/dist/shared/connections.js +52 -14
- package/dist/shared/crypto/index.d.ts +1 -0
- package/dist/shared/crypto/index.js +1 -0
- package/dist/shared/crypto/key-manager.d.ts +81 -0
- package/dist/shared/crypto/key-manager.js +174 -0
- package/dist/shared/env-utils.d.ts +42 -0
- package/dist/shared/env-utils.js +150 -0
- package/dist/shared/migrations.d.ts +40 -0
- package/dist/shared/migrations.js +122 -0
- package/dist/shared/protocol/caller-bundle-crypto.d.ts +37 -0
- package/dist/shared/protocol/caller-bundle-crypto.js +62 -0
- package/dist/shared/protocol/caller-bundle.d.ts +75 -0
- package/dist/shared/protocol/caller-bundle.js +24 -0
- package/dist/shared/protocol/handshake.js +14 -1
- package/dist/shared/protocol/index.d.ts +2 -0
- package/dist/shared/protocol/index.js +2 -0
- package/dist/shared/protocol/sync-client.d.ts +52 -0
- package/dist/shared/protocol/sync-client.js +99 -0
- package/dist/shared/protocol/sync.d.ts +71 -0
- package/dist/shared/protocol/sync.js +176 -0
- package/frontend/dist/assets/index-BdCSPSZK.js +282 -0
- package/frontend/dist/assets/index-BmK26bY2.css +1 -0
- package/frontend/dist/index.html +15 -0
- package/package.json +63 -11
package/CONNECTIONS.md
CHANGED
|
@@ -23,11 +23,14 @@ Connection templates are loaded when a caller's session is established. Custom c
|
|
|
23
23
|
|
|
24
24
|
| Connection | API | Required Environment Variable(s) | Auth Method |
|
|
25
25
|
| --------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------ | ------------------------------------- |
|
|
26
|
+
| `agentmail` | [AgentMail API](https://docs.agentmail.to/api-reference) | `AGENTMAIL_API_KEY` | Bearer token header (see note) |
|
|
26
27
|
| `anthropic` | [Anthropic Claude API](https://docs.anthropic.com/en/api) | `ANTHROPIC_API_KEY` | x-api-key header (see note) |
|
|
27
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) |
|
|
28
30
|
| `devin` | [Devin AI API](https://docs.devin.ai/api-reference/overview) | `DEVIN_API_KEY` | Bearer token header |
|
|
29
31
|
| `discord-bot` | [Discord Bot API](https://discord.com/developers/docs/intro) | `DISCORD_BOT_TOKEN` | Bot token header (see note) |
|
|
30
32
|
| `discord-oauth` | [Discord OAuth2 API](https://discord.com/developers/docs/topics/oauth2) | `DISCORD_OAUTH_TOKEN` | Bearer token header (see note) |
|
|
33
|
+
| `exa` | [Exa Search API](https://docs.exa.ai/reference/getting-started) | `EXA_API_KEY` | x-api-key header (see note) |
|
|
31
34
|
| `github` | [GitHub REST API](https://docs.github.com/en/rest) | `GITHUB_TOKEN`, `GITHUB_WEBHOOK_SECRET` | Bearer token header (see note) |
|
|
32
35
|
| `google` | [Google APIs](https://developers.google.com/apis-explorer) | `GOOGLE_API_TOKEN` | Bearer token header (see note) |
|
|
33
36
|
| `google-ai` | [Google AI Gemini API](https://ai.google.dev/api) | `GOOGLE_AI_API_KEY` | x-goog-api-key header (see note) |
|
|
@@ -46,12 +49,18 @@ Connection templates are loaded when a caller's session is established. Custom c
|
|
|
46
49
|
| `twitch` | [Twitch Helix API](https://dev.twitch.tv/docs/api/reference/) | `TWITCH_ACCESS_TOKEN`, `TWITCH_CLIENT_ID` | Bearer + Client-Id headers (see note) |
|
|
47
50
|
| `x` | [X (Twitter) API v2](https://developer.x.com/en/docs/x-api) | `X_BEARER_TOKEN` | Bearer token header (see note) |
|
|
48
51
|
|
|
52
|
+
> **AgentMail note:** AgentMail provides email infrastructure for AI agents (inboxes, messages, threads, drafts). All endpoints live under the `/v0` path on `api.agentmail.to` and use a standard `Authorization: Bearer ${AGENTMAIL_API_KEY}` header. Create an API key in the [AgentMail Console](https://console.agentmail.to). AgentMail can deliver inbound email in real time via Svix-signed webhooks, but that is not yet wired up as a drawlatch ingestor — this connection currently covers the REST API only.
|
|
53
|
+
|
|
49
54
|
> **Anthropic note:** The Anthropic API uses a custom `x-api-key` header instead of the standard `Authorization: Bearer` pattern. The `anthropic-version` header is pinned to `2023-06-01`. To use a different API version, override with a custom route.
|
|
50
55
|
|
|
51
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.
|
|
52
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
|
+
|
|
53
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.
|
|
54
61
|
|
|
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).
|
|
63
|
+
|
|
55
64
|
> **Google AI note:** The Google AI (Gemini) API uses a custom `x-goog-api-key` header instead of the standard `Authorization: Bearer` pattern. This is separate from the `google` connection — use `google` for Workspace APIs (Sheets, Drive, etc.) and `google-ai` for Gemini LLM endpoints. The endpoint is not version-pinned (`generativelanguage.googleapis.com/**`) to allow access to both `v1` and `v1beta` paths.
|
|
56
65
|
|
|
57
66
|
> **Google APIs note:** Google Workspace APIs span many subdomains (sheets.googleapis.com, drive.googleapis.com, etc.). The `google` connection allowlists the most common domains. If you need additional subdomains, add a custom route with the same `GOOGLE_API_TOKEN` secret. For Google AI / Gemini, use the `google-ai` connection instead.
|
|
@@ -171,7 +180,6 @@ The following connections are on the roadmap to be added:
|
|
|
171
180
|
- [ ] **Bitbucket** — Git hosting (Atlassian ecosystem)
|
|
172
181
|
- [ ] **Asana** — Project management
|
|
173
182
|
- [ ] **Confluence** — Wiki & docs (Atlassian ecosystem)
|
|
174
|
-
- [ ] **Datadog** — Monitoring & observability
|
|
175
183
|
- [ ] **PagerDuty** — Incident management
|
|
176
184
|
|
|
177
185
|
### Tier 3 — Popular SaaS & Business Tools
|