@vercel/connect 0.7.0 → 0.8.0
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/README.md +7 -4
- package/dist/chat/index.d.ts +3 -1
- package/dist/chat/index.js +2 -0
- package/dist/chat/notion-adapter.d.ts +28 -0
- package/dist/chat/notion-adapter.js +23 -0
- package/dist/chat/telegram-adapter.d.ts +29 -0
- package/dist/chat/telegram-adapter.js +24 -0
- package/dist/chat/types.d.ts +20 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ SDK for obtaining scoped tokens for third-party services on behalf of apps or us
|
|
|
5
5
|
Seven entrypoints, all ESM:
|
|
6
6
|
|
|
7
7
|
- `@vercel/connect` — core token / authorization SDK
|
|
8
|
-
- `@vercel/connect/chat` — adapter helpers for the [Chat SDK](https://chat-sdk.dev) (`chat`): `connectSlackAdapter`, `connectDiscordAdapter`, `connectGitHubAdapter`, `connectLinearAdapter` (no Chat SDK dependency — returns structural config)
|
|
8
|
+
- `@vercel/connect/chat` — adapter helpers for the [Chat SDK](https://chat-sdk.dev) (`chat`): `connectSlackAdapter`, `connectDiscordAdapter`, `connectGitHubAdapter`, `connectLinearAdapter`, `connectNotionAdapter`, `connectTelegramAdapter` (no Chat SDK dependency — returns structural config)
|
|
9
9
|
- `@vercel/connect/ai-sdk` — [Vercel AI SDK](https://ai-sdk.dev) glue: re-exports `connectAuthProvider` for MCP transports (optional peers: `ai`, `@ai-sdk/mcp`)
|
|
10
10
|
- `@vercel/connect/mcp` — canonical MCP-spec `OAuthClientProvider` for any MCP client (optional peer: `@ai-sdk/mcp`)
|
|
11
11
|
- `@vercel/connect/eve` — adapter helpers for [Eve](https://github.com/vercel/eve) connections (optional peer: `eve`)
|
|
@@ -49,8 +49,8 @@ const { url } = await experimental_startInstallation(
|
|
|
49
49
|
### Chat SDK
|
|
50
50
|
|
|
51
51
|
Spread the helper into the matching `create*Adapter` factory. Each helper
|
|
52
|
-
wires
|
|
53
|
-
webhook verification
|
|
52
|
+
wires outbound app-scoped tokens; trigger-capable providers also receive
|
|
53
|
+
inbound Connect webhook verification via Vercel OIDC.
|
|
54
54
|
|
|
55
55
|
```ts
|
|
56
56
|
import { createSlackAdapter } from '@chat-adapter/slack';
|
|
@@ -64,7 +64,10 @@ createSlackAdapter({
|
|
|
64
64
|
|
|
65
65
|
`connectDiscordAdapter` (`botToken` and `applicationId`),
|
|
66
66
|
`connectGitHubAdapter` (`installationToken`), and `connectLinearAdapter`
|
|
67
|
-
(`accessToken`) follow the same shape.
|
|
67
|
+
(`accessToken`) follow the same shape. `connectNotionAdapter` supplies only the
|
|
68
|
+
outbound `token`; native Notion webhooks still require
|
|
69
|
+
`NOTION_VERIFICATION_TOKEN`. `connectTelegramAdapter` supplies only
|
|
70
|
+
`botToken`; Telegram retains native webhook verification or polling. See the
|
|
68
71
|
[Chat SDK integration guide](https://github.com/vercel/vercel/blob/main/packages/connect/docs/chat-integration.md)
|
|
69
72
|
for connector setup, trigger forwarding, and per-platform examples.
|
|
70
73
|
|
package/dist/chat/index.d.ts
CHANGED
|
@@ -21,8 +21,10 @@
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export { createConnectWebhookVerifier, type ConnectWebhookVerifier, type ConnectWebhookVerifierOptions, } from './webhook-verifier.js';
|
|
24
|
-
export type { ConnectDiscordAdapterConfig, ConnectGitHubAdapterConfig, ConnectLinearAdapterConfig, ConnectTokenResolver, } from './types.js';
|
|
24
|
+
export type { ConnectDiscordAdapterConfig, ConnectGitHubAdapterConfig, ConnectLinearAdapterConfig, ConnectNotionAdapterConfig, ConnectTelegramAdapterConfig, ConnectTokenResolver, } from './types.js';
|
|
25
25
|
export { connectDiscordAdapter, type ConnectDiscordAdapterParams, } from './discord-adapter.js';
|
|
26
26
|
export { connectSlackAdapter, type ConnectSlackAdapterConfig, type ConnectSlackAdapterParams, } from './slack-adapter.js';
|
|
27
27
|
export { connectGitHubAdapter, type ConnectGitHubAdapterParams, } from './github-adapter.js';
|
|
28
28
|
export { connectLinearAdapter, type ConnectLinearAdapterParams, } from './linear-adapter.js';
|
|
29
|
+
export { connectNotionAdapter, type ConnectNotionAdapterParams, } from './notion-adapter.js';
|
|
30
|
+
export { connectTelegramAdapter, type ConnectTelegramAdapterParams, } from './telegram-adapter.js';
|
package/dist/chat/index.js
CHANGED
|
@@ -25,3 +25,5 @@ export { connectDiscordAdapter, } from './discord-adapter.js';
|
|
|
25
25
|
export { connectSlackAdapter, } from './slack-adapter.js';
|
|
26
26
|
export { connectGitHubAdapter, } from './github-adapter.js';
|
|
27
27
|
export { connectLinearAdapter, } from './linear-adapter.js';
|
|
28
|
+
export { connectNotionAdapter, } from './notion-adapter.js';
|
|
29
|
+
export { connectTelegramAdapter, } from './telegram-adapter.js';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ConnectOptions, type ConnectTokenParams } from '../index.js';
|
|
2
|
+
import type { ConnectNotionAdapterConfig } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Token parameters accepted by {@link connectNotionAdapter}.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors {@link ConnectTokenParams} from `@vercel/connect`, minus
|
|
7
|
+
* `subject` — Notion connection tokens are app-scoped, so this helper pins
|
|
8
|
+
* the subject to `{ type: "app" }`.
|
|
9
|
+
*/
|
|
10
|
+
export type ConnectNotionAdapterParams = Omit<ConnectTokenParams, 'subject'>;
|
|
11
|
+
/**
|
|
12
|
+
* Build a Notion adapter config fragment backed by a Vercel Connect connector.
|
|
13
|
+
*
|
|
14
|
+
* The helper resolves outbound Notion API tokens only. Notion webhooks are
|
|
15
|
+
* delivered directly and must continue to use the adapter's native
|
|
16
|
+
* `verificationToken` / `NOTION_VERIFICATION_TOKEN` HMAC verification.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { createNotionAdapter } from "@chat-adapter/notion";
|
|
20
|
+
* import { connectNotionAdapter } from "@vercel/connect/chat";
|
|
21
|
+
*
|
|
22
|
+
* createNotionAdapter({
|
|
23
|
+
* ...connectNotionAdapter("notion/acme-notion"),
|
|
24
|
+
* verificationToken: process.env.NOTION_VERIFICATION_TOKEN,
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function connectNotionAdapter(connector: string, params?: ConnectNotionAdapterParams, options?: ConnectOptions): ConnectNotionAdapterConfig;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getToken, } from '../index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Build a Notion adapter config fragment backed by a Vercel Connect connector.
|
|
4
|
+
*
|
|
5
|
+
* The helper resolves outbound Notion API tokens only. Notion webhooks are
|
|
6
|
+
* delivered directly and must continue to use the adapter's native
|
|
7
|
+
* `verificationToken` / `NOTION_VERIFICATION_TOKEN` HMAC verification.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { createNotionAdapter } from "@chat-adapter/notion";
|
|
11
|
+
* import { connectNotionAdapter } from "@vercel/connect/chat";
|
|
12
|
+
*
|
|
13
|
+
* createNotionAdapter({
|
|
14
|
+
* ...connectNotionAdapter("notion/acme-notion"),
|
|
15
|
+
* verificationToken: process.env.NOTION_VERIFICATION_TOKEN,
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function connectNotionAdapter(connector, params = {}, options) {
|
|
20
|
+
return {
|
|
21
|
+
token: () => getToken(connector, { ...params, subject: { type: 'app' } }, options),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ConnectOptions, type ConnectTokenParams } from '../index.js';
|
|
2
|
+
import type { ConnectTelegramAdapterConfig } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Token parameters accepted by {@link connectTelegramAdapter}.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors {@link ConnectTokenParams} from `@vercel/connect`, minus
|
|
7
|
+
* `subject` — Telegram bot tokens are app-scoped, so this helper pins the
|
|
8
|
+
* subject to `{ type: "app" }`.
|
|
9
|
+
*/
|
|
10
|
+
export type ConnectTelegramAdapterParams = Omit<ConnectTokenParams, 'subject'>;
|
|
11
|
+
/**
|
|
12
|
+
* Build a Telegram adapter config fragment backed by a Vercel Connect
|
|
13
|
+
* connector.
|
|
14
|
+
*
|
|
15
|
+
* The helper resolves outbound Telegram Bot API tokens only. Telegram webhooks
|
|
16
|
+
* are delivered directly and must continue to use the adapter's native
|
|
17
|
+
* `secretToken` / `TELEGRAM_WEBHOOK_SECRET_TOKEN` verification, or polling.
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { createTelegramAdapter } from "@chat-adapter/telegram";
|
|
21
|
+
* import { connectTelegramAdapter } from "@vercel/connect/chat";
|
|
22
|
+
*
|
|
23
|
+
* createTelegramAdapter({
|
|
24
|
+
* ...connectTelegramAdapter("telegram/acme-telegram"),
|
|
25
|
+
* secretToken: process.env.TELEGRAM_WEBHOOK_SECRET_TOKEN,
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function connectTelegramAdapter(connector: string, params?: ConnectTelegramAdapterParams, options?: ConnectOptions): ConnectTelegramAdapterConfig;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getToken, } from '../index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Build a Telegram adapter config fragment backed by a Vercel Connect
|
|
4
|
+
* connector.
|
|
5
|
+
*
|
|
6
|
+
* The helper resolves outbound Telegram Bot API tokens only. Telegram webhooks
|
|
7
|
+
* are delivered directly and must continue to use the adapter's native
|
|
8
|
+
* `secretToken` / `TELEGRAM_WEBHOOK_SECRET_TOKEN` verification, or polling.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { createTelegramAdapter } from "@chat-adapter/telegram";
|
|
12
|
+
* import { connectTelegramAdapter } from "@vercel/connect/chat";
|
|
13
|
+
*
|
|
14
|
+
* createTelegramAdapter({
|
|
15
|
+
* ...connectTelegramAdapter("telegram/acme-telegram"),
|
|
16
|
+
* secretToken: process.env.TELEGRAM_WEBHOOK_SECRET_TOKEN,
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function connectTelegramAdapter(connector, params = {}, options) {
|
|
21
|
+
return {
|
|
22
|
+
botToken: () => getToken(connector, { ...params, subject: { type: 'app' } }, options),
|
|
23
|
+
};
|
|
24
|
+
}
|
package/dist/chat/types.d.ts
CHANGED
|
@@ -38,3 +38,23 @@ export interface ConnectLinearAdapterConfig {
|
|
|
38
38
|
accessToken: ConnectTokenResolver;
|
|
39
39
|
webhookVerifier: ConnectWebhookVerifier;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Partial Notion adapter config backed by Vercel Connect.
|
|
43
|
+
*
|
|
44
|
+
* Structurally matches the `token` option of `createNotionAdapter` from
|
|
45
|
+
* `@chat-adapter/notion`. Notion webhooks continue to use native HMAC
|
|
46
|
+
* verification and are not part of this config fragment.
|
|
47
|
+
*/
|
|
48
|
+
export interface ConnectNotionAdapterConfig {
|
|
49
|
+
token: ConnectTokenResolver;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Partial Telegram adapter config backed by Vercel Connect.
|
|
53
|
+
*
|
|
54
|
+
* Structurally matches the `botToken` option of `createTelegramAdapter` from
|
|
55
|
+
* `@chat-adapter/telegram`. Telegram webhooks continue to use native secret
|
|
56
|
+
* token verification and are not part of this config fragment.
|
|
57
|
+
*/
|
|
58
|
+
export interface ConnectTelegramAdapterConfig {
|
|
59
|
+
botToken: ConnectTokenResolver;
|
|
60
|
+
}
|