@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.
- package/bin/index.js +3 -3
- package/bin/mcp.js +1 -1
- package/connectors/connect-anthropic/AGENTS.md +22 -0
- package/connectors/connect-anthropic/CLAUDE.md +29 -0
- package/connectors/connect-anthropic/README.md +22 -3
- package/connectors/connect-anthropic/src/types/index.ts +46 -2
- package/connectors/connect-aws/CLAUDE.md +16 -0
- package/connectors/connect-brandsight/CLAUDE.md +5 -0
- package/connectors/connect-cloudflare/CLAUDE.md +21 -0
- package/connectors/connect-discord/CLAUDE.md +19 -0
- package/connectors/connect-docker/CLAUDE.md +8 -0
- package/connectors/connect-e2b/CLAUDE.md +21 -0
- package/connectors/connect-elevenlabs/CLAUDE.md +24 -0
- package/connectors/connect-exa/CLAUDE.md +35 -0
- package/connectors/connect-figma/CLAUDE.md +34 -0
- package/connectors/connect-firecrawl/CLAUDE.md +27 -0
- package/connectors/connect-github/CLAUDE.md +32 -2
- package/connectors/connect-gmail/CLAUDE.md +22 -0
- package/connectors/connect-google/CLAUDE.md +11 -0
- package/connectors/connect-googlecalendar/CLAUDE.md +9 -0
- package/connectors/connect-googlecloud/CLAUDE.md +12 -0
- package/connectors/connect-googlecontacts/CLAUDE.md +7 -0
- package/connectors/connect-googledocs/CLAUDE.md +7 -0
- package/connectors/connect-googledrive/CLAUDE.md +5 -0
- package/connectors/connect-googlegemini/CLAUDE.md +18 -0
- package/connectors/connect-googlegemini/src/types/index.ts +10 -3
- package/connectors/connect-googlemaps/CLAUDE.md +15 -0
- package/connectors/connect-googlesheets/CLAUDE.md +10 -0
- package/connectors/connect-googletasks/CLAUDE.md +6 -0
- package/connectors/connect-hedra/CLAUDE.md +15 -0
- package/connectors/connect-heygen/CLAUDE.md +14 -0
- package/connectors/connect-huggingface/CLAUDE.md +20 -0
- package/connectors/connect-icons8/CLAUDE.md +6 -0
- package/connectors/connect-maropost/CLAUDE.md +6 -0
- package/connectors/connect-mercury/CLAUDE.md +14 -0
- package/connectors/connect-meta/CLAUDE.md +16 -0
- package/connectors/connect-midjourney/CLAUDE.md +7 -0
- package/connectors/connect-mistral/CLAUDE.md +20 -0
- package/connectors/connect-mistral/src/types/index.ts +42 -7
- package/connectors/connect-mixpanel/CLAUDE.md +11 -0
- package/connectors/connect-notion/CLAUDE.md +30 -0
- package/connectors/connect-openai/AGENTS.md +15 -0
- package/connectors/connect-openai/CLAUDE.md +23 -0
- package/connectors/connect-openai/src/types/index.ts +36 -14
- package/connectors/connect-openweathermap/CLAUDE.md +8 -0
- package/connectors/connect-pandadoc/CLAUDE.md +18 -0
- package/connectors/connect-quo/CLAUDE.md +5 -0
- package/connectors/connect-reddit/CLAUDE.md +20 -0
- package/connectors/connect-reducto/CLAUDE.md +16 -0
- package/connectors/connect-resend/CLAUDE.md +21 -0
- package/connectors/connect-revolut/CLAUDE.md +17 -0
- package/connectors/connect-sedo/CLAUDE.md +6 -0
- package/connectors/connect-sentry/CLAUDE.md +11 -0
- package/connectors/connect-shadcn/CLAUDE.md +42 -0
- package/connectors/connect-shopify/CLAUDE.md +18 -0
- package/connectors/connect-snap/CLAUDE.md +6 -0
- package/connectors/connect-stabilityai/CLAUDE.md +13 -0
- package/connectors/connect-stripe/CLAUDE.md +19 -0
- package/connectors/connect-stripeatlas/CLAUDE.md +7 -0
- package/connectors/connect-substack/CLAUDE.md +6 -0
- package/connectors/connect-tiktok/CLAUDE.md +25 -0
- package/connectors/connect-tinker/CLAUDE.md +6 -0
- package/connectors/connect-twilio/CLAUDE.md +9 -0
- package/connectors/connect-uspto/CLAUDE.md +8 -0
- package/connectors/connect-webflow/CLAUDE.md +19 -0
- package/connectors/connect-wix/CLAUDE.md +20 -0
- package/connectors/connect-x/CLAUDE.md +15 -0
- package/connectors/connect-xads/CLAUDE.md +10 -0
- package/connectors/connect-xai/CLAUDE.md +15 -0
- package/connectors/connect-xai/src/types/index.ts +20 -4
- package/connectors/connect-youtube/CLAUDE.md +28 -0
- package/connectors/connect-zoom/CLAUDE.md +15 -0
- 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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
//
|
|
67
|
-
|
|
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
|
-
|
|
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-
|
|
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.
|
|
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:
|