@vercel/connect 0.8.0 → 0.9.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/dist/chat/index.d.ts +2 -1
- package/dist/chat/index.js +1 -0
- package/dist/chat/linq-adapter.d.ts +37 -0
- package/dist/chat/linq-adapter.js +37 -0
- package/dist/chat/types.d.ts +18 -0
- package/dist/chat/webhook-verifier.d.ts +1 -1
- package/dist/eve/index.d.ts +1 -0
- package/dist/eve/index.js +1 -0
- package/dist/eve/linq-credentials.d.ts +34 -0
- package/dist/eve/linq-credentials.js +24 -0
- package/package.json +2 -2
package/dist/chat/index.d.ts
CHANGED
|
@@ -21,10 +21,11 @@
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export { createConnectWebhookVerifier, type ConnectWebhookVerifier, type ConnectWebhookVerifierOptions, } from './webhook-verifier.js';
|
|
24
|
-
export type { ConnectDiscordAdapterConfig, ConnectGitHubAdapterConfig, ConnectLinearAdapterConfig, ConnectNotionAdapterConfig, ConnectTelegramAdapterConfig, ConnectTokenResolver, } from './types.js';
|
|
24
|
+
export type { ConnectDiscordAdapterConfig, ConnectGitHubAdapterConfig, ConnectLinearAdapterConfig, ConnectLinqAdapterConfig, ConnectLinqCredentials, 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 { connectLinqAdapter, type ConnectLinqAdapterParams, } from './linq-adapter.js';
|
|
29
30
|
export { connectNotionAdapter, type ConnectNotionAdapterParams, } from './notion-adapter.js';
|
|
30
31
|
export { connectTelegramAdapter, type ConnectTelegramAdapterParams, } from './telegram-adapter.js';
|
package/dist/chat/index.js
CHANGED
|
@@ -25,5 +25,6 @@ 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 { connectLinqAdapter, } from './linq-adapter.js';
|
|
28
29
|
export { connectNotionAdapter, } from './notion-adapter.js';
|
|
29
30
|
export { connectTelegramAdapter, } from './telegram-adapter.js';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type ConnectOptions, type ConnectTokenParams } from '../index.js';
|
|
2
|
+
import type { ConnectLinqAdapterConfig } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Token parameters accepted by {@link connectLinqAdapter}.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors {@link ConnectTokenParams} from `@vercel/connect`, minus `subject`.
|
|
7
|
+
* Linq credentials are app-scoped, so this helper always uses
|
|
8
|
+
* `{ type: 'app' }`.
|
|
9
|
+
*/
|
|
10
|
+
export type ConnectLinqAdapterParams = Omit<ConnectTokenParams, 'subject'>;
|
|
11
|
+
/**
|
|
12
|
+
* Build a Linq adapter config fragment backed by a Vercel Connect connector.
|
|
13
|
+
*
|
|
14
|
+
* Spread the result into `createLinqAdapter` from `@linqapp/chat-sdk-adapter`:
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { createLinqAdapter } from '@linqapp/chat-sdk-adapter';
|
|
18
|
+
* import { connectLinqAdapter } from '@vercel/connect/chat';
|
|
19
|
+
*
|
|
20
|
+
* createLinqAdapter({
|
|
21
|
+
* ...connectLinqAdapter('linq/my-agent'),
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* Linq's SDK calls its Bearer credential `apiKey`; the lazy `credentials`
|
|
26
|
+
* provider supplies the app-scoped Connect token through that field only when
|
|
27
|
+
* the adapter needs it.
|
|
28
|
+
*
|
|
29
|
+
* Connect retains Linq's webhook signing secret and verifies trigger-forwarded
|
|
30
|
+
* webhooks before attaching a Vercel OIDC token. `webhookVerifier` validates
|
|
31
|
+
* that OIDC token, replacing Linq's native HMAC check.
|
|
32
|
+
*
|
|
33
|
+
* The optional `params` and `options` arguments mirror the signature of
|
|
34
|
+
* {@link getTokenResponse}, allowing callers to pass through fields like
|
|
35
|
+
* `installationId`, `scopes`, or `validityBufferMs`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function connectLinqAdapter(connector: string, params?: ConnectLinqAdapterParams, options?: ConnectOptions): ConnectLinqAdapterConfig;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { getTokenResponse, } from '../index.js';
|
|
2
|
+
import { createConnectWebhookVerifier } from './webhook-verifier.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build a Linq adapter config fragment backed by a Vercel Connect connector.
|
|
5
|
+
*
|
|
6
|
+
* Spread the result into `createLinqAdapter` from `@linqapp/chat-sdk-adapter`:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { createLinqAdapter } from '@linqapp/chat-sdk-adapter';
|
|
10
|
+
* import { connectLinqAdapter } from '@vercel/connect/chat';
|
|
11
|
+
*
|
|
12
|
+
* createLinqAdapter({
|
|
13
|
+
* ...connectLinqAdapter('linq/my-agent'),
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* Linq's SDK calls its Bearer credential `apiKey`; the lazy `credentials`
|
|
18
|
+
* provider supplies the app-scoped Connect token through that field only when
|
|
19
|
+
* the adapter needs it.
|
|
20
|
+
*
|
|
21
|
+
* Connect retains Linq's webhook signing secret and verifies trigger-forwarded
|
|
22
|
+
* webhooks before attaching a Vercel OIDC token. `webhookVerifier` validates
|
|
23
|
+
* that OIDC token, replacing Linq's native HMAC check.
|
|
24
|
+
*
|
|
25
|
+
* The optional `params` and `options` arguments mirror the signature of
|
|
26
|
+
* {@link getTokenResponse}, allowing callers to pass through fields like
|
|
27
|
+
* `installationId`, `scopes`, or `validityBufferMs`.
|
|
28
|
+
*/
|
|
29
|
+
export function connectLinqAdapter(connector, params = {}, options) {
|
|
30
|
+
return {
|
|
31
|
+
credentials: async () => {
|
|
32
|
+
const response = await getTokenResponse(connector, { ...params, subject: { type: 'app' } }, options);
|
|
33
|
+
return { apiKey: response.token };
|
|
34
|
+
},
|
|
35
|
+
webhookVerifier: createConnectWebhookVerifier(),
|
|
36
|
+
};
|
|
37
|
+
}
|
package/dist/chat/types.d.ts
CHANGED
|
@@ -38,6 +38,24 @@ export interface ConnectLinearAdapterConfig {
|
|
|
38
38
|
accessToken: ConnectTokenResolver;
|
|
39
39
|
webhookVerifier: ConnectWebhookVerifier;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Credentials resolved lazily by the Linq Chat SDK adapter.
|
|
43
|
+
*
|
|
44
|
+
* Structurally matches the return value of its `credentials` option.
|
|
45
|
+
*/
|
|
46
|
+
export interface ConnectLinqCredentials {
|
|
47
|
+
apiKey: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Partial Linq adapter config backed by Vercel Connect.
|
|
51
|
+
*
|
|
52
|
+
* Structurally matches the `credentials` and `webhookVerifier` options of
|
|
53
|
+
* `createLinqAdapter` from `@linqapp/chat-sdk-adapter`.
|
|
54
|
+
*/
|
|
55
|
+
export interface ConnectLinqAdapterConfig {
|
|
56
|
+
credentials: () => Promise<ConnectLinqCredentials>;
|
|
57
|
+
webhookVerifier: (request: Request, rawBody: Uint8Array) => Promise<unknown> | unknown;
|
|
58
|
+
}
|
|
41
59
|
/**
|
|
42
60
|
* Partial Notion adapter config backed by Vercel Connect.
|
|
43
61
|
*
|
|
@@ -9,7 +9,7 @@ import { verifyVercelOidcToken } from '@vercel/oidc';
|
|
|
9
9
|
* subpath stay decoupled from `@chat-adapter/*` while remaining
|
|
10
10
|
* structurally compatible.
|
|
11
11
|
*/
|
|
12
|
-
export type ConnectWebhookVerifier = (request: Request, body: string) => Promise<unknown> | unknown;
|
|
12
|
+
export type ConnectWebhookVerifier = (request: Request, body: string | Uint8Array) => Promise<unknown> | unknown;
|
|
13
13
|
/**
|
|
14
14
|
* Options forwarded to {@link verifyVercelOidcToken}. Defaults to
|
|
15
15
|
* matching `project_id` / `environment` against the current Vercel
|
package/dist/eve/index.d.ts
CHANGED
|
@@ -11,5 +11,6 @@ export { CONNECT_OAUTH_ISSUER, connectOAuth, type ConnectOAuthAudienceEnvironmen
|
|
|
11
11
|
export { connectDiscordCredentials, type ConnectDiscordCredentialsParams, } from './discord-credentials.js';
|
|
12
12
|
export { connectGitHubCredentials, type ConnectGitHubCredentialsParams, } from './github-credentials.js';
|
|
13
13
|
export { connectLinearCredentials, type ConnectLinearCredentialsParams, } from './linear-credentials.js';
|
|
14
|
+
export { connectLinqCredentials, type ConnectLinqCredentials, type ConnectLinqCredentialsParams, } from './linq-credentials.js';
|
|
14
15
|
export { connectPhotonCredentials, type ConnectPhotonCredentialProvider, type PhotonCredentials, type ConnectPhotonCredentialsParams, } from './photon-credentials.js';
|
|
15
16
|
export { connectSlackCredentials, type ConnectSlackCredentialsParams, } from './slack-credentials.js';
|
package/dist/eve/index.js
CHANGED
|
@@ -11,5 +11,6 @@ export { CONNECT_OAUTH_ISSUER, connectOAuth, } from './connect-oauth.js';
|
|
|
11
11
|
export { connectDiscordCredentials, } from './discord-credentials.js';
|
|
12
12
|
export { connectGitHubCredentials, } from './github-credentials.js';
|
|
13
13
|
export { connectLinearCredentials, } from './linear-credentials.js';
|
|
14
|
+
export { connectLinqCredentials, } from './linq-credentials.js';
|
|
14
15
|
export { connectPhotonCredentials, } from './photon-credentials.js';
|
|
15
16
|
export { connectSlackCredentials, } from './slack-credentials.js';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { vercelOidc } from 'eve/channels/auth';
|
|
2
|
+
import { type ConnectOptions, type ConnectTokenParams } from '../index.js';
|
|
3
|
+
/** Linq channel credentials returned by {@link connectLinqCredentials}. */
|
|
4
|
+
export interface ConnectLinqCredentials {
|
|
5
|
+
/** Short-lived API key for outbound Linq API calls. */
|
|
6
|
+
apiKey: () => Promise<string>;
|
|
7
|
+
/** Verifies webhooks forwarded by Vercel Connect. */
|
|
8
|
+
webhookVerifier: ReturnType<typeof vercelOidc>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Token parameters accepted by {@link connectLinqCredentials}.
|
|
12
|
+
*
|
|
13
|
+
* Mirrors {@link ConnectTokenParams} from `@vercel/connect`, minus `subject`.
|
|
14
|
+
* Linq credentials are app-scoped, so this helper always uses
|
|
15
|
+
* `{ type: 'app' }`.
|
|
16
|
+
*/
|
|
17
|
+
export type ConnectLinqCredentialsParams = Omit<ConnectTokenParams, 'subject'>;
|
|
18
|
+
/**
|
|
19
|
+
* Build Linq channel credentials backed by a Vercel Connect connector.
|
|
20
|
+
*
|
|
21
|
+
* The API-key resolver keeps token rotation delegated to Connect.
|
|
22
|
+
* `webhookVerifier` validates the Vercel OIDC token Connect attaches after it
|
|
23
|
+
* has verified and forwarded the provider webhook.
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { connectLinqCredentials } from '@vercel/connect/eve';
|
|
27
|
+
* import { linqChannel } from 'eve/channels/linq';
|
|
28
|
+
*
|
|
29
|
+
* export default linqChannel({
|
|
30
|
+
* credentials: connectLinqCredentials('linq/my-agent'),
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function connectLinqCredentials(connector: string, params?: ConnectLinqCredentialsParams, options?: ConnectOptions): ConnectLinqCredentials;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { vercelOidc } from 'eve/channels/auth';
|
|
2
|
+
import { getToken, } from '../index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build Linq channel credentials backed by a Vercel Connect connector.
|
|
5
|
+
*
|
|
6
|
+
* The API-key resolver keeps token rotation delegated to Connect.
|
|
7
|
+
* `webhookVerifier` validates the Vercel OIDC token Connect attaches after it
|
|
8
|
+
* has verified and forwarded the provider webhook.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { connectLinqCredentials } from '@vercel/connect/eve';
|
|
12
|
+
* import { linqChannel } from 'eve/channels/linq';
|
|
13
|
+
*
|
|
14
|
+
* export default linqChannel({
|
|
15
|
+
* credentials: connectLinqCredentials('linq/my-agent'),
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function connectLinqCredentials(connector, params = {}, options) {
|
|
20
|
+
return {
|
|
21
|
+
apiKey: () => getToken(connector, { ...params, subject: { type: 'app' } }, options),
|
|
22
|
+
webhookVerifier: vercelOidc(),
|
|
23
|
+
};
|
|
24
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vercel/connect",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"dist"
|
|
43
43
|
],
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@vercel/oidc": "3.8.
|
|
45
|
+
"@vercel/oidc": "3.8.5"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@ai-sdk/mcp": "^1 || ^2",
|