@assemblyline-agents/core 1.0.0 → 3.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/LICENSE +1 -1
- package/dist/adapter-metadata.d.ts.map +1 -1
- package/dist/adapter-metadata.js +94 -36
- package/dist/adapter-metadata.js.map +1 -1
- package/dist/agent-capabilities.d.ts +34 -0
- package/dist/agent-capabilities.d.ts.map +1 -0
- package/dist/agent-capabilities.js +50 -0
- package/dist/agent-capabilities.js.map +1 -0
- package/dist/agent-definition.d.ts +43 -0
- package/dist/agent-definition.d.ts.map +1 -0
- package/dist/agent-definition.js +4 -0
- package/dist/agent-definition.js.map +1 -0
- package/dist/agent-hooks.d.ts +60 -0
- package/dist/agent-hooks.d.ts.map +1 -0
- package/dist/agent-hooks.js +198 -0
- package/dist/agent-hooks.js.map +1 -0
- package/dist/agent-state.d.ts +18 -0
- package/dist/agent-state.d.ts.map +1 -0
- package/dist/agent-state.js +2 -0
- package/dist/agent-state.js.map +1 -0
- package/dist/artifact-dir.d.ts +1 -7
- package/dist/artifact-dir.d.ts.map +1 -1
- package/dist/artifact-dir.js +3 -12
- package/dist/artifact-dir.js.map +1 -1
- package/dist/audience.d.ts +16 -0
- package/dist/audience.d.ts.map +1 -0
- package/dist/audience.js +2 -0
- package/dist/audience.js.map +1 -0
- package/dist/brand.d.ts +2 -17
- package/dist/brand.d.ts.map +1 -1
- package/dist/brand.js +2 -17
- package/dist/brand.js.map +1 -1
- package/dist/connection-auth.d.ts.map +1 -1
- package/dist/connection-auth.js +17 -2
- package/dist/connection-auth.js.map +1 -1
- package/dist/connection-events.d.ts +35 -0
- package/dist/connection-events.d.ts.map +1 -0
- package/dist/connection-events.js +131 -0
- package/dist/connection-events.js.map +1 -0
- package/dist/connection-types.d.ts +240 -6
- package/dist/connection-types.d.ts.map +1 -1
- package/dist/connection-types.js +8 -1
- package/dist/connection-types.js.map +1 -1
- package/dist/definitions.d.ts +11 -43
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +60 -14
- package/dist/definitions.js.map +1 -1
- package/dist/deploy-secrets.d.ts +16 -0
- package/dist/deploy-secrets.d.ts.map +1 -0
- package/dist/deploy-secrets.js +43 -0
- package/dist/deploy-secrets.js.map +1 -0
- package/dist/deploy.d.ts +17 -5
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js.map +1 -1
- package/dist/harness.d.ts +40 -2
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +84 -41
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -2
- package/dist/index.js.map +1 -1
- package/dist/manifest-types.d.ts +138 -22
- package/dist/manifest-types.d.ts.map +1 -1
- package/dist/model-metadata.d.ts +33 -0
- package/dist/model-metadata.d.ts.map +1 -0
- package/dist/model-metadata.js +13 -0
- package/dist/model-metadata.js.map +1 -0
- package/dist/plugin-connection-factories.d.ts +31 -0
- package/dist/plugin-connection-factories.d.ts.map +1 -0
- package/dist/plugin-connection-factories.js +416 -0
- package/dist/plugin-connection-factories.js.map +1 -0
- package/dist/plugin-contract.d.ts +161 -0
- package/dist/plugin-contract.d.ts.map +1 -0
- package/dist/plugin-contract.js +52 -0
- package/dist/plugin-contract.js.map +1 -0
- package/dist/plugin.d.ts +5 -126
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +863 -369
- package/dist/plugin.js.map +1 -1
- package/dist/resource-types.d.ts +1 -1
- package/dist/resource-types.d.ts.map +1 -1
- package/dist/sandbox-file-metadata.d.ts +9 -0
- package/dist/sandbox-file-metadata.d.ts.map +1 -0
- package/dist/sandbox-file-metadata.js +33 -0
- package/dist/sandbox-file-metadata.js.map +1 -0
- package/dist/sandbox-filesystem-contract.d.ts +9 -9
- package/dist/sandbox-filesystem-contract.d.ts.map +1 -1
- package/dist/sandbox-filesystem-contract.js +31 -29
- package/dist/sandbox-filesystem-contract.js.map +1 -1
- package/dist/sandbox-paths.d.ts +1 -1
- package/dist/sandbox-paths.d.ts.map +1 -1
- package/dist/sandbox-paths.js +1 -1
- package/dist/sandbox-paths.js.map +1 -1
- package/dist/sandbox-security.d.ts +0 -3
- package/dist/sandbox-security.d.ts.map +1 -1
- package/dist/sandbox-security.js +7 -12
- package/dist/sandbox-security.js.map +1 -1
- package/dist/sandbox-types.d.ts +74 -3
- package/dist/sandbox-types.d.ts.map +1 -1
- package/dist/sandbox-types.js +13 -1
- package/dist/sandbox-types.js.map +1 -1
- package/dist/secrets-types.d.ts +25 -0
- package/dist/secrets-types.d.ts.map +1 -0
- package/dist/secrets-types.js +22 -0
- package/dist/secrets-types.js.map +1 -0
- package/dist/skill-bundles.d.ts +14 -0
- package/dist/skill-bundles.d.ts.map +1 -0
- package/dist/skill-bundles.js +85 -0
- package/dist/skill-bundles.js.map +1 -0
- package/dist/tool-wire-name.d.ts +8 -0
- package/dist/tool-wire-name.d.ts.map +1 -0
- package/dist/tool-wire-name.js +26 -0
- package/dist/tool-wire-name.js.map +1 -0
- package/package.json +1 -1
- package/dist/env-alias.d.ts +0 -38
- package/dist/env-alias.d.ts.map +0 -1
- package/dist/env-alias.js +0 -82
- package/dist/env-alias.js.map +0 -1
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
import { PLUGIN_EXPORT_NAME } from "./brand.js";
|
|
2
|
+
import { defineA2AClientConnection, defineHttpApiConnection, defineMcpClientConnection, defineMcpRelayConnection, defineMcpStdioConnection, defineOpenAPIConnection, defineSandboxCliConnection, defineSdkApiConnection } from "./definitions.js";
|
|
3
|
+
export function definePlugin(module) {
|
|
4
|
+
return module;
|
|
5
|
+
}
|
|
6
|
+
/** Reads the `assemblyLinePlugin` export from a dynamically imported module namespace. */
|
|
7
|
+
export function pluginModuleFromImport(imported) {
|
|
8
|
+
const candidates = [imported, imported?.default];
|
|
9
|
+
for (const candidate of candidates) {
|
|
10
|
+
if (!candidate || typeof candidate !== "object")
|
|
11
|
+
continue;
|
|
12
|
+
const value = candidate[PLUGIN_EXPORT_NAME];
|
|
13
|
+
if (isPluginModule(value))
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Provider packages use this factory instead of implementing transport or
|
|
20
|
+
* credential plumbing. The developer still owns the provider application,
|
|
21
|
+
* token/OAuth grant, and any required MCP bridge.
|
|
22
|
+
*/
|
|
23
|
+
export function defineMcpPluginConnection(plugin, options) {
|
|
24
|
+
if (plugin.protocol !== "mcp") {
|
|
25
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} does not use MCP; choose the factory for protocol ${plugin.protocol}.`);
|
|
26
|
+
}
|
|
27
|
+
if ((plugin.transport ?? "http") !== "http") {
|
|
28
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} uses stdio; call defineStdioMcpPluginConnection instead.`);
|
|
29
|
+
}
|
|
30
|
+
validatePluginAccess(plugin, options.access);
|
|
31
|
+
const url = options.url ?? environmentValue(plugin.urlEnv) ?? plugin.defaultUrl;
|
|
32
|
+
if (!url)
|
|
33
|
+
throw new Error(`${plugin.helper}: set ${plugin.urlEnv ?? "a connection URL"} or pass url.`);
|
|
34
|
+
const definition = {
|
|
35
|
+
transport: "http",
|
|
36
|
+
url,
|
|
37
|
+
description: options.description ?? plugin.description,
|
|
38
|
+
access: pluginAccessDefinition(plugin, options.access),
|
|
39
|
+
required: options.required ?? true,
|
|
40
|
+
subject: options.subject ?? plugin.subject ?? "workspace",
|
|
41
|
+
metadata: {
|
|
42
|
+
provider: plugin.provider,
|
|
43
|
+
plugin: plugin.packageName ?? plugin.provider,
|
|
44
|
+
...(options.metadata ?? {})
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const auth = options.auth === false || plugin.tokenHeader
|
|
48
|
+
? (options.auth === false ? undefined : options.auth)
|
|
49
|
+
: options.auth ?? (plugin.tokenRequired === false ? undefined : tokenAuth(plugin.tokenEnv));
|
|
50
|
+
if (auth)
|
|
51
|
+
definition.auth = auth;
|
|
52
|
+
const tokenHeaders = options.auth === undefined && plugin.tokenHeader
|
|
53
|
+
? tokenHeader(plugin.tokenHeader, plugin.tokenEnv)
|
|
54
|
+
: undefined;
|
|
55
|
+
const headers = mergeHeaders(tokenHeaders, options.headers);
|
|
56
|
+
if (headers)
|
|
57
|
+
definition.headers = headers;
|
|
58
|
+
const tools = combineToolFilters(plugin.tools, options.tools);
|
|
59
|
+
if (tools)
|
|
60
|
+
definition.tools = tools;
|
|
61
|
+
return defineMcpClientConnection(definition);
|
|
62
|
+
}
|
|
63
|
+
export function defineA2APluginConnection(plugin, options) {
|
|
64
|
+
if (plugin.protocol !== "a2a") {
|
|
65
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} is not an A2A plugin.`);
|
|
66
|
+
}
|
|
67
|
+
validatePluginAccess(plugin, options.access);
|
|
68
|
+
const definition = {
|
|
69
|
+
agentCardUrl: options.agentCardUrl,
|
|
70
|
+
description: options.description ?? plugin.description,
|
|
71
|
+
access: pluginAccessDefinition(plugin, options.access),
|
|
72
|
+
required: options.required ?? true,
|
|
73
|
+
subject: options.subject ?? plugin.subject ?? "environment",
|
|
74
|
+
metadata: {
|
|
75
|
+
provider: plugin.provider,
|
|
76
|
+
plugin: plugin.packageName ?? plugin.provider,
|
|
77
|
+
...(options.metadata ?? {})
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
if (options.auth !== false && options.auth)
|
|
81
|
+
definition.auth = options.auth;
|
|
82
|
+
if (options.headers)
|
|
83
|
+
definition.headers = options.headers;
|
|
84
|
+
const skills = combineToolFilters(plugin.tools, options.skills);
|
|
85
|
+
if (skills)
|
|
86
|
+
definition.skills = skills;
|
|
87
|
+
if (options.allowedOrigins)
|
|
88
|
+
definition.allowedOrigins = [...options.allowedOrigins];
|
|
89
|
+
return defineA2AClientConnection(definition);
|
|
90
|
+
}
|
|
91
|
+
export function defineStdioMcpPluginConnection(plugin, options) {
|
|
92
|
+
if (plugin.protocol !== "mcp" || plugin.transport !== "stdio") {
|
|
93
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} uses HTTP; call defineMcpPluginConnection instead.`);
|
|
94
|
+
}
|
|
95
|
+
validatePluginAccess(plugin, options.access);
|
|
96
|
+
const definition = {
|
|
97
|
+
transport: "stdio",
|
|
98
|
+
command: options.command,
|
|
99
|
+
...(options.args ? { args: [...options.args] } : {}),
|
|
100
|
+
...(options.cwd ? { cwd: options.cwd } : {}),
|
|
101
|
+
...(options.env ? { env: { ...options.env } } : {}),
|
|
102
|
+
description: options.description ?? plugin.description,
|
|
103
|
+
access: pluginAccessDefinition(plugin, options.access),
|
|
104
|
+
required: options.required ?? true,
|
|
105
|
+
subject: options.subject ?? plugin.subject ?? "environment",
|
|
106
|
+
metadata: {
|
|
107
|
+
provider: plugin.provider,
|
|
108
|
+
plugin: plugin.packageName ?? plugin.provider,
|
|
109
|
+
...(options.metadata ?? {})
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
const tools = combineToolFilters(plugin.tools, options.tools);
|
|
113
|
+
if (tools)
|
|
114
|
+
definition.tools = tools;
|
|
115
|
+
return defineMcpStdioConnection(definition);
|
|
116
|
+
}
|
|
117
|
+
export function defineRelayMcpPluginConnection(plugin, options) {
|
|
118
|
+
if (plugin.protocol !== "mcp" || plugin.transport !== "relay") {
|
|
119
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} does not use the Assembly Line relay transport.`);
|
|
120
|
+
}
|
|
121
|
+
validatePluginAccess(plugin, options.access);
|
|
122
|
+
const url = options.url ?? environmentValue(plugin.urlEnv) ?? plugin.defaultUrl;
|
|
123
|
+
if (!url)
|
|
124
|
+
throw new Error(`${plugin.helper}: set ${plugin.urlEnv ?? "a relay URL"} or pass url.`);
|
|
125
|
+
const credentialEnv = options.credentialEnv ?? plugin.credentialEnv;
|
|
126
|
+
if (!credentialEnv)
|
|
127
|
+
throw new Error(`${plugin.helper}: relay metadata must declare credentialEnv.`);
|
|
128
|
+
const definition = {
|
|
129
|
+
transport: "relay",
|
|
130
|
+
url,
|
|
131
|
+
credentialEnv,
|
|
132
|
+
...(options.timeoutMs !== undefined ? { timeoutMs: options.timeoutMs } : {}),
|
|
133
|
+
description: options.description ?? plugin.description,
|
|
134
|
+
access: pluginAccessDefinition(plugin, options.access),
|
|
135
|
+
required: options.required ?? true,
|
|
136
|
+
subject: options.subject ?? plugin.subject ?? "environment",
|
|
137
|
+
metadata: {
|
|
138
|
+
provider: plugin.provider,
|
|
139
|
+
plugin: plugin.packageName ?? plugin.provider,
|
|
140
|
+
...(options.metadata ?? {})
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
const tools = combineToolFilters(plugin.tools, options.tools);
|
|
144
|
+
if (tools)
|
|
145
|
+
definition.tools = tools;
|
|
146
|
+
return defineMcpRelayConnection(definition);
|
|
147
|
+
}
|
|
148
|
+
/** Build a direct HTTP API connection from a provider's reviewed OpenAPI metadata. */
|
|
149
|
+
export function defineOpenAPIPluginConnection(plugin, options) {
|
|
150
|
+
if (plugin.protocol !== "openapi") {
|
|
151
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} does not use OpenAPI; choose the factory for protocol ${plugin.protocol}.`);
|
|
152
|
+
}
|
|
153
|
+
validatePluginAccess(plugin, options.access);
|
|
154
|
+
const spec = options.spec ?? environmentValue(plugin.specEnv) ?? plugin.defaultSpec;
|
|
155
|
+
if (!spec)
|
|
156
|
+
throw new Error(`${plugin.helper}: set ${plugin.specEnv ?? "an OpenAPI specification"} or pass spec.`);
|
|
157
|
+
const baseUrl = options.baseUrl ?? environmentValue(plugin.baseUrlEnv) ?? plugin.defaultBaseUrl;
|
|
158
|
+
const definition = {
|
|
159
|
+
spec,
|
|
160
|
+
...(baseUrl ? { baseUrl } : {}),
|
|
161
|
+
description: options.description ?? plugin.description,
|
|
162
|
+
access: pluginAccessDefinition(plugin, options.access),
|
|
163
|
+
required: options.required ?? true,
|
|
164
|
+
subject: options.subject ?? plugin.subject ?? "workspace",
|
|
165
|
+
metadata: {
|
|
166
|
+
provider: plugin.provider,
|
|
167
|
+
plugin: plugin.packageName ?? plugin.provider,
|
|
168
|
+
...(options.metadata ?? {})
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
const auth = options.auth === false
|
|
172
|
+
? undefined
|
|
173
|
+
: options.auth ?? (plugin.tokenRequired === false ? undefined : tokenAuth(plugin.tokenEnv));
|
|
174
|
+
if (auth)
|
|
175
|
+
definition.auth = auth;
|
|
176
|
+
if (options.headers)
|
|
177
|
+
definition.headers = options.headers;
|
|
178
|
+
const operations = combineToolFilters(plugin.tools, options.operations);
|
|
179
|
+
if (operations)
|
|
180
|
+
definition.operations = operations;
|
|
181
|
+
return defineOpenAPIConnection(definition);
|
|
182
|
+
}
|
|
183
|
+
/** Build a direct HTTP API connection from a provider's reviewed operation list. */
|
|
184
|
+
export function defineHttpApiPluginConnection(plugin, options) {
|
|
185
|
+
if (plugin.protocol !== "http") {
|
|
186
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} does not use the direct HTTP API transport.`);
|
|
187
|
+
}
|
|
188
|
+
validatePluginAccess(plugin, options.access);
|
|
189
|
+
const baseUrl = options.baseUrl ?? environmentValue(plugin.baseUrlEnv) ?? plugin.defaultBaseUrl;
|
|
190
|
+
if (!baseUrl)
|
|
191
|
+
throw new Error(`${plugin.helper}: set ${plugin.baseUrlEnv ?? "an API base URL"} or pass baseUrl.`);
|
|
192
|
+
const definition = {
|
|
193
|
+
baseUrl,
|
|
194
|
+
description: options.description ?? plugin.description,
|
|
195
|
+
operations: [...options.operations],
|
|
196
|
+
access: pluginAccessDefinition(plugin, options.access),
|
|
197
|
+
required: options.required ?? true,
|
|
198
|
+
subject: options.subject ?? plugin.subject ?? "workspace",
|
|
199
|
+
metadata: {
|
|
200
|
+
provider: plugin.provider,
|
|
201
|
+
plugin: plugin.packageName ?? plugin.provider,
|
|
202
|
+
...(options.metadata ?? {})
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
const auth = options.auth === false
|
|
206
|
+
? undefined
|
|
207
|
+
: options.auth ?? (plugin.tokenRequired === false ? undefined : tokenAuth(plugin.tokenEnv));
|
|
208
|
+
if (auth)
|
|
209
|
+
definition.auth = auth;
|
|
210
|
+
if (options.headers)
|
|
211
|
+
definition.headers = options.headers;
|
|
212
|
+
const operationFilter = combineToolFilters(plugin.tools, options.operationFilter);
|
|
213
|
+
if (operationFilter)
|
|
214
|
+
definition.operationFilter = operationFilter;
|
|
215
|
+
return defineHttpApiConnection(definition);
|
|
216
|
+
}
|
|
217
|
+
/** Build an in-process API connection backed by an official provider SDK. */
|
|
218
|
+
export function defineSdkApiPluginConnection(plugin, options) {
|
|
219
|
+
if (plugin.protocol !== "sdk") {
|
|
220
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} does not use a direct provider SDK.`);
|
|
221
|
+
}
|
|
222
|
+
validatePluginAccess(plugin, options.access);
|
|
223
|
+
const definition = {
|
|
224
|
+
description: options.description ?? plugin.description,
|
|
225
|
+
operations: [...options.operations],
|
|
226
|
+
execute: options.execute,
|
|
227
|
+
access: pluginAccessDefinition(plugin, options.access),
|
|
228
|
+
required: options.required ?? true,
|
|
229
|
+
subject: options.subject ?? plugin.subject ?? "environment",
|
|
230
|
+
metadata: {
|
|
231
|
+
provider: plugin.provider,
|
|
232
|
+
plugin: plugin.packageName ?? plugin.provider,
|
|
233
|
+
...(options.metadata ?? {})
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
const operationFilter = combineToolFilters(plugin.tools, options.tools);
|
|
237
|
+
if (operationFilter)
|
|
238
|
+
definition.operationFilter = operationFilter;
|
|
239
|
+
if (options.close)
|
|
240
|
+
definition.close = options.close;
|
|
241
|
+
return defineSdkApiConnection(definition);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Build a connection whose reviewed operations run through a provider CLI in
|
|
245
|
+
* the agent sandbox rather than on the Assembly Line gateway host.
|
|
246
|
+
*/
|
|
247
|
+
export function defineSandboxCliPluginConnection(plugin, options) {
|
|
248
|
+
if (plugin.protocol !== "cli" || plugin.transport !== "sandbox") {
|
|
249
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} does not use the sandbox CLI transport.`);
|
|
250
|
+
}
|
|
251
|
+
validatePluginAccess(plugin, options.access);
|
|
252
|
+
const command = options.command ?? plugin.command;
|
|
253
|
+
if (!command)
|
|
254
|
+
throw new Error(`${plugin.helper}: sandbox CLI metadata must declare command.`);
|
|
255
|
+
return defineSandboxCliConnection({
|
|
256
|
+
transport: "sandbox",
|
|
257
|
+
command,
|
|
258
|
+
description: options.description ?? plugin.description,
|
|
259
|
+
tools: options.tools,
|
|
260
|
+
access: pluginAccessDefinition(plugin, options.access),
|
|
261
|
+
...(options.auth ? { auth: options.auth } : {}),
|
|
262
|
+
...(options.maxOutputChars !== undefined ? { maxOutputChars: options.maxOutputChars } : {}),
|
|
263
|
+
required: options.required ?? true,
|
|
264
|
+
subject: options.subject ?? plugin.subject ?? "environment",
|
|
265
|
+
metadata: {
|
|
266
|
+
provider: plugin.provider,
|
|
267
|
+
plugin: plugin.packageName ?? plugin.provider,
|
|
268
|
+
...(options.metadata ?? {})
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
function validatePluginAccess(plugin, access) {
|
|
273
|
+
if (typeof access === "string") {
|
|
274
|
+
if (access !== "approval-required" && access !== "read-only" && access !== "autonomous") {
|
|
275
|
+
throw new Error(`${plugin.helper}: access must be approval-required, read-only, autonomous, or a custom policy.`);
|
|
276
|
+
}
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
if (access === undefined)
|
|
280
|
+
return;
|
|
281
|
+
if (access.write !== false && plugin.writeToolPatterns.length === 0) {
|
|
282
|
+
throw new Error(`${plugin.helper}: ${plugin.provider} is a read-only plugin and cannot enable writes.`);
|
|
283
|
+
}
|
|
284
|
+
if (access.write !== false) {
|
|
285
|
+
for (const override of access.write.approvalOverrides ?? []) {
|
|
286
|
+
if (!Array.isArray(override.tools) || override.tools.length === 0) {
|
|
287
|
+
throw new Error(`${plugin.helper}: write approval overrides must include at least one tool pattern.`);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
function pluginAccessDefinition(plugin, selection) {
|
|
293
|
+
const access = resolvedPluginAccess(plugin, selection);
|
|
294
|
+
return {
|
|
295
|
+
read: { tools: [...plugin.readToolPatterns] },
|
|
296
|
+
write: access.write === false
|
|
297
|
+
? false
|
|
298
|
+
: {
|
|
299
|
+
tools: [...plugin.writeToolPatterns],
|
|
300
|
+
approval: normalizePluginApproval(access.write.approval),
|
|
301
|
+
...(access.write.approvalOverrides?.length
|
|
302
|
+
? {
|
|
303
|
+
approvalOverrides: access.write.approvalOverrides.map((override) => ({
|
|
304
|
+
tools: [...override.tools],
|
|
305
|
+
approval: normalizePluginApproval(override.approval)
|
|
306
|
+
}))
|
|
307
|
+
}
|
|
308
|
+
: {})
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function resolvedPluginAccess(plugin, selection) {
|
|
313
|
+
const preset = selection ?? "autonomous";
|
|
314
|
+
if (typeof preset !== "string")
|
|
315
|
+
return preset;
|
|
316
|
+
if (preset === "read-only" || plugin.writeToolPatterns.length === 0) {
|
|
317
|
+
return { read: true, write: false };
|
|
318
|
+
}
|
|
319
|
+
return {
|
|
320
|
+
read: true,
|
|
321
|
+
write: { approval: preset === "autonomous" ? "never" : "always" }
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
function tokenAuth(tokenEnv) {
|
|
325
|
+
if (!tokenEnv)
|
|
326
|
+
return undefined;
|
|
327
|
+
return ({ env }) => ({
|
|
328
|
+
// One deployment environment variable is one deployment-owned credential.
|
|
329
|
+
// Per-user credentials must use an OAuth/custom auth definition instead.
|
|
330
|
+
principalType: "app",
|
|
331
|
+
displayName: `${tokenEnv} bearer token`,
|
|
332
|
+
getToken: async () => {
|
|
333
|
+
const token = env[tokenEnv]?.trim();
|
|
334
|
+
if (!token)
|
|
335
|
+
throw new Error(`Missing ${tokenEnv}. Configure the provider credential or pass a custom auth definition.`);
|
|
336
|
+
return { token };
|
|
337
|
+
}
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
function environmentValue(name) {
|
|
341
|
+
if (!name || typeof process === "undefined")
|
|
342
|
+
return undefined;
|
|
343
|
+
return process.env[name]?.trim() || undefined;
|
|
344
|
+
}
|
|
345
|
+
function tokenHeader(name, tokenEnv) {
|
|
346
|
+
if (!tokenEnv)
|
|
347
|
+
return undefined;
|
|
348
|
+
return ({ env }) => {
|
|
349
|
+
const token = env[tokenEnv]?.trim();
|
|
350
|
+
if (!token)
|
|
351
|
+
throw new Error(`Missing ${tokenEnv}. Configure the provider credential or pass custom headers.`);
|
|
352
|
+
return { [name]: token };
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
function mergeHeaders(first, second) {
|
|
356
|
+
if (!first)
|
|
357
|
+
return second;
|
|
358
|
+
if (!second)
|
|
359
|
+
return first;
|
|
360
|
+
return async (context) => ({
|
|
361
|
+
...(await resolveHeaders(first, context)),
|
|
362
|
+
...(await resolveHeaders(second, context))
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
async function resolveHeaders(definition, context) {
|
|
366
|
+
if (typeof definition === "function")
|
|
367
|
+
return definition(context);
|
|
368
|
+
const resolved = {};
|
|
369
|
+
for (const [name, value] of Object.entries(definition)) {
|
|
370
|
+
resolved[name] = await resolveHeaderValue(value, context);
|
|
371
|
+
}
|
|
372
|
+
return resolved;
|
|
373
|
+
}
|
|
374
|
+
async function resolveHeaderValue(value, context) {
|
|
375
|
+
return typeof value === "function" ? value(context) : value;
|
|
376
|
+
}
|
|
377
|
+
function cloneToolFilter(filter) {
|
|
378
|
+
if (!filter)
|
|
379
|
+
return undefined;
|
|
380
|
+
if ("allow" in filter)
|
|
381
|
+
return { allow: [...filter.allow] };
|
|
382
|
+
if ("block" in filter)
|
|
383
|
+
return { block: [...filter.block] };
|
|
384
|
+
return { allOf: filter.allOf.map((child) => cloneToolFilter(child)) };
|
|
385
|
+
}
|
|
386
|
+
function combineToolFilters(pluginFilter, developerFilter) {
|
|
387
|
+
const plugin = cloneToolFilter(pluginFilter);
|
|
388
|
+
const developer = cloneToolFilter(developerFilter);
|
|
389
|
+
if (!plugin)
|
|
390
|
+
return developer;
|
|
391
|
+
if (!developer)
|
|
392
|
+
return plugin;
|
|
393
|
+
return { allOf: [plugin, developer] };
|
|
394
|
+
}
|
|
395
|
+
function normalizePluginApproval(approval) {
|
|
396
|
+
if (approval === "always" || approval === "once" || approval === "never")
|
|
397
|
+
return { mode: approval };
|
|
398
|
+
return approval;
|
|
399
|
+
}
|
|
400
|
+
function isPluginModule(value) {
|
|
401
|
+
if (!value || typeof value !== "object")
|
|
402
|
+
return false;
|
|
403
|
+
const module = value;
|
|
404
|
+
const connectionsValid = module.connections === undefined || (Array.isArray(module.connections) && module.connections.every((entry) => Boolean(entry) && entry.role === "connection" && typeof entry.kind === "string" && typeof entry.helper === "string"));
|
|
405
|
+
const toolPacksValid = module.toolPacks === undefined || (Array.isArray(module.toolPacks) && module.toolPacks.every((entry) => Boolean(entry)
|
|
406
|
+
&& entry.role === "tools"
|
|
407
|
+
&& typeof entry.kind === "string"
|
|
408
|
+
&& typeof entry.packageName === "string"
|
|
409
|
+
&& Array.isArray(entry.tools)
|
|
410
|
+
&& entry.tools.every((tool) => Boolean(tool) && typeof tool.name === "string" && typeof tool.helper === "string")));
|
|
411
|
+
return connectionsValid && toolPacksValid;
|
|
412
|
+
}
|
|
413
|
+
export function connectionPluginBinding(metadata) {
|
|
414
|
+
return { kind: metadata.kind };
|
|
415
|
+
}
|
|
416
|
+
//# sourceMappingURL=plugin-connection-factories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-connection-factories.js","sourceRoot":"","sources":["../src/plugin-connection-factories.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import type { AdapterProviderMetadata, JsonObject } from "./index.js";
|
|
2
|
+
import type { A2AConnectionDefinition, ConnectionApprovalDefinition, ConnectionAuthDefinition, ConnectionDefinition, ConnectionEventMode, ConnectionEventScope, ConnectionEventSelection, HeadersDefinition, HttpApiConnectionDefinition, HttpApiOperationDefinition, McpClientConnectionDefinition, OpenAPIConnectionDefinition, OpenAPISpecSource, SandboxCliConnectionDefinition, SandboxCliToolDefinition, SdkApiConnectionDefinition, SdkApiOperationDefinition, ToolFilterDefinition } from "./connection-types.js";
|
|
3
|
+
import type { ConnectionHostRequirements } from "./manifest-types.js";
|
|
4
|
+
export type ConnectionPluginAccessPreset = "approval-required" | "read-only" | "autonomous";
|
|
5
|
+
export interface ConnectionPluginApprovalOverride {
|
|
6
|
+
tools: string[];
|
|
7
|
+
approval: "always" | "once" | "never" | ConnectionApprovalDefinition;
|
|
8
|
+
}
|
|
9
|
+
/** Optional custom policy for a provider plugin's reviewed tool surface. */
|
|
10
|
+
export interface ConnectionPluginCustomAccessSelection {
|
|
11
|
+
read: true;
|
|
12
|
+
write: false | {
|
|
13
|
+
approval: "always" | "once" | "never" | ConnectionApprovalDefinition;
|
|
14
|
+
/** Ordered tool-specific approval rules. The last matching rule wins. */
|
|
15
|
+
approvalOverrides?: ConnectionPluginApprovalOverride[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/** Omit access for the fully enabled default; no approval surface is required. */
|
|
19
|
+
export type ConnectionPluginAccessSelection = ConnectionPluginAccessPreset | ConnectionPluginCustomAccessSelection;
|
|
20
|
+
/** Static metadata shared by the CLI, compiler, and a provider's helper. */
|
|
21
|
+
export interface ConnectionPluginMetadata extends AdapterProviderMetadata {
|
|
22
|
+
role: "connection";
|
|
23
|
+
helper: string;
|
|
24
|
+
protocol: "credential" | "mcp" | "a2a" | "openapi" | "http" | "sdk" | "cli";
|
|
25
|
+
transport?: "http" | "stdio" | "relay" | "sandbox";
|
|
26
|
+
provider: string;
|
|
27
|
+
description: string;
|
|
28
|
+
command?: string;
|
|
29
|
+
defaultUrl?: string;
|
|
30
|
+
urlEnv?: string;
|
|
31
|
+
defaultSpec?: string;
|
|
32
|
+
specEnv?: string;
|
|
33
|
+
defaultBaseUrl?: string;
|
|
34
|
+
baseUrlEnv?: string;
|
|
35
|
+
tokenEnv?: string;
|
|
36
|
+
tokenRequired?: boolean;
|
|
37
|
+
tokenHeader?: string;
|
|
38
|
+
credentialEnv?: string;
|
|
39
|
+
scopes?: string[];
|
|
40
|
+
subject?: NonNullable<ConnectionDefinition["subject"]>;
|
|
41
|
+
tools?: ToolFilterDefinition;
|
|
42
|
+
hostRequirements?: ConnectionHostRequirements;
|
|
43
|
+
readToolPatterns: string[];
|
|
44
|
+
writeToolPatterns: string[];
|
|
45
|
+
eventCatalog?: string[];
|
|
46
|
+
defaultEvents?: string[];
|
|
47
|
+
eventMode?: ConnectionEventMode;
|
|
48
|
+
eventScope?: ConnectionEventScope;
|
|
49
|
+
eventRequiredEnv?: string[];
|
|
50
|
+
}
|
|
51
|
+
export interface PluginModule {
|
|
52
|
+
connections?: ConnectionPluginMetadata[];
|
|
53
|
+
toolPacks?: ToolPackPluginMetadata[];
|
|
54
|
+
}
|
|
55
|
+
export interface ToolPackToolMetadata {
|
|
56
|
+
name: string;
|
|
57
|
+
helper: string;
|
|
58
|
+
description: string;
|
|
59
|
+
needsApproval?: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface ToolPackConfigMetadata {
|
|
62
|
+
path: string;
|
|
63
|
+
helper: string;
|
|
64
|
+
options?: JsonObject;
|
|
65
|
+
}
|
|
66
|
+
export interface ToolPackPluginMetadata {
|
|
67
|
+
kind: string;
|
|
68
|
+
role: "tools";
|
|
69
|
+
packageName: string;
|
|
70
|
+
description: string;
|
|
71
|
+
tools: ToolPackToolMetadata[];
|
|
72
|
+
config?: ToolPackConfigMetadata;
|
|
73
|
+
skills?: string[];
|
|
74
|
+
requiredEnv?: string[];
|
|
75
|
+
optionalEnv?: string[];
|
|
76
|
+
setup?: Array<{
|
|
77
|
+
kind: string;
|
|
78
|
+
name: string;
|
|
79
|
+
required: boolean;
|
|
80
|
+
message: string;
|
|
81
|
+
}>;
|
|
82
|
+
}
|
|
83
|
+
interface CommonPluginConnectionOptions {
|
|
84
|
+
description?: string;
|
|
85
|
+
tools?: ToolFilterDefinition;
|
|
86
|
+
access?: ConnectionPluginAccessSelection;
|
|
87
|
+
required?: boolean;
|
|
88
|
+
subject?: ConnectionDefinition["subject"];
|
|
89
|
+
events?: ConnectionEventSelection;
|
|
90
|
+
}
|
|
91
|
+
export interface McpPluginConnectionOptions extends CommonPluginConnectionOptions {
|
|
92
|
+
url?: string;
|
|
93
|
+
auth?: ConnectionAuthDefinition | false;
|
|
94
|
+
headers?: HeadersDefinition;
|
|
95
|
+
metadata?: McpClientConnectionDefinition["metadata"];
|
|
96
|
+
}
|
|
97
|
+
export interface StdioMcpPluginConnectionOptions extends CommonPluginConnectionOptions {
|
|
98
|
+
command?: string;
|
|
99
|
+
args?: string[];
|
|
100
|
+
cwd?: string;
|
|
101
|
+
env?: Record<string, string>;
|
|
102
|
+
metadata?: McpClientConnectionDefinition["metadata"];
|
|
103
|
+
}
|
|
104
|
+
export interface RelayMcpPluginConnectionOptions extends CommonPluginConnectionOptions {
|
|
105
|
+
url?: string;
|
|
106
|
+
credentialEnv?: string;
|
|
107
|
+
timeoutMs?: number;
|
|
108
|
+
metadata?: McpClientConnectionDefinition["metadata"];
|
|
109
|
+
}
|
|
110
|
+
export interface OpenAPIPluginConnectionOptions extends Omit<CommonPluginConnectionOptions, "tools"> {
|
|
111
|
+
spec?: OpenAPISpecSource;
|
|
112
|
+
baseUrl?: string;
|
|
113
|
+
auth?: ConnectionAuthDefinition | false;
|
|
114
|
+
headers?: HeadersDefinition;
|
|
115
|
+
operations?: ToolFilterDefinition;
|
|
116
|
+
metadata?: OpenAPIConnectionDefinition["metadata"];
|
|
117
|
+
}
|
|
118
|
+
export interface HttpApiPluginConnectionOptions extends Omit<CommonPluginConnectionOptions, "tools"> {
|
|
119
|
+
baseUrl?: string;
|
|
120
|
+
auth?: ConnectionAuthDefinition | false;
|
|
121
|
+
headers?: HeadersDefinition;
|
|
122
|
+
operations: HttpApiOperationDefinition[];
|
|
123
|
+
operationFilter?: ToolFilterDefinition;
|
|
124
|
+
metadata?: HttpApiConnectionDefinition["metadata"];
|
|
125
|
+
}
|
|
126
|
+
export interface SdkApiPluginConnectionOptions extends CommonPluginConnectionOptions {
|
|
127
|
+
operations: SdkApiOperationDefinition[];
|
|
128
|
+
execute: SdkApiConnectionDefinition["execute"];
|
|
129
|
+
close?: SdkApiConnectionDefinition["close"];
|
|
130
|
+
metadata?: SdkApiConnectionDefinition["metadata"];
|
|
131
|
+
}
|
|
132
|
+
export interface SandboxCliPluginConnectionOptions extends Omit<CommonPluginConnectionOptions, "tools"> {
|
|
133
|
+
command?: string;
|
|
134
|
+
tools: SandboxCliToolDefinition[];
|
|
135
|
+
auth?: ConnectionAuthDefinition;
|
|
136
|
+
maxOutputChars?: number;
|
|
137
|
+
metadata?: SandboxCliConnectionDefinition["metadata"];
|
|
138
|
+
}
|
|
139
|
+
export interface A2APluginConnectionOptions extends Omit<CommonPluginConnectionOptions, "tools"> {
|
|
140
|
+
agentCardUrl: string;
|
|
141
|
+
auth?: ConnectionAuthDefinition | false;
|
|
142
|
+
headers?: HeadersDefinition;
|
|
143
|
+
skills?: ToolFilterDefinition;
|
|
144
|
+
allowedOrigins?: string[];
|
|
145
|
+
metadata?: A2AConnectionDefinition["metadata"];
|
|
146
|
+
}
|
|
147
|
+
export interface ResolvedConnectionPluginEvents {
|
|
148
|
+
enabled: boolean;
|
|
149
|
+
catalog: string[];
|
|
150
|
+
defaultEvents: string[];
|
|
151
|
+
selectedEvents: string[];
|
|
152
|
+
excludedEvents: string[];
|
|
153
|
+
resources: JsonObject[];
|
|
154
|
+
mode: ConnectionEventMode;
|
|
155
|
+
scope: ConnectionEventScope;
|
|
156
|
+
requiredEnv: string[];
|
|
157
|
+
}
|
|
158
|
+
/** Validate and normalize the common event selection used by provider packages. */
|
|
159
|
+
export declare function resolveConnectionPluginEvents(plugin: ConnectionPluginMetadata, selection: ConnectionEventSelection | undefined): ResolvedConnectionPluginEvents | undefined;
|
|
160
|
+
export {};
|
|
161
|
+
//# sourceMappingURL=plugin-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-contract.d.ts","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"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"}
|