@meetopenbot/plugin-sdk 1.7.0 → 2.0.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 +2 -2
- package/dist/mcp-agent.d.ts +14 -8
- package/dist/mcp-agent.d.ts.map +1 -1
- package/dist/mcp-agent.js +49 -35
- package/dist/mcp-agent.js.map +1 -1
- package/dist/mcp-oauth.d.ts +1 -2
- package/dist/mcp-oauth.d.ts.map +1 -1
- package/dist/mcp-oauth.js.map +1 -1
- package/dist/mcp-tools.d.ts +6 -0
- package/dist/mcp-tools.d.ts.map +1 -0
- package/dist/mcp-tools.js +11 -0
- package/dist/mcp-tools.js.map +1 -0
- package/dist/plugin.d.ts +47 -33
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +8 -5
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -130,10 +130,10 @@ OpenBot is oriented toward **complete messages**. Use the `agentOutput` helper t
|
|
|
130
130
|
OpenBot plugins are designed for **AI agent behavior**, not just thin translation layers. Prefer `defineMcpAgent` for MCP specialists and `defineAgentPlugin` for harnesses so invoke gating, thread ids, empty prompts, and error mapping stay consistent.
|
|
131
131
|
|
|
132
132
|
1. **Harness**: If the target platform provides a full agent stack (Claude Code, Codex, Cursor, Pi), wrap it and return a text string.
|
|
133
|
-
2. **Specialist**: Use `defineMcpAgent` (
|
|
133
|
+
2. **Specialist**: Use `defineMcpAgent` (connection + MCP + system prompt). `run` is provided by the SDK.
|
|
134
134
|
3. **Gateway**: Verify inbound webhooks, yield `webhookHttpResponse`, then emit `agent:invoke`.
|
|
135
135
|
|
|
136
|
-
LLM calls use a provider env key when set (BYOK), otherwise OpenBot Credits.
|
|
136
|
+
LLM calls use a provider env key when set (BYOK), otherwise OpenBot Credits. The account a plugin works in (Linear, Stripe, …) is its `connection`: declare `{ kind, id, scope }` and the host asks for it, stores it encrypted, and passes it to `run` as `context.connection` (`connectedApiKey(context)` for keys). Plugins never ask for or read product keys themselves.
|
|
137
137
|
|
|
138
138
|
Declare the model picker with `models: { providers, default }` — do not copy `isCloudMode`, credits helpers, or model-registry fields into the plugin:
|
|
139
139
|
|
package/dist/mcp-agent.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { type OAuthClientProvider } from '@ai-sdk/mcp';
|
|
|
2
2
|
import { type AgentPluginDefinition, type AgentTurnYield } from './agent-plugin.js';
|
|
3
3
|
import { type StreamHint } from './text-reply.js';
|
|
4
4
|
import type { ApiKeyConnection, OAuthConnection, PluginModule } from './plugin.js';
|
|
5
|
+
import { pickTools } from './mcp-tools.js';
|
|
6
|
+
export { pickTools };
|
|
5
7
|
export type McpHttpTransport = {
|
|
6
8
|
url: string;
|
|
7
9
|
headers?: (apiKey: string) => Record<string, string>;
|
|
@@ -31,29 +33,33 @@ export declare function runMcpTurn(args: {
|
|
|
31
33
|
system: string;
|
|
32
34
|
prompt: string;
|
|
33
35
|
maxSteps?: number;
|
|
36
|
+
/** Only these tools reach the model. Omit to allow every tool the server lists. */
|
|
37
|
+
allowedTools?: string[];
|
|
34
38
|
groupId?: string;
|
|
35
39
|
processEnv?: NodeJS.ProcessEnv;
|
|
36
40
|
}): AsyncGenerator<AgentTurnYield>;
|
|
37
|
-
export type McpAgentDefinition = Omit<AgentPluginDefinition, 'run'> & {
|
|
41
|
+
export type McpAgentDefinition = Omit<AgentPluginDefinition, 'run' | 'connection'> & {
|
|
38
42
|
system: string;
|
|
39
43
|
maxSteps?: number;
|
|
40
44
|
history?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Tool names the agent may use; everything else the server lists is hidden from the model.
|
|
47
|
+
* Set it whenever the server offers tools the agent must not call.
|
|
48
|
+
*/
|
|
49
|
+
allowedTools?: string[];
|
|
41
50
|
} & ({
|
|
42
|
-
/** The API key this agent needs
|
|
43
|
-
|
|
44
|
-
oauth?: never;
|
|
51
|
+
/** The API key this agent needs. Over HTTP the key is checked with one call before saving. */
|
|
52
|
+
connection: Omit<ApiKeyConnection, 'verify'>;
|
|
45
53
|
mcp: McpTransport;
|
|
46
54
|
} | {
|
|
47
55
|
/** Sign in to `mcp.url` instead of pasting a key. */
|
|
48
|
-
|
|
49
|
-
secret?: never;
|
|
56
|
+
connection: Omit<OAuthConnection, 'mcpUrl'>;
|
|
50
57
|
mcp: McpHttpTransport;
|
|
51
58
|
});
|
|
52
59
|
/** Connect with `apiKey` and list tools: the cheapest call that proves the key works. */
|
|
53
60
|
export declare function verifyMcpCredential(mcp: McpTransport, apiKey: string): Promise<void>;
|
|
54
61
|
/**
|
|
55
|
-
* Specialist agent:
|
|
62
|
+
* Specialist agent: one connection + MCP + streamText. Model picker comes from `models`.
|
|
56
63
|
*/
|
|
57
64
|
export declare function defineMcpAgent(definition: McpAgentDefinition): Promise<PluginModule>;
|
|
58
|
-
export {};
|
|
59
65
|
//# sourceMappingURL=mcp-agent.d.ts.map
|
package/dist/mcp-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-agent.d.ts","sourceRoot":"","sources":["../src/mcp-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQ3F,OAAO,EAEL,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"mcp-agent.d.ts","sourceRoot":"","sources":["../src/mcp-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQ3F,OAAO,EAEL,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAErG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAMhE,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAsB/D;AAED,wBAAuB,UAAU,CAAC,IAAI,EAAE;IACtC,GAAG,EAAE,YAAY,CAAC;IAClB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,GAAG,cAAc,CAAC,cAAc,CAAC,CAsCjC;AASD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,KAAK,GAAG,YAAY,CAAC,GAAG;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,GAAG,CACE;IACE,8FAA8F;IAC9F,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC7C,GAAG,EAAE,YAAY,CAAC;CACnB,GACD;IACE,qDAAqD;IACrD,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC5C,GAAG,EAAE,gBAAgB,CAAC;CACvB,CACJ,CAAC;AA0BJ,yFAAyF;AACzF,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CA4E1F"}
|
package/dist/mcp-agent.js
CHANGED
|
@@ -3,11 +3,13 @@ import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
|
|
|
3
3
|
import { stepCountIs, streamText } from 'ai';
|
|
4
4
|
import { creditsErrorMessage, hasLlmAuth, llmAuthNotConfiguredMessage, } from './credits-auth.js';
|
|
5
5
|
import { defineAgentPlugin, } from './agent-plugin.js';
|
|
6
|
-
import {
|
|
6
|
+
import { readConfigModel } from './helpers.js';
|
|
7
7
|
import { resolveOpenAiModel } from './openai-model.js';
|
|
8
8
|
import { emitTextReplies, textReply } from './text-reply.js';
|
|
9
9
|
import { loadThreadContext } from './thread-context.js';
|
|
10
10
|
import { ConnectionRequiredError } from './mcp-oauth.js';
|
|
11
|
+
import { pickTools } from './mcp-tools.js';
|
|
12
|
+
export { pickTools };
|
|
11
13
|
function isHttpTransport(transport) {
|
|
12
14
|
return 'url' in transport;
|
|
13
15
|
}
|
|
@@ -45,8 +47,8 @@ export async function* runMcpTurn(args) {
|
|
|
45
47
|
tools = await client.tools();
|
|
46
48
|
}
|
|
47
49
|
catch (error) {
|
|
48
|
-
//
|
|
49
|
-
if (
|
|
50
|
+
// The key or tokens were refused, revoked, or could not be refreshed: connect again.
|
|
51
|
+
if (isUnauthorized(error))
|
|
50
52
|
throw new ConnectionRequiredError();
|
|
51
53
|
throw error;
|
|
52
54
|
}
|
|
@@ -55,7 +57,7 @@ export async function* runMcpTurn(args) {
|
|
|
55
57
|
model: resolveOpenAiModel(args.model),
|
|
56
58
|
system: args.system,
|
|
57
59
|
prompt: args.prompt,
|
|
58
|
-
tools,
|
|
60
|
+
tools: pickTools(tools, args.allowedTools),
|
|
59
61
|
stopWhen: stepCountIs(args.maxSteps ?? 10),
|
|
60
62
|
});
|
|
61
63
|
let replied = false;
|
|
@@ -71,6 +73,13 @@ export async function* runMcpTurn(args) {
|
|
|
71
73
|
await client.close().catch(() => undefined);
|
|
72
74
|
}
|
|
73
75
|
}
|
|
76
|
+
/** True when an MCP server refused the credential, rather than failing for another reason. */
|
|
77
|
+
function isUnauthorized(error) {
|
|
78
|
+
if (error instanceof UnauthorizedError)
|
|
79
|
+
return true;
|
|
80
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
81
|
+
return /\b401\b|unauthori[sz]ed|invalid[ _-]?(api[ _-]?)?(key|token)/i.test(message);
|
|
82
|
+
}
|
|
74
83
|
function createMcpTransport(mcp, apiKey, baseEnv, authProvider) {
|
|
75
84
|
return isHttpTransport(mcp)
|
|
76
85
|
? {
|
|
@@ -100,42 +109,46 @@ export async function verifyMcpCredential(mcp, apiKey) {
|
|
|
100
109
|
}
|
|
101
110
|
}
|
|
102
111
|
/**
|
|
103
|
-
* Specialist agent:
|
|
112
|
+
* Specialist agent: one connection + MCP + streamText. Model picker comes from `models`.
|
|
104
113
|
*/
|
|
105
114
|
export async function defineMcpAgent(definition) {
|
|
106
|
-
const {
|
|
115
|
+
const { connection: declared, mcp, system, maxSteps, history, allowedTools, models, ...plugin } = definition;
|
|
107
116
|
const defaultModel = models?.default ?? 'openai/gpt-6-luna';
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
117
|
+
let connection;
|
|
118
|
+
if (declared.kind === 'oauth') {
|
|
119
|
+
connection = { ...declared, mcpUrl: mcp.url };
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
connection = {
|
|
123
|
+
...declared,
|
|
124
|
+
// Spawning a stdio server just to check a key is too slow for a save button.
|
|
125
|
+
...(isHttpTransport(mcp)
|
|
126
|
+
? {
|
|
127
|
+
async verify(apiKey) {
|
|
128
|
+
try {
|
|
129
|
+
await verifyMcpCredential(mcp, apiKey);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
if (isUnauthorized(error)) {
|
|
133
|
+
throw new Error(`${plugin.name} did not accept that key. Check it and try again.`);
|
|
134
|
+
}
|
|
135
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
136
|
+
throw new Error(`Could not reach ${plugin.name} to check that key: ${reason}`);
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
}
|
|
140
|
+
: {}),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
111
143
|
return defineAgentPlugin({
|
|
112
144
|
...plugin,
|
|
113
145
|
connection,
|
|
114
|
-
// Spawning a stdio server just to check a key is too slow for a save button.
|
|
115
|
-
...(!oauth && isHttpTransport(mcp)
|
|
116
|
-
? {
|
|
117
|
-
async verifyConnection({ credential }) {
|
|
118
|
-
try {
|
|
119
|
-
await verifyMcpCredential(mcp, credential);
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
const reason = error instanceof Error ? error.message : String(error);
|
|
123
|
-
throw new Error(`${plugin.name} did not accept that key: ${reason}`);
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
}
|
|
127
|
-
: {}),
|
|
128
146
|
models: models ?? { providers: ['openai'], default: defaultModel },
|
|
129
147
|
async run(args) {
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
return `${plugin.name} needs a newer OpenBot runtime to sign in. Update the runtime and try again.`;
|
|
135
|
-
}
|
|
136
|
-
const apiKey = secret ? lookupSecret({ ...secret, env: runEnv }) : '';
|
|
137
|
-
if (secret && !apiKey) {
|
|
138
|
-
return missingSecretMessage(secret.envKeys[0] ?? 'API_KEY', secret.docsUrl);
|
|
148
|
+
const account = args.context.connection;
|
|
149
|
+
// The host resolves the connection before `run`; a runtime that does not is too old.
|
|
150
|
+
if (!account) {
|
|
151
|
+
return `${plugin.name} needs a newer OpenBot runtime. Update the runtime and try again.`;
|
|
139
152
|
}
|
|
140
153
|
if (!hasLlmAuth('openai'))
|
|
141
154
|
return llmAuthNotConfiguredMessage();
|
|
@@ -152,14 +165,15 @@ export async function defineMcpAgent(definition) {
|
|
|
152
165
|
}
|
|
153
166
|
return runMcpTurn({
|
|
154
167
|
mcp,
|
|
155
|
-
apiKey: apiKey
|
|
156
|
-
authProvider,
|
|
168
|
+
apiKey: account.kind === 'apiKey' ? account.apiKey : '',
|
|
169
|
+
authProvider: account.kind === 'oauth' ? account.authProvider : undefined,
|
|
157
170
|
model: readConfigModel(args.context.config, defaultModel),
|
|
158
171
|
system,
|
|
159
172
|
prompt,
|
|
160
173
|
maxSteps,
|
|
174
|
+
allowedTools,
|
|
161
175
|
groupId: `${plugin.name}:tools`,
|
|
162
|
-
processEnv:
|
|
176
|
+
processEnv: args.context.env ?? process.env,
|
|
163
177
|
});
|
|
164
178
|
},
|
|
165
179
|
mapError: plugin.mapError ?? ((error) => ({
|
package/dist/mcp-agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-agent.js","sourceRoot":"","sources":["../src/mcp-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAA4B,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,GAIlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-agent.js","sourceRoot":"","sources":["../src/mcp-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-oauth.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type OAuthClientInformation, type OAuthClientMetadata, type OAuthClientProvider, type OAuthTokens } from '@ai-sdk/mcp';
|
|
2
2
|
/**
|
|
3
3
|
* Where a provider keeps what must outlive one request. The client registration is shared
|
|
4
|
-
* by
|
|
5
|
-
* or the workspace).
|
|
4
|
+
* by everyone who connects the same service; tokens belong to one account.
|
|
6
5
|
*/
|
|
7
6
|
export type McpOAuthPersistence = {
|
|
8
7
|
loadClient(): Promise<OAuthClientInformation | undefined>;
|
package/dist/mcp-oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-oauth.d.ts","sourceRoot":"","sources":["../src/mcp-oauth.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAErB
|
|
1
|
+
{"version":3,"file":"mcp-oauth.d.ts","sourceRoot":"","sources":["../src/mcp-oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-oauth.js","sourceRoot":"","sources":["../src/mcp-oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,IAAI,GAKL,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-oauth.js","sourceRoot":"","sources":["../src/mcp-oauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keep only the allowed tools. Servers may list tools a token can still call even though
|
|
3
|
+
* its scopes were not granted, so this, not the scope list, is what limits an agent.
|
|
4
|
+
*/
|
|
5
|
+
export declare function pickTools<T>(tools: Record<string, T>, allowed?: string[]): Record<string, T>;
|
|
6
|
+
//# sourceMappingURL=mcp-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tools.d.ts","sourceRoot":"","sources":["../src/mcp-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAI5F"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keep only the allowed tools. Servers may list tools a token can still call even though
|
|
3
|
+
* its scopes were not granted, so this, not the scope list, is what limits an agent.
|
|
4
|
+
*/
|
|
5
|
+
export function pickTools(tools, allowed) {
|
|
6
|
+
if (!allowed)
|
|
7
|
+
return tools;
|
|
8
|
+
const allow = new Set(allowed);
|
|
9
|
+
return Object.fromEntries(Object.entries(tools).filter(([name]) => allow.has(name)));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=mcp-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../src/mcp-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAI,KAAwB,EAAE,OAAkB;IACvE,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -137,8 +137,8 @@ export interface PluginContext {
|
|
|
137
137
|
* inherit it from the run that started them; plugins cannot set it.
|
|
138
138
|
*/
|
|
139
139
|
actingUser?: ActingUser;
|
|
140
|
-
/**
|
|
141
|
-
|
|
140
|
+
/** The account the plugin's `connection` resolved to for this run. Set before `run`. */
|
|
141
|
+
connection?: ConnectedAccount;
|
|
142
142
|
}
|
|
143
143
|
export type WebhookHandlerArgs = {
|
|
144
144
|
event: WebhookEvent;
|
|
@@ -165,44 +165,64 @@ export type PluginWidgetResponseArgs = {
|
|
|
165
165
|
state: OpenBotState;
|
|
166
166
|
emit: (event: OpenBotEvent) => Promise<void>;
|
|
167
167
|
};
|
|
168
|
-
/** Where a connection's credential is kept: one person, one Space, or the whole workspace. */
|
|
169
|
-
export type ConnectionLevel = 'user' | 'space' | 'workspace';
|
|
170
|
-
export declare const CONNECTION_LEVELS: readonly ConnectionLevel[];
|
|
171
168
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
169
|
+
* Whose account a connection is.
|
|
170
|
+
* - `workspace`: one account every run in the workspace uses. Only owners connect it.
|
|
171
|
+
* - `personal`: each person connects their own; only runs they start use it.
|
|
175
172
|
*/
|
|
176
|
-
export type
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
173
|
+
export type ConnectionScope = 'workspace' | 'personal';
|
|
174
|
+
type ConnectionBase = {
|
|
175
|
+
/**
|
|
176
|
+
* The service, e.g. `stripe`: lowercase letters, digits and dashes. Plugins that name
|
|
177
|
+
* the same id share one account.
|
|
178
|
+
*/
|
|
179
|
+
id: string;
|
|
180
|
+
scope: ConnectionScope;
|
|
181
|
+
/** Shown on the connect card, e.g. "Linear API key". Defaults to "<name> API key" or "<name> account". */
|
|
183
182
|
label?: string;
|
|
184
|
-
/** Where to get a key. */
|
|
183
|
+
/** Where to get a key, or what the account is. */
|
|
185
184
|
docsUrl?: string;
|
|
186
|
-
|
|
187
|
-
|
|
185
|
+
};
|
|
186
|
+
/** A pasted key. The run gets it as `context.connection.apiKey`. */
|
|
187
|
+
export type ApiKeyConnection = ConnectionBase & {
|
|
188
|
+
kind: 'apiKey';
|
|
189
|
+
/**
|
|
190
|
+
* Read from the runtime host's own environment when nothing is connected, for
|
|
191
|
+
* self-hosted runtimes. Workspace variables do not count.
|
|
192
|
+
*/
|
|
193
|
+
envKey?: string;
|
|
194
|
+
/** One real call before the key is saved. Throw a user-facing message when it does not work. */
|
|
195
|
+
verify?: (apiKey: string) => Promise<void>;
|
|
188
196
|
};
|
|
189
197
|
/**
|
|
190
198
|
* Sign-in to an MCP server that follows the MCP authorization spec. The host runs the
|
|
191
|
-
* browser flow and keeps the tokens; the run gets
|
|
199
|
+
* browser flow and keeps the tokens; the run gets `context.connection.authProvider`.
|
|
192
200
|
*/
|
|
193
|
-
export type OAuthConnection = {
|
|
201
|
+
export type OAuthConnection = ConnectionBase & {
|
|
194
202
|
kind: 'oauth';
|
|
195
203
|
/** The MCP server to sign in to. */
|
|
196
204
|
mcpUrl: string;
|
|
197
205
|
/** Scopes to ask for. Ask for what the agent needs, not everything the server offers. */
|
|
198
206
|
scopes?: string[];
|
|
199
|
-
/** Shown on the connect card, e.g. "Apollo account". Defaults to "<name> account". */
|
|
200
|
-
label?: string;
|
|
201
|
-
docsUrl?: string;
|
|
202
|
-
levels?: ConnectionLevel[];
|
|
203
207
|
};
|
|
204
|
-
/**
|
|
205
|
-
|
|
208
|
+
/**
|
|
209
|
+
* An account a plugin needs before it can run. The host owns the whole flow: it finds
|
|
210
|
+
* the credential before `run`, shows the connect card when it is missing, and hands it to
|
|
211
|
+
* the run as `context.connection`. Plugins never ask for, store or read keys themselves.
|
|
212
|
+
*/
|
|
213
|
+
export type PluginConnection = ApiKeyConnection | OAuthConnection;
|
|
214
|
+
/** True for a usable connection id: lowercase letters, digits and inner dashes, at most 64. */
|
|
215
|
+
export declare function isConnectionId(value: unknown): value is string;
|
|
216
|
+
/** The credential a run gets for its plugin's connection. */
|
|
217
|
+
export type ConnectedAccount = {
|
|
218
|
+
kind: 'apiKey';
|
|
219
|
+
apiKey: string;
|
|
220
|
+
} | {
|
|
221
|
+
kind: 'oauth';
|
|
222
|
+
authProvider: OAuthClientProvider;
|
|
223
|
+
};
|
|
224
|
+
/** The run's API key, or undefined when its connection is not a key (or there is none). */
|
|
225
|
+
export declare function connectedApiKey(context: Pick<PluginContext, 'connection'>): string | undefined;
|
|
206
226
|
/**
|
|
207
227
|
* Plugin contract expected by the OpenBot host.
|
|
208
228
|
* A plugin owns `run` (harness / LLM loop), `tools` with `execute`, and/or webhook hooks.
|
|
@@ -224,15 +244,9 @@ export interface Plugin {
|
|
|
224
244
|
mapError?: (error: unknown, args: PluginRunArgs) => unknown;
|
|
225
245
|
/** The account this plugin needs. Without it the host does not call `run`. */
|
|
226
246
|
connection?: PluginConnection;
|
|
227
|
-
/**
|
|
228
|
-
* Check a credential before the host saves it, e.g. by making one real call.
|
|
229
|
-
* Throw with a user-facing message when it does not work.
|
|
230
|
-
*/
|
|
231
|
-
verifyConnection?: (args: {
|
|
232
|
-
credential: string;
|
|
233
|
-
}) => Promise<void>;
|
|
234
247
|
}
|
|
235
248
|
export type PluginModule = Omit<Plugin, 'id'>;
|
|
236
249
|
export declare function definePlugin<T extends PluginModule>(definition: T): T;
|
|
237
250
|
export declare function definePlugin<T extends Plugin>(definition: T): T;
|
|
251
|
+
export {};
|
|
238
252
|
//# sourceMappingURL=plugin.d.ts.map
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
export function
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
const CONNECTION_ID = /^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/;
|
|
2
|
+
/** True for a usable connection id: lowercase letters, digits and inner dashes, at most 64. */
|
|
3
|
+
export function isConnectionId(value) {
|
|
4
|
+
return typeof value === 'string' && CONNECTION_ID.test(value);
|
|
5
|
+
}
|
|
6
|
+
/** The run's API key, or undefined when its connection is not a key (or there is none). */
|
|
7
|
+
export function connectedApiKey(context) {
|
|
8
|
+
return context.connection?.kind === 'apiKey' ? context.connection.apiKey : undefined;
|
|
6
9
|
}
|
|
7
10
|
export function definePlugin(definition) {
|
|
8
11
|
return definition;
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AA6OA,MAAM,aAAa,GAAG,wCAAwC,CAAC;AAE/D,+FAA+F;AAC/F,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAOD,2FAA2F;AAC3F,MAAM,UAAU,eAAe,CAAC,OAA0C;IACxE,OAAO,OAAO,CAAC,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AA6BD,MAAM,UAAU,YAAY,CAAkC,UAAa;IACzE,OAAO,UAAU,CAAC;AACpB,CAAC"}
|