@hasna/connectors 0.2.6 → 0.2.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.
Files changed (73) hide show
  1. package/bin/index.js +3 -3
  2. package/bin/mcp.js +1 -1
  3. package/connectors/connect-anthropic/AGENTS.md +22 -0
  4. package/connectors/connect-anthropic/CLAUDE.md +29 -0
  5. package/connectors/connect-anthropic/README.md +22 -3
  6. package/connectors/connect-anthropic/src/types/index.ts +46 -2
  7. package/connectors/connect-aws/CLAUDE.md +16 -0
  8. package/connectors/connect-brandsight/CLAUDE.md +5 -0
  9. package/connectors/connect-cloudflare/CLAUDE.md +21 -0
  10. package/connectors/connect-discord/CLAUDE.md +19 -0
  11. package/connectors/connect-docker/CLAUDE.md +8 -0
  12. package/connectors/connect-e2b/CLAUDE.md +21 -0
  13. package/connectors/connect-elevenlabs/CLAUDE.md +24 -0
  14. package/connectors/connect-exa/CLAUDE.md +35 -0
  15. package/connectors/connect-figma/CLAUDE.md +34 -0
  16. package/connectors/connect-firecrawl/CLAUDE.md +27 -0
  17. package/connectors/connect-github/CLAUDE.md +32 -2
  18. package/connectors/connect-gmail/CLAUDE.md +22 -0
  19. package/connectors/connect-google/CLAUDE.md +11 -0
  20. package/connectors/connect-googlecalendar/CLAUDE.md +9 -0
  21. package/connectors/connect-googlecloud/CLAUDE.md +12 -0
  22. package/connectors/connect-googlecontacts/CLAUDE.md +7 -0
  23. package/connectors/connect-googledocs/CLAUDE.md +7 -0
  24. package/connectors/connect-googledrive/CLAUDE.md +5 -0
  25. package/connectors/connect-googlegemini/CLAUDE.md +18 -0
  26. package/connectors/connect-googlegemini/src/types/index.ts +10 -3
  27. package/connectors/connect-googlemaps/CLAUDE.md +15 -0
  28. package/connectors/connect-googlesheets/CLAUDE.md +10 -0
  29. package/connectors/connect-googletasks/CLAUDE.md +6 -0
  30. package/connectors/connect-hedra/CLAUDE.md +15 -0
  31. package/connectors/connect-heygen/CLAUDE.md +14 -0
  32. package/connectors/connect-huggingface/CLAUDE.md +20 -0
  33. package/connectors/connect-icons8/CLAUDE.md +6 -0
  34. package/connectors/connect-maropost/CLAUDE.md +6 -0
  35. package/connectors/connect-mercury/CLAUDE.md +14 -0
  36. package/connectors/connect-meta/CLAUDE.md +16 -0
  37. package/connectors/connect-midjourney/CLAUDE.md +7 -0
  38. package/connectors/connect-mistral/CLAUDE.md +20 -0
  39. package/connectors/connect-mistral/src/types/index.ts +42 -7
  40. package/connectors/connect-mixpanel/CLAUDE.md +11 -0
  41. package/connectors/connect-notion/CLAUDE.md +30 -0
  42. package/connectors/connect-openai/AGENTS.md +15 -0
  43. package/connectors/connect-openai/CLAUDE.md +23 -0
  44. package/connectors/connect-openai/src/types/index.ts +36 -14
  45. package/connectors/connect-openweathermap/CLAUDE.md +8 -0
  46. package/connectors/connect-pandadoc/CLAUDE.md +18 -0
  47. package/connectors/connect-quo/CLAUDE.md +5 -0
  48. package/connectors/connect-reddit/CLAUDE.md +20 -0
  49. package/connectors/connect-reducto/CLAUDE.md +16 -0
  50. package/connectors/connect-resend/CLAUDE.md +21 -0
  51. package/connectors/connect-revolut/CLAUDE.md +17 -0
  52. package/connectors/connect-sedo/CLAUDE.md +6 -0
  53. package/connectors/connect-sentry/CLAUDE.md +11 -0
  54. package/connectors/connect-shadcn/CLAUDE.md +42 -0
  55. package/connectors/connect-shopify/CLAUDE.md +18 -0
  56. package/connectors/connect-snap/CLAUDE.md +6 -0
  57. package/connectors/connect-stabilityai/CLAUDE.md +13 -0
  58. package/connectors/connect-stripe/CLAUDE.md +19 -0
  59. package/connectors/connect-stripeatlas/CLAUDE.md +7 -0
  60. package/connectors/connect-substack/CLAUDE.md +6 -0
  61. package/connectors/connect-tiktok/CLAUDE.md +25 -0
  62. package/connectors/connect-tinker/CLAUDE.md +6 -0
  63. package/connectors/connect-twilio/CLAUDE.md +9 -0
  64. package/connectors/connect-uspto/CLAUDE.md +8 -0
  65. package/connectors/connect-webflow/CLAUDE.md +19 -0
  66. package/connectors/connect-wix/CLAUDE.md +20 -0
  67. package/connectors/connect-x/CLAUDE.md +15 -0
  68. package/connectors/connect-xads/CLAUDE.md +10 -0
  69. package/connectors/connect-xai/CLAUDE.md +15 -0
  70. package/connectors/connect-xai/src/types/index.ts +20 -4
  71. package/connectors/connect-youtube/CLAUDE.md +28 -0
  72. package/connectors/connect-zoom/CLAUDE.md +15 -0
  73. package/package.json +1 -1
package/bin/index.js CHANGED
@@ -6583,7 +6583,7 @@ var PRESETS = {
6583
6583
  commerce: { description: "Commerce and finance", connectors: ["stripe", "shopify", "revolut", "mercury", "pandadoc"] }
6584
6584
  };
6585
6585
  var program2 = new Command;
6586
- program2.name("connectors").description("Install API connectors for your project").version("0.2.6");
6586
+ program2.name("connectors").description("Install API connectors for your project").version("0.2.7");
6587
6587
  program2.command("interactive", { isDefault: true }).alias("i").description("Interactive connector browser").action(() => {
6588
6588
  if (!isTTY) {
6589
6589
  console.log(`Non-interactive environment detected. Use a subcommand:
@@ -7746,7 +7746,7 @@ program2.command("import").argument("<file>", "JSON backup file to import (use -
7746
7746
  }
7747
7747
  });
7748
7748
  program2.command("upgrade").alias("self-update").option("--check", "Only check for updates, don't install", false).option("--json", "Output as JSON", false).description("Check for updates and upgrade to the latest version").action(async (options) => {
7749
- const currentVersion = "0.2.6";
7749
+ const currentVersion = "0.2.7";
7750
7750
  try {
7751
7751
  const res = await fetch("https://registry.npmjs.org/@hasna/connectors/latest");
7752
7752
  if (!res.ok)
@@ -7962,7 +7962,7 @@ Available presets:
7962
7962
  program2.command("whoami").option("--json", "Output as JSON", false).description("Show current setup: config dir, installed connectors, auth status").action((options) => {
7963
7963
  const configDir = join5(homedir3(), ".connectors");
7964
7964
  const installed = getInstalledConnectors();
7965
- const version = "0.2.6";
7965
+ const version = "0.2.7";
7966
7966
  let configured = 0;
7967
7967
  let unconfigured = 0;
7968
7968
  const connectorDetails = [];
package/bin/mcp.js CHANGED
@@ -20275,7 +20275,7 @@ function guessKeyField(name) {
20275
20275
  loadConnectorVersions();
20276
20276
  var server = new McpServer({
20277
20277
  name: "connectors",
20278
- version: "0.2.6"
20278
+ version: "0.2.7"
20279
20279
  });
20280
20280
  server.registerTool("search_connectors", {
20281
20281
  title: "Search Connectors",
@@ -47,6 +47,28 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## Models (2026)
51
+
52
+ | Model ID | Description |
53
+ |----------|-------------|
54
+ | `claude-opus-4-6` | Most intelligent (default for complex tasks), 200K ctx, 128K output |
55
+ | `claude-sonnet-4-6` | Best balance — **use this as default** |
56
+ | `claude-opus-4-20250514` | Claude 4 Opus (2025) |
57
+ | `claude-sonnet-4-20250514` | Claude 4 Sonnet (2025) |
58
+ | `claude-3-5-haiku-20241022` | Fast, cheap |
59
+
60
+ Default: `claude-sonnet-4-6`
61
+
62
+ ## Adaptive Thinking
63
+
64
+ On `claude-opus-4-6` and `claude-sonnet-4-6`, use:
65
+ ```typescript
66
+ thinking: { type: 'adaptive' } // Claude decides when to think
67
+ thinking: { type: 'adaptive', effort: 'low' } // less thinking
68
+ thinking: { type: 'adaptive', effort: 'high' } // most thinking (default)
69
+ ```
70
+ Deprecated on 4.6: `thinking: { type: 'enabled', budget_tokens: N }`
71
+
50
72
  ## Authentication
51
73
 
52
74
  Bearer Token authentication. Credentials can be set via:
@@ -47,6 +47,35 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## Models (2026)
51
+
52
+ | Model ID | Description |
53
+ |----------|-------------|
54
+ | `claude-opus-4-6` | Most intelligent, 200K context (1M beta), 128K max output, adaptive thinking |
55
+ | `claude-sonnet-4-6` | Best speed/intelligence balance, 200K context (1M beta), 64K max output |
56
+ | `claude-opus-4-20250514` | Claude 4 Opus (2025) |
57
+ | `claude-sonnet-4-20250514` | Claude 4 Sonnet (2025) |
58
+ | `claude-3-5-haiku-20241022` | Fast and cost-effective |
59
+ | `claude-3-5-sonnet-20241022` | Claude 3.5 Sonnet |
60
+
61
+ Default model: `claude-sonnet-4-6`
62
+
63
+ ## Adaptive Thinking (claude-opus-4-6 / claude-sonnet-4-6)
64
+
65
+ Use adaptive thinking to let Claude decide when and how much to think:
66
+
67
+ ```typescript
68
+ const response = await client.messages.create({
69
+ model: 'claude-opus-4-6',
70
+ max_tokens: 16000,
71
+ thinking: { type: 'adaptive' }, // default effort: high
72
+ thinking: { type: 'adaptive', effort: 'low' }, // less thinking for simple problems
73
+ messages: [{ role: 'user', content: '...' }],
74
+ });
75
+ ```
76
+
77
+ Note: `thinking: {type: "enabled", budget_tokens: N}` is deprecated on 4.6 models. Use adaptive thinking instead.
78
+
50
79
  ## Authentication
51
80
 
52
81
  Bearer Token authentication. Credentials can be set via:
@@ -56,6 +56,18 @@ connect-anthropic -p personal <command>
56
56
  connect-anthropic profile list
57
57
  ```
58
58
 
59
+ ## Models (2026)
60
+
61
+ | Model ID | Context | Description |
62
+ |----------|---------|-------------|
63
+ | `claude-opus-4-6` | 200K (1M beta) | Most intelligent, adaptive thinking |
64
+ | `claude-sonnet-4-6` | 200K (1M beta) | Best speed/intelligence balance |
65
+ | `claude-opus-4-20250514` | 200K | Claude 4 Opus |
66
+ | `claude-sonnet-4-20250514` | 200K | Claude 4 Sonnet |
67
+ | `claude-3-5-haiku-20241022` | 200K | Fast, cost-effective |
68
+
69
+ Default: `claude-sonnet-4-6`
70
+
59
71
  ## Library Usage
60
72
 
61
73
  ```typescript
@@ -63,8 +75,15 @@ import { Anthropic } from '@hasna/connect-anthropic';
63
75
 
64
76
  const client = new Anthropic({ apiKey: 'YOUR_API_KEY' });
65
77
 
66
- // Use the client
67
- // See CLAUDE.md for detailed API documentation
78
+ // Basic chat
79
+ const response = await client.chat('Explain quantum computing');
80
+
81
+ // With adaptive thinking (claude-opus-4-6 / claude-sonnet-4-6)
82
+ const response = await client.chat('Solve this hard problem', {
83
+ model: 'claude-opus-4-6',
84
+ thinking: { type: 'adaptive' },
85
+ maxTokens: 16000,
86
+ });
68
87
  ```
69
88
 
70
89
  ## Environment Variables
@@ -103,4 +122,4 @@ bun run typecheck
103
122
 
104
123
  ## License
105
124
 
106
- MIT
125
+ Apache-2.0
@@ -14,25 +14,37 @@ export interface AnthropicConfig {
14
14
  // ============================================
15
15
 
16
16
  export type AnthropicModel =
17
+ // Claude 4.6 (latest, 2026)
18
+ | 'claude-opus-4-6'
19
+ | 'claude-sonnet-4-6'
20
+ // Claude 4 (2025)
17
21
  | 'claude-opus-4-20250514'
18
22
  | 'claude-sonnet-4-20250514'
23
+ // Claude 3.5
19
24
  | 'claude-3-5-haiku-20241022'
20
25
  | 'claude-3-5-sonnet-20241022'
26
+ // Claude 3 (legacy)
21
27
  | 'claude-3-opus-20240229'
22
28
  | 'claude-3-sonnet-20240229'
23
29
  | 'claude-3-haiku-20240307';
24
30
 
25
31
  export const ANTHROPIC_MODELS: AnthropicModel[] = [
32
+ // Claude 4.6 (latest, 2026)
33
+ 'claude-opus-4-6',
34
+ 'claude-sonnet-4-6',
35
+ // Claude 4 (2025)
26
36
  'claude-opus-4-20250514',
27
37
  'claude-sonnet-4-20250514',
38
+ // Claude 3.5
28
39
  'claude-3-5-haiku-20241022',
29
40
  'claude-3-5-sonnet-20241022',
41
+ // Claude 3 (legacy)
30
42
  'claude-3-opus-20240229',
31
43
  'claude-3-sonnet-20240229',
32
44
  'claude-3-haiku-20240307',
33
45
  ];
34
46
 
35
- export const DEFAULT_MODEL: AnthropicModel = 'claude-sonnet-4-20250514';
47
+ export const DEFAULT_MODEL: AnthropicModel = 'claude-sonnet-4-6';
36
48
 
37
49
  // ============================================
38
50
  // Messages API
@@ -71,6 +83,7 @@ export interface MessagesRequest {
71
83
  top_k?: number;
72
84
  stop_sequences?: string[];
73
85
  stream?: boolean;
86
+ thinking?: ThinkingConfig;
74
87
  metadata?: {
75
88
  user_id?: string;
76
89
  };
@@ -81,6 +94,16 @@ export interface TextBlock {
81
94
  text: string;
82
95
  }
83
96
 
97
+ export interface ThinkingBlock {
98
+ type: 'thinking';
99
+ thinking: string;
100
+ }
101
+
102
+ export interface RedactedThinkingBlock {
103
+ type: 'redacted_thinking';
104
+ data: string;
105
+ }
106
+
84
107
  export interface ToolUseBlock {
85
108
  type: 'tool_use';
86
109
  id: string;
@@ -88,7 +111,27 @@ export interface ToolUseBlock {
88
111
  input: Record<string, unknown>;
89
112
  }
90
113
 
91
- export type ResponseContentBlock = TextBlock | ToolUseBlock;
114
+ export type ResponseContentBlock = TextBlock | ThinkingBlock | RedactedThinkingBlock | ToolUseBlock;
115
+
116
+ // ============================================
117
+ // Thinking (Extended / Adaptive)
118
+ // ============================================
119
+
120
+ export type ThinkingEffort = 'low' | 'medium' | 'high';
121
+
122
+ /** Adaptive thinking (recommended for claude-opus-4-6 and claude-sonnet-4-6) */
123
+ export interface AdaptiveThinking {
124
+ type: 'adaptive';
125
+ effort?: ThinkingEffort;
126
+ budget_tokens?: number;
127
+ }
128
+
129
+ /** Disabled thinking */
130
+ export interface DisabledThinking {
131
+ type: 'disabled';
132
+ }
133
+
134
+ export type ThinkingConfig = AdaptiveThinking | DisabledThinking;
92
135
 
93
136
  export interface MessagesResponse {
94
137
  id: string;
@@ -168,6 +211,7 @@ export interface ChatOptions {
168
211
  topK?: number;
169
212
  stopSequences?: string[];
170
213
  systemPrompt?: string;
214
+ thinking?: ThinkingConfig;
171
215
  }
172
216
 
173
217
  // ============================================
@@ -47,6 +47,22 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## Auth Updates (2025-2026)
51
+
52
+ ### Amazon Bedrock API Keys (GA Jul 2025, GovCloud Jan 2026)
53
+ Bedrock now supports direct API keys for authentication — no IAM principal setup required:
54
+ - Short-term keys: valid for console session or up to 12 hours
55
+ - Long-term keys: custom validity, managed from IAM console
56
+ - Generate from Bedrock console or AWS SDK
57
+
58
+ ### IAM Role Creation in Service Workflows (Mar 2026)
59
+ IAM roles can now be created and customized inline within service workflows (no tab-switching). Available for EC2, Lambda, EKS, ECS, Glue, CloudFormation, DMS, Systems Manager, Secrets Manager, RDS, IoT Core. US East (N. Virginia) region first.
60
+
61
+ ### Best Practice: Use IAM Roles, Not Access Keys
62
+ - Prefer IAM roles with temporary credentials over long-term access keys
63
+ - Use `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY` + `AWS_REGION` for programmatic access
64
+ - Or use IAM Instance Roles / ECS Task Roles for zero-key auth in cloud environments
65
+
50
66
  ## Authentication
51
67
 
52
68
  API Key authentication. Credentials can be set via:
@@ -47,6 +47,11 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Notes (2026)
51
+
52
+ Brandsight provides brand monitoring and analytics APIs. Check https://brandsight.com/docs for current API reference.
53
+ Auth: API key via header or query parameter.
54
+
50
55
  ## Authentication
51
56
 
52
57
  SSO Key authentication. Credentials can be set via:
@@ -47,6 +47,27 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Updates (2025-2026)
51
+
52
+ ### New Workers REST API (Beta, Sep 2025)
53
+ New resource-oriented REST API with cleaner separation:
54
+ - `POST /workers/beta/workers` — create Worker (no code needed)
55
+ - `POST /workers/beta/workers/{id}/versions` — upload code as version
56
+ - `POST /scripts/{name}/deployments` — deploy a version
57
+
58
+ Workers and Versions use new `/workers/` beta endpoints; Deployments remain on `/scripts/` endpoint.
59
+
60
+ ### Workers AI — New Capabilities (2026)
61
+ - **Markdown Conversion** (`env.AI.toMarkdown()`): PDF, HTML, images with `conversionOptions` (CSS selectors, language)
62
+ - **Real-time Transcription**: 10 languages via Deepgram Nova-3 on Workers AI in RealtimeKit
63
+ - REST: `POST /accounts/{id}/ai/tomarkdown`
64
+
65
+ ### Browser Rendering — Rate Limit Increase (Mar 2026)
66
+ Workers Paid plans: 3 req/s → **10 req/s** (600/min). Endpoints: `/links`, `/json`, `/scrape`, `/snapshot`, `/markdown`, `/pdf`, `/screenshot`, `/content`
67
+
68
+ ### Sandboxes — Real-time File Watching (Mar 2026)
69
+ `sandbox.watch(path, options)` — SSE stream backed by inotify. Events: `create`, `modify`, `delete`, `move`.
70
+
50
71
  ## Authentication
51
72
 
52
73
  API Key authentication. Credentials can be set via:
@@ -47,6 +47,25 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Updates (2025-2026)
51
+
52
+ ### Current API Version: v10 (unchanged)
53
+
54
+ ### New in Oct 2025 (Developer Newsletter)
55
+ - **Bot profiles per server**: Bots can now set unique profiles per server
56
+ - **New UI components**: Label and TextDisplay components in modals; all select menus now work in modals
57
+ - **New Social SDK webhooks**: `LOBBY_MESSAGE_*` and `GAME_DIRECT_MESSAGE_*` events for moderation
58
+ - **Server-side Provisional Account API**: New endpoint for creating provisional accounts in games
59
+ - **Rate limit**: New rate limit when requesting all guild members via gateway
60
+
61
+ ### Deprecations (Oct 2025)
62
+ - Non-E2EE voice calls being phased out
63
+ - Deprecated voice and video transport modes — update implementations
64
+
65
+ ### Bug Fixes (Mar 2026)
66
+ - Escaped mentions `\@everyone` no longer trigger mentions — backend now properly respects escape characters
67
+ - Desktop app p50 TTI reduced by 11.8% via API payload ordering optimization
68
+
50
69
  ## Authentication
51
70
 
52
71
  Bearer Token authentication. Credentials can be set via:
@@ -47,6 +47,14 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Notes (2026)
51
+
52
+ Docker Hub REST API: `https://hub.docker.com/v2/`
53
+ Docker Engine API: `https://unix:///var/run/docker.sock/v1.xx/` (local socket)
54
+ Current Engine API version: v1.47+ (Docker Engine 27+)
55
+
56
+ Auth: Docker Hub uses JWT tokens (POST /users/login). Docker Engine uses unix socket or TCP.
57
+
50
58
  ## Authentication
51
59
 
52
60
  API Key authentication. Credentials can be set via:
@@ -47,6 +47,27 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Updates (2024-2025)
51
+
52
+ ### SDKs
53
+ - Python: `e2b` or `e2b-code-interpreter`
54
+ - JavaScript/TypeScript: `@e2b/code-interpreter`
55
+
56
+ ### Sandbox Lifecycle
57
+ - Start: ~150ms spin-up time
58
+ - Pause/resume: data persistence across sessions
59
+ - `download_url`/`downloadUrl` method on sandbox
60
+ - Env vars configurable on `sandbox.create()`
61
+
62
+ ### Desktop Sandbox (Dec 2024)
63
+ Virtual desktop for LLM computer use. Isolated VMs with full desktop environment.
64
+
65
+ ### Interactive Charts (Oct 2024)
66
+ Automatic chart detection from Matplotlib code via `runCode()`/`run_code()`. Returns chart data to client for custom rendering.
67
+
68
+ ### Multi-language Support
69
+ Python, JavaScript/TypeScript, and other languages via code interpreter.
70
+
50
71
  ## Authentication
51
72
 
52
73
  API Key authentication. Credentials can be set via:
@@ -47,6 +47,30 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## Models (2026)
51
+
52
+ | Model | Description |
53
+ |-------|-------------|
54
+ | `eleven_v3` | **Eleven v3** — GA since Feb 2026. Most expressive TTS. Audio tags, multi-speaker dialogue, 70+ languages. 68% error reduction on numbers/symbols. |
55
+ | `eleven_multilingual_v2` | Multilingual v2 — stable, recommended for real-time/conversational use |
56
+ | `eleven_turbo_v2_5` | Turbo v2.5 — lowest latency, real-time |
57
+ | `eleven_flash_v2_5` | Flash v2.5 — fastest, lowest cost |
58
+
59
+ ### Eleven v3 Features (GA Feb 2026)
60
+ - **Audio tags**: `[excited]`, `[whispers]`, `[sighs]`, `[laughs]` inline in text
61
+ - **Multi-speaker dialogue**: New `POST /v1/text-to-dialogue` endpoint
62
+ - **70+ languages** with improved accuracy (99% error reduction for phone numbers, chemical formulas)
63
+ - Requires more prompt engineering than v2 — not recommended for real-time/low-latency use cases
64
+
65
+ ### Text to Dialogue API (new endpoint)
66
+ ```json
67
+ POST /v1/text-to-dialogue
68
+ [
69
+ {"speaker_id": "voice-id-1", "text": "[cheerfully] Hello there!"},
70
+ {"speaker_id": "voice-id-2", "text": "Hey, how are you?"}
71
+ ]
72
+ ```
73
+
50
74
  ## Authentication
51
75
 
52
76
  API Key (Header) authentication. Credentials can be set via:
@@ -47,6 +47,41 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Updates (2025-2026)
51
+
52
+ ### Company Search (Jan 2026)
53
+ New fine-tuned retrieval model with entity matching for company queries. Use `type="auto"` + `category="company"`.
54
+
55
+ ```bash
56
+ curl -X POST https://api.exa.ai/search \
57
+ -H "x-api-key: $EXA_API_KEY" \
58
+ -d '{"query": "fintech companies in Switzerland", "type": "auto", "category": "company", "numResults": 10}'
59
+ ```
60
+
61
+ Results now include **structured entity data** (`entities[]`) with:
62
+ - `name`, `foundedYear`, `description`, `workforce.total`
63
+ - `headquarters` (address, city, country)
64
+ - `financials` (fundingTotal, fundingLatestRound)
65
+ - `webTraffic.total`
66
+
67
+ Supports: semantic queries, composite queries, funding queries, attribute filtering, named lookups.
68
+
69
+ ### Endpoints Overview (2026)
70
+ | Endpoint | Description |
71
+ |----------|-------------|
72
+ | `POST /search` | Neural/keyword search (`type`: auto, neural, keyword) |
73
+ | `POST /search` with `type=deep` | Multi-query deep search with structured answers |
74
+ | `POST /findSimilar` | Find pages similar to a given URL |
75
+ | `POST /contents` | Extract text, summaries, highlights from URLs |
76
+ | `POST /answer` | Direct answers with citations |
77
+ | `POST /research` | Async agent-style deep research |
78
+
79
+ ### Search Types
80
+ - `neural` — semantic/embedding-based
81
+ - `keyword` — fast keyword matching
82
+ - `auto` — automatically selects best type
83
+ - `deep` — multi-query with structured answers (slower, better for complex queries)
84
+
50
85
  ## Authentication
51
86
 
52
87
  API Key authentication. Credentials can be set via:
@@ -47,6 +47,40 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Updates (2025-2026)
51
+
52
+ ### Variables API — Extended Collections (Nov 2025)
53
+ Extended collections allow variants of existing variable collections with overrides while maintaining a single source of truth.
54
+
55
+ New fields on `VariableCollection`:
56
+ - `isExtension: boolean`
57
+ - `parentVariableCollectionId: string` — only when isExtension is true
58
+ - `rootVariableCollectionId: string`
59
+ - `inheritedVariableIds: string[]`
60
+ - `localVariableIds: string[]`
61
+ - `variableOverrides: Record<variableId, Record<modeId, value>>`
62
+
63
+ New `POST /v1/files/:key/variables` param: `initialModeIdToParentModeIdMapping`
64
+
65
+ ### Node Properties (Jan 2026)
66
+ New node properties:
67
+ - `transformModifiers` on TRANSFORM_GROUP nodes
68
+ - `textPathStartData` on TEXT_PATH nodes
69
+ - `variableWidthPoints` — variable width stroke profiles
70
+ - `complexStrokeProperties` — brush and dynamic strokes
71
+
72
+ ### Rate Limits (Nov 2025)
73
+ Published rate limits now enforced. Check [rate limits docs](https://developers.figma.com/docs/rest-api/rate-limits) for current values.
74
+
75
+ ### Figma MCP Server (beta, Sep 2025)
76
+ Figma now has an official MCP Server in beta for AI agent access to design files.
77
+
78
+ ### OAuth App Publishing (Nov 2025)
79
+ All OAuth apps must complete the new publishing flow via the Apps page. PAT generation via docs is temporarily removed — use the Postman workspace for testing.
80
+
81
+ ### Discovery API (Jan 2026)
82
+ For Enterprise plans with Governance+: can now retrieve text of user-submitted AI prompts from Figma AI tools.
83
+
50
84
  ## Authentication
51
85
 
52
86
  API Key authentication. Credentials can be set via:
@@ -47,6 +47,33 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Updates (2025-2026)
51
+
52
+ ### Endpoints (v1)
53
+ | Endpoint | Description |
54
+ |----------|-------------|
55
+ | `POST /v1/scrape` | Scrape a single URL |
56
+ | `POST /v1/crawl` | Crawl a website |
57
+ | `POST /v1/map` | Map a website's URLs |
58
+ | `POST /v1/search` | Search the web and scrape results (Jun 2025) |
59
+ | `POST /v1/extract` | Extract structured data (v2: pagination, search, FIRE-1) |
60
+ | `POST /v1/agent` | Agentic data gathering (Dec 2025) |
61
+ | `POST /v1/batch/scrape` | Parallel agent batch processing |
62
+
63
+ ### New in 2026
64
+ - **Browser Sandbox** (Feb 2026) — Fully managed isolated browser for agents. Zero config, pre-loaded tools.
65
+ - **PDF Parser v2** (Feb 2026) — 3x faster Rust-based parser. Three auto-adapting modes (clean text, scanned, complex).
66
+ - **Parallel Agents** (Jan 2026) — Batch `/agent` queries in spreadsheet/JSON format with streaming.
67
+ - **Branding Format v2** (Feb 2026) — Improved logo extraction for AI agents.
68
+ - **Spark 1 Pro/Mini models** (Jan 2026) — Flexible model selection for `/agent`. Mini is 60% cheaper.
69
+ - **Claude Code plugin** (Feb 2026) — Official Firecrawl skill for Claude Code.
70
+
71
+ ### /extract v2 (Apr 2025)
72
+ Added: pagination, FIRE-1 intelligent interaction, built-in search integration.
73
+
74
+ ### FIRE-1 Agent (Apr 2025)
75
+ New AI agent that intelligently navigates and interacts with web pages for complex scraping.
76
+
50
77
  ## Authentication
51
78
 
52
79
  Bearer Token authentication. Credentials can be set via:
@@ -47,12 +47,42 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
- ## Authentication
50
+ ## Authentication (2025+)
51
51
 
52
- Bearer Token authentication. Credentials can be set via:
52
+ Bearer Token authentication. Use **fine-grained PATs** (GA since March 2025) for all new projects — they are now the recommended token type.
53
+
54
+ Credentials can be set via:
53
55
  - Environment variable (see below)
54
56
  - Profile configuration: `connect-github config set-key <key>`
55
57
 
58
+ ### Token Types
59
+
60
+ | Type | Recommendation |
61
+ |------|---------------|
62
+ | Fine-grained PAT | **Preferred** — GA since March 2025, granular permissions, audit-log `token_id` tracking |
63
+ | Classic PAT | Legacy — still works, but over-permissioned |
64
+
65
+ Fine-grained PAT gaps (not yet supported): Packages API, Checks API, internal repos outside target org, multi-org access.
66
+
67
+ ### Required Scopes (fine-grained PAT)
68
+
69
+ - `contents:read/write` — repos, files
70
+ - `issues:read/write` — issues, comments
71
+ - `pull_requests:read/write` — PRs, reviews
72
+ - `metadata:read` — required for all repo access
73
+ - `models:read` — if using GitHub Models API (required since March 29 2025)
74
+
75
+ ### API Version
76
+
77
+ Current: `X-GitHub-Api-Version: 2022-11-28` (unchanged)
78
+
79
+ ### GitHub MCP Server
80
+
81
+ The Remote GitHub MCP Server is GA since September 2025. Add to your MCP config:
82
+ ```json
83
+ { "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] } } }
84
+ ```
85
+
56
86
 
57
87
  ## Key Patterns
58
88
 
@@ -47,6 +47,28 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Updates (2025-2026)
51
+
52
+ ### OAuth Enforcement (May 2025)
53
+ Google fully enforced OAuth 2.0 for all Gmail access as of May 2025. Less Secure Apps / password-based auth is permanently disabled. All clients MUST use OAuth 2.0 token-based authentication.
54
+
55
+ ### Scope Classification (2026)
56
+ | Scope | Classification | Notes |
57
+ |-------|---------------|-------|
58
+ | `https://mail.google.com/` | Restricted | Full access |
59
+ | `https://www.googleapis.com/auth/gmail.modify` | Restricted | Read + modify |
60
+ | `https://www.googleapis.com/auth/gmail.readonly` | Restricted | Read only |
61
+ | `https://www.googleapis.com/auth/gmail.send` | Sensitive | Send only |
62
+ | `https://www.googleapis.com/auth/gmail.metadata` | Non-sensitive | Headers only |
63
+
64
+ Restricted scopes require Google's restricted scope verification process including a third-party security assessment. For send-only use cases, prefer `gmail.send` to avoid stricter compliance requirements.
65
+
66
+ ### Gmail Postmaster Tools API v2 (GA Feb 2026)
67
+ New: `POST /v2/domains/{domain}:queryDomainStats` — flexible querying of domain stats including compliance status. Supports batch operations. The v2beta endpoint was available Dec 2025.
68
+
69
+ ### Deal Cards in Promotions Tab (Sep 2025)
70
+ New annotation support for creating Deal Cards. See Gmail annotations documentation.
71
+
50
72
  ## Authentication
51
73
 
52
74
  OAuth authentication. Credentials can be set via:
@@ -47,6 +47,17 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## Auth Notes (2026)
51
+
52
+ Google OAuth 2.0 — use Application Default Credentials or service account JSON.
53
+
54
+ ### Maps Platform Client IDs Deprecated (May 2025+)
55
+ Maps platform client IDs deprecated May 26, 2025, cannot be used after May 31, 2026.
56
+ - In Apps Script: `setAuthentication(clientId, signingKey)` → deprecated Jun 2026
57
+ - Use `setAuthenticationByKey(apiKey)` or `setAuthenticationByKey(apiKey, signingKey)` instead
58
+
59
+ OAuth scopes are unchanged. userinfo endpoint: `https://www.googleapis.com/oauth2/v3/userinfo`
60
+
50
61
  ## Authentication
51
62
 
52
63
  API Key authentication. Credentials can be set via:
@@ -47,6 +47,15 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## API Updates (2026)
51
+
52
+ ### Google Meet Conference Guidance (Feb 2026)
53
+ Do NOT reuse Google Meet codes across different calendar events — causes access issues and exposes meeting details to unintended users.
54
+ Always generate a new conference using the `createRequest` field for every new event:
55
+ ```json
56
+ "conferenceData": { "createRequest": { "requestId": "unique-id", "conferenceSolutionKey": { "type": "hangoutsMeet" } } }
57
+ ```
58
+
50
59
  ## Authentication
51
60
 
52
61
  OAuth authentication. Credentials can be set via:
@@ -47,6 +47,18 @@ src/
47
47
  └── index.ts # Library exports
48
48
  ```
49
49
 
50
+ ## Auth Notes (2026)
51
+
52
+ ### Recommended Auth Methods
53
+ 1. **Application Default Credentials (ADC)** — `GOOGLE_APPLICATION_CREDENTIALS` env var pointing to service account JSON
54
+ 2. **Service Account Key** — JSON key file with email + private key
55
+ 3. **Workload Identity Federation** — keyless auth from AWS/Azure/on-prem (recommended for production)
56
+ 4. **OAuth 2.0 User Credentials** — for user-delegated access
57
+
58
+ ### Google AI / Gemini (separate from GCP)
59
+ - Gemini API: `GEMINI_API_KEY` — simpler for Gemini models
60
+ - Vertex AI: uses ADC or service account — more enterprise controls
61
+
50
62
  ## Authentication
51
63
 
52
64
  OAuth authentication. Credentials can be set via: