@assemblyline-agents/core 4.0.2 → 5.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/dist/adapter-metadata.d.ts.map +1 -1
- package/dist/adapter-metadata.js +41 -33
- package/dist/adapter-metadata.js.map +1 -1
- package/dist/connection-events.d.ts.map +1 -1
- package/dist/connection-events.js +2 -1
- package/dist/connection-events.js.map +1 -1
- package/dist/connection-types.d.ts +75 -16
- package/dist/connection-types.d.ts.map +1 -1
- package/dist/connection-types.js.map +1 -1
- package/dist/definitions.d.ts +1 -1
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +3 -5
- package/dist/definitions.js.map +1 -1
- package/dist/deploy.d.ts +4 -4
- package/dist/deploy.d.ts.map +1 -1
- package/dist/index.d.ts +20 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest-types.d.ts +15 -4
- package/dist/manifest-types.d.ts.map +1 -1
- package/dist/plugin-connection-factories.d.ts +9 -9
- package/dist/plugin-connection-factories.d.ts.map +1 -1
- package/dist/plugin-connection-factories.js +218 -189
- package/dist/plugin-connection-factories.js.map +1 -1
- package/dist/plugin-contract.d.ts +19 -8
- package/dist/plugin-contract.d.ts.map +1 -1
- package/dist/plugin-contract.js +4 -2
- package/dist/plugin-contract.js.map +1 -1
- package/dist/plugin.js +124 -76
- package/dist/plugin.js.map +1 -1
- package/dist/sandbox-types.d.ts +10 -3
- package/dist/sandbox-types.d.ts.map +1 -1
- package/dist/secrets-types.d.ts +11 -22
- package/dist/secrets-types.d.ts.map +1 -1
- package/dist/secrets-types.js +44 -21
- package/dist/secrets-types.js.map +1 -1
- package/package.json +1 -1
|
@@ -35,7 +35,11 @@ export interface ConnectionPluginMetadata extends AdapterProviderMetadata {
|
|
|
35
35
|
tokenEnv?: string;
|
|
36
36
|
tokenRequired?: boolean;
|
|
37
37
|
tokenHeader?: string;
|
|
38
|
-
|
|
38
|
+
relayCredential?: string;
|
|
39
|
+
requiredConfig: string[];
|
|
40
|
+
optionalConfig: string[];
|
|
41
|
+
requiredCredentials: string[];
|
|
42
|
+
optionalCredentials: string[];
|
|
39
43
|
scopes?: string[];
|
|
40
44
|
subject?: NonNullable<ConnectionDefinition["subject"]>;
|
|
41
45
|
tools?: ToolFilterDefinition;
|
|
@@ -46,7 +50,8 @@ export interface ConnectionPluginMetadata extends AdapterProviderMetadata {
|
|
|
46
50
|
defaultEvents?: string[];
|
|
47
51
|
eventMode?: ConnectionEventMode;
|
|
48
52
|
eventScope?: ConnectionEventScope;
|
|
49
|
-
|
|
53
|
+
eventRequiredConfig?: string[];
|
|
54
|
+
eventRequiredCredentials?: string[];
|
|
50
55
|
}
|
|
51
56
|
export interface PluginModule {
|
|
52
57
|
connections?: ConnectionPluginMetadata[];
|
|
@@ -71,8 +76,10 @@ export interface ToolPackPluginMetadata {
|
|
|
71
76
|
tools: ToolPackToolMetadata[];
|
|
72
77
|
config?: ToolPackConfigMetadata;
|
|
73
78
|
skills?: string[];
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
requiredConfig?: string[];
|
|
80
|
+
optionalConfig?: string[];
|
|
81
|
+
requiredCredentials?: string[];
|
|
82
|
+
optionalCredentials?: string[];
|
|
76
83
|
setup?: Array<{
|
|
77
84
|
kind: string;
|
|
78
85
|
name: string;
|
|
@@ -87,6 +94,10 @@ interface CommonPluginConnectionOptions {
|
|
|
87
94
|
required?: boolean;
|
|
88
95
|
subject?: ConnectionDefinition["subject"];
|
|
89
96
|
events?: ConnectionEventSelection;
|
|
97
|
+
/** Trusted host-side source; never becomes a model-visible operation. */
|
|
98
|
+
credentialSource?: import("./connection-types.js").ConnectionCredentialSourceFactory;
|
|
99
|
+
/** Trusted host-side sink used by direct source-to-sink transfer. */
|
|
100
|
+
credentialSink?: import("./connection-types.js").ConnectionCredentialSinkFactory;
|
|
90
101
|
}
|
|
91
102
|
export interface McpPluginConnectionOptions extends CommonPluginConnectionOptions {
|
|
92
103
|
url?: string;
|
|
@@ -103,7 +114,6 @@ export interface StdioMcpPluginConnectionOptions extends CommonPluginConnectionO
|
|
|
103
114
|
}
|
|
104
115
|
export interface RelayMcpPluginConnectionOptions extends CommonPluginConnectionOptions {
|
|
105
116
|
url?: string;
|
|
106
|
-
credentialEnv?: string;
|
|
107
117
|
timeoutMs?: number;
|
|
108
118
|
metadata?: McpClientConnectionDefinition["metadata"];
|
|
109
119
|
}
|
|
@@ -125,8 +135,8 @@ export interface HttpApiPluginConnectionOptions extends Omit<CommonPluginConnect
|
|
|
125
135
|
}
|
|
126
136
|
export interface SdkApiPluginConnectionOptions extends CommonPluginConnectionOptions {
|
|
127
137
|
operations: SdkApiOperationDefinition[];
|
|
128
|
-
execute:
|
|
129
|
-
close
|
|
138
|
+
execute(operationName: string, input: Record<string, unknown>, context: import("./connection-types.js").ConnectionFactoryContext): import("./index.js").MaybePromise<unknown>;
|
|
139
|
+
close?(context: import("./connection-types.js").ConnectionFactoryContext): import("./index.js").MaybePromise<void>;
|
|
130
140
|
metadata?: SdkApiConnectionDefinition["metadata"];
|
|
131
141
|
}
|
|
132
142
|
export interface SandboxCliPluginConnectionOptions extends Omit<CommonPluginConnectionOptions, "tools"> {
|
|
@@ -153,7 +163,8 @@ export interface ResolvedConnectionPluginEvents {
|
|
|
153
163
|
resources: JsonObject[];
|
|
154
164
|
mode: ConnectionEventMode;
|
|
155
165
|
scope: ConnectionEventScope;
|
|
156
|
-
|
|
166
|
+
requiredConfig: string[];
|
|
167
|
+
requiredCredentials: string[];
|
|
157
168
|
}
|
|
158
169
|
/** Validate and normalize the common event selection used by provider packages. */
|
|
159
170
|
export declare function resolveConnectionPluginEvents(plugin: ConnectionPluginMetadata, selection: ConnectionEventSelection | undefined): ResolvedConnectionPluginEvents | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-contract.d.ts","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EACjB,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE5F,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,4BAA4B,CAAC;CACtE;AAED,4EAA4E;AAC5E,MAAM,WAAW,qCAAqC;IACpD,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,GAAG;QACb,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,4BAA4B,CAAC;QACrE,yEAAyE;QACzE,iBAAiB,CAAC,EAAE,gCAAgC,EAAE,CAAC;KACxD,CAAC;CACH;AAED,kFAAkF;AAClF,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,GAAG,qCAAqC,CAAC;AAEnH,4EAA4E;AAC5E,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"plugin-contract.d.ts","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EACjB,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE5F,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,4BAA4B,CAAC;CACtE;AAED,4EAA4E;AAC5E,MAAM,WAAW,qCAAqC;IACpD,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,GAAG;QACb,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,4BAA4B,CAAC;QACrE,yEAAyE;QACzE,iBAAiB,CAAC,EAAE,gCAAgC,EAAE,CAAC;KACxD,CAAC;CACH;AAED,kFAAkF;AAClF,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,GAAG,qCAAqC,CAAC;AAEnH,4EAA4E;AAC5E,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IAC9C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACzC,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnF;AAED,UAAU,6BAA6B;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,MAAM,CAAC,EAAE,+BAA+B,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,uBAAuB,EAAE,iCAAiC,CAAC;IACrF,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,uBAAuB,EAAE,+BAA+B,CAAC;CAClF;AAED,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAC;IACxC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,+BAAgC,SAAQ,6BAA6B;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,+BAAgC,SAAQ,6BAA6B;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,8BAA+B,SAAQ,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAClG,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAC;IACxC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,8BAA+B,SAAQ,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAC;IACxC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,0BAA0B,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,6BAA8B,SAAQ,6BAA6B;IAClF,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,OAAO,CACL,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,OAAO,uBAAuB,EAAE,wBAAwB,GAChE,OAAO,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,uBAAuB,EAAE,wBAAwB,GAAG,OAAO,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACnH,QAAQ,CAAC,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,iCAAkC,SAAQ,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,8BAA8B,CAAC,UAAU,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAC9F,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAC;IACxC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,mFAAmF;AACnF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,wBAAwB,EAChC,SAAS,EAAE,wBAAwB,GAAG,SAAS,GAC9C,8BAA8B,GAAG,SAAS,CAyC5C"}
|
package/dist/plugin-contract.js
CHANGED
|
@@ -19,7 +19,8 @@ export function resolveConnectionPluginEvents(plugin, selection) {
|
|
|
19
19
|
resources: [],
|
|
20
20
|
mode: plugin.eventMode ?? "api",
|
|
21
21
|
scope: plugin.eventScope ?? "connection",
|
|
22
|
-
|
|
22
|
+
requiredConfig: uniqueStrings(plugin.eventRequiredConfig ?? []),
|
|
23
|
+
requiredCredentials: uniqueStrings(plugin.eventRequiredCredentials ?? [])
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
const include = uniqueStrings(selection?.include ?? defaults);
|
|
@@ -36,7 +37,8 @@ export function resolveConnectionPluginEvents(plugin, selection) {
|
|
|
36
37
|
resources: (selection?.resources ?? []).map((resource) => ({ ...resource })),
|
|
37
38
|
mode: plugin.eventMode ?? "api",
|
|
38
39
|
scope: plugin.eventScope ?? "connection",
|
|
39
|
-
|
|
40
|
+
requiredConfig: uniqueStrings(plugin.eventRequiredConfig ?? []),
|
|
41
|
+
requiredCredentials: uniqueStrings(plugin.eventRequiredCredentials ?? [])
|
|
40
42
|
};
|
|
41
43
|
}
|
|
42
44
|
function uniqueStrings(values) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-contract.js","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-contract.js","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -48,8 +48,10 @@ const TOOL_PACK_PLUGIN_CATALOG = [
|
|
|
48
48
|
options: {}
|
|
49
49
|
},
|
|
50
50
|
skills: ["openui-artifacts"],
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
requiredConfig: [],
|
|
52
|
+
optionalConfig: ["R2_PUBLIC_BASE_URL", "S3_PUBLIC_BASE_URL"],
|
|
53
|
+
requiredCredentials: [],
|
|
54
|
+
optionalCredentials: [],
|
|
53
55
|
setup: [{
|
|
54
56
|
kind: "tools",
|
|
55
57
|
name: "openui-public-blob-origin",
|
|
@@ -65,15 +67,19 @@ const WRITE_PATTERNS = [
|
|
|
65
67
|
"regex:(^|[-_])(add|append|archive|assign|book|buy|cancel|checkout|close|complete|create|delete|draft|duplicate|edit|execute|insert|invite|kick|link|merge|modify|move|mutate|open|pay|post|publish|purchase|push|react|reaction|remove|rename|reply|reserve|resolve|reopen|run|schedule|send|set|share|submit|transfer|transition|unassign|unlink|update|upload|write)([-_]|$)"
|
|
66
68
|
];
|
|
67
69
|
function catalogEntry(input) {
|
|
68
|
-
const
|
|
70
|
+
const requiredConfig = [
|
|
69
71
|
...(input.urlEnv && !input.defaultUrl ? [input.urlEnv] : []),
|
|
70
|
-
...(input.tokenEnv && input.tokenRequired !== false ? [input.tokenEnv] : []),
|
|
71
|
-
...(input.credentialEnv ? [input.credentialEnv] : [])
|
|
72
72
|
];
|
|
73
|
-
const
|
|
73
|
+
const optionalConfig = [
|
|
74
74
|
...(input.urlEnv && input.defaultUrl ? [input.urlEnv] : []),
|
|
75
|
-
...(input.
|
|
76
|
-
|
|
75
|
+
...(input.optionalConfig ?? [])
|
|
76
|
+
];
|
|
77
|
+
const requiredCredentials = [
|
|
78
|
+
...(input.tokenEnv && input.tokenRequired !== false ? [input.tokenEnv] : []),
|
|
79
|
+
...(input.relayCredential ? [input.relayCredential] : [])
|
|
80
|
+
];
|
|
81
|
+
const optionalCredentials = [
|
|
82
|
+
...(input.tokenEnv && input.tokenRequired === false ? [input.tokenEnv] : [])
|
|
77
83
|
];
|
|
78
84
|
return {
|
|
79
85
|
kind: input.kind,
|
|
@@ -89,9 +95,11 @@ function catalogEntry(input) {
|
|
|
89
95
|
...(input.tokenEnv ? { tokenEnv: input.tokenEnv } : {}),
|
|
90
96
|
...(input.tokenEnv ? { tokenRequired: input.tokenRequired !== false } : {}),
|
|
91
97
|
...(input.tokenHeader ? { tokenHeader: input.tokenHeader } : {}),
|
|
92
|
-
...(input.
|
|
93
|
-
|
|
94
|
-
|
|
98
|
+
...(input.relayCredential ? { relayCredential: input.relayCredential } : {}),
|
|
99
|
+
requiredConfig,
|
|
100
|
+
optionalConfig,
|
|
101
|
+
requiredCredentials,
|
|
102
|
+
optionalCredentials,
|
|
95
103
|
capabilities: ["mcp", "live-tools", input.transport === "stdio" ? "stdio" : input.transport === "relay" ? "e2ee-device-relay" : "streamable-http"],
|
|
96
104
|
scopes: [...(input.scopes ?? [])],
|
|
97
105
|
// Plugins with user-scoped grants declare subject: "user" explicitly; an
|
|
@@ -105,7 +113,8 @@ function catalogEntry(input) {
|
|
|
105
113
|
...(input.defaultEvents ? { defaultEvents: [...input.defaultEvents] } : {}),
|
|
106
114
|
...(input.eventMode ? { eventMode: input.eventMode } : {}),
|
|
107
115
|
...(input.eventScope ? { eventScope: input.eventScope } : {}),
|
|
108
|
-
...(input.
|
|
116
|
+
...(input.eventRequiredConfig ? { eventRequiredConfig: [...input.eventRequiredConfig] } : {}),
|
|
117
|
+
...(input.eventRequiredCredentials ? { eventRequiredCredentials: [...input.eventRequiredCredentials] } : {}),
|
|
109
118
|
setup: [{
|
|
110
119
|
kind: "connection",
|
|
111
120
|
name: `${input.kind}-developer-configuration`,
|
|
@@ -124,8 +133,10 @@ const HIGGSFIELD_PLUGIN = {
|
|
|
124
133
|
provider: "higgsfield",
|
|
125
134
|
description: "Higgsfield creative media generation, analysis, and editing through the official CLI inside the agent sandbox.",
|
|
126
135
|
command: "higgsfield",
|
|
127
|
-
|
|
128
|
-
|
|
136
|
+
requiredConfig: [],
|
|
137
|
+
optionalConfig: [],
|
|
138
|
+
requiredCredentials: [],
|
|
139
|
+
optionalCredentials: [],
|
|
129
140
|
capabilities: ["sandbox-cli", "native-file-inputs", "media-generation", "video-analysis", "video-editing"],
|
|
130
141
|
scopes: [],
|
|
131
142
|
subject: "user",
|
|
@@ -148,8 +159,10 @@ const REMOTION_PLUGIN = {
|
|
|
148
159
|
provider: "remotion",
|
|
149
160
|
description: "Remotion composition discovery and rendering through the project CLI inside the active agent sandbox.",
|
|
150
161
|
command: "npx",
|
|
151
|
-
|
|
152
|
-
|
|
162
|
+
requiredConfig: [],
|
|
163
|
+
optionalConfig: [],
|
|
164
|
+
requiredCredentials: [],
|
|
165
|
+
optionalCredentials: [],
|
|
153
166
|
capabilities: ["sandbox-cli", "media-rendering", "workspace-artifacts"],
|
|
154
167
|
scopes: [],
|
|
155
168
|
subject: "environment",
|
|
@@ -173,8 +186,10 @@ const MIRROR_PLUGIN = {
|
|
|
173
186
|
description: "User-scoped connected accounts, mirrored source records, live reads, and approval-gated actions through Mirror.",
|
|
174
187
|
defaultUrl: "https://mirror.artificialillumination.co/mcp",
|
|
175
188
|
urlEnv: "MIRROR_MCP_URL",
|
|
176
|
-
|
|
177
|
-
|
|
189
|
+
requiredConfig: ["MIRROR_OAUTH_CLIENT_ID"],
|
|
190
|
+
optionalConfig: ["MIRROR_MCP_URL", "MIRROR_OAUTH_ISSUER", "MIRROR_OAUTH_REDIRECT_URI"],
|
|
191
|
+
requiredCredentials: [],
|
|
192
|
+
optionalCredentials: [],
|
|
178
193
|
capabilities: ["mcp", "oauth", "pkce", "live-tools", "streamable-http", "connected-accounts", "approval-gated-writes"],
|
|
179
194
|
scopes: [],
|
|
180
195
|
subject: "user",
|
|
@@ -238,8 +253,8 @@ const MARGINS_PLUGIN = {
|
|
|
238
253
|
description: "Resource-scoped collaborative Markdown pages, folders, comments, suggestions, and conflict-safe edits through Margins.",
|
|
239
254
|
defaultUrl: "https://margins.artificialillumination.co/mcp",
|
|
240
255
|
urlEnv: "MARGINS_MCP_URL",
|
|
241
|
-
|
|
242
|
-
|
|
256
|
+
requiredConfig: [],
|
|
257
|
+
optionalConfig: [
|
|
243
258
|
"MARGINS_MCP_URL",
|
|
244
259
|
"MARGINS_ISSUER",
|
|
245
260
|
"MARGINS_AGENT_ID",
|
|
@@ -247,6 +262,8 @@ const MARGINS_PLUGIN = {
|
|
|
247
262
|
"MARGINS_AGENT_RUNTIME",
|
|
248
263
|
"MARGINS_AGENT_HARNESS"
|
|
249
264
|
],
|
|
265
|
+
requiredCredentials: [],
|
|
266
|
+
optionalCredentials: [],
|
|
250
267
|
capabilities: [
|
|
251
268
|
"mcp",
|
|
252
269
|
"host-side-pairing",
|
|
@@ -306,8 +323,8 @@ const PROVENANCE_PLUGIN = {
|
|
|
306
323
|
description: "User-scoped append-only agent evidence, session reconstruction, tool traces, handoff bundles, and artifacts through Provenance.",
|
|
307
324
|
defaultUrl: "https://provenance.artificialillumination.co/mcp",
|
|
308
325
|
urlEnv: "PROVENANCE_MCP_URL",
|
|
309
|
-
|
|
310
|
-
|
|
326
|
+
requiredConfig: ["PROVENANCE_OAUTH_CLIENT_ID"],
|
|
327
|
+
optionalConfig: [
|
|
311
328
|
"PROVENANCE_MCP_URL",
|
|
312
329
|
"PROVENANCE_OAUTH_ISSUER",
|
|
313
330
|
"PROVENANCE_OAUTH_REDIRECT_URI",
|
|
@@ -315,6 +332,8 @@ const PROVENANCE_PLUGIN = {
|
|
|
315
332
|
"PROVENANCE_AGENT_NAME",
|
|
316
333
|
"PROVENANCE_AGENT_RUNTIME"
|
|
317
334
|
],
|
|
335
|
+
requiredCredentials: [],
|
|
336
|
+
optionalCredentials: [],
|
|
318
337
|
capabilities: ["mcp", "oauth", "pkce", "live-tools", "streamable-http", "append-only-ledger", "agent-handoffs"],
|
|
319
338
|
scopes: ["provenance:ledger"],
|
|
320
339
|
subject: "user",
|
|
@@ -365,22 +384,24 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
365
384
|
helper: "defineOnePasswordConnection",
|
|
366
385
|
protocol: "sdk",
|
|
367
386
|
provider: "1password",
|
|
368
|
-
description: "1Password vault
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
387
|
+
description: "Metadata-only 1Password vault and item browsing plus host-only credential resolution through the official SDK.",
|
|
388
|
+
requiredConfig: [],
|
|
389
|
+
optionalConfig: [],
|
|
390
|
+
requiredCredentials: ["OP_SERVICE_ACCOUNT_TOKEN"],
|
|
391
|
+
optionalCredentials: [],
|
|
392
|
+
capabilities: ["sdk", "direct-api", "live-tools", "service-account", "vaults", "item-metadata", "credential-source"],
|
|
372
393
|
scopes: [],
|
|
373
394
|
subject: "environment",
|
|
374
395
|
tools: {
|
|
375
|
-
allow: ["list_vaults", "list_items", "search_items"
|
|
396
|
+
allow: ["list_vaults", "list_items", "search_items"]
|
|
376
397
|
},
|
|
377
|
-
readToolPatterns: ["list_vaults", "list_items", "search_items"
|
|
398
|
+
readToolPatterns: ["list_vaults", "list_items", "search_items"],
|
|
378
399
|
writeToolPatterns: [],
|
|
379
400
|
setup: [{
|
|
380
401
|
kind: "connection",
|
|
381
402
|
name: "onepassword-service-account",
|
|
382
403
|
required: true,
|
|
383
|
-
message: "Create a 1Password service account
|
|
404
|
+
message: "Create a dedicated 1Password service account, share only the intended vaults, and store its token as OP_SERVICE_ACCOUNT_TOKEN. Model-facing tools expose metadata only; concealed values remain host-side."
|
|
384
405
|
}]
|
|
385
406
|
},
|
|
386
407
|
{
|
|
@@ -391,8 +412,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
391
412
|
protocol: "a2a",
|
|
392
413
|
provider: "a2a",
|
|
393
414
|
description: "Discover and delegate work to an independently deployed agent through the A2A v1.0 protocol.",
|
|
394
|
-
|
|
395
|
-
|
|
415
|
+
requiredConfig: [],
|
|
416
|
+
optionalConfig: [],
|
|
417
|
+
requiredCredentials: [],
|
|
418
|
+
optionalCredentials: [],
|
|
396
419
|
capabilities: ["a2a", "agent-card-discovery", "remote-agent-tasks", "json-rpc"],
|
|
397
420
|
scopes: [],
|
|
398
421
|
subject: "environment",
|
|
@@ -419,8 +442,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
419
442
|
provider: "arcads",
|
|
420
443
|
description: "Arcads media analysis, generation, and editing through the official hosted MCP server.",
|
|
421
444
|
defaultUrl: "https://mcp.arcads.ai",
|
|
422
|
-
|
|
423
|
-
|
|
445
|
+
requiredConfig: ["ARCADS_MCP_CLIENT_ID"],
|
|
446
|
+
optionalConfig: ["ARCADS_MCP_REDIRECT_URI"],
|
|
447
|
+
requiredCredentials: [],
|
|
448
|
+
optionalCredentials: [],
|
|
424
449
|
capabilities: ["mcp", "oauth", "live-tools", "streamable-http"],
|
|
425
450
|
scopes: ["mcp", "offline_access"],
|
|
426
451
|
subject: "user",
|
|
@@ -449,8 +474,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
449
474
|
description: "Attio CRM records, lists, notes, tasks, comments, email and meeting intelligence, and reporting through Attio's official hosted MCP server.",
|
|
450
475
|
defaultUrl: "https://mcp.attio.com/mcp",
|
|
451
476
|
urlEnv: "ATTIO_MCP_URL",
|
|
452
|
-
|
|
453
|
-
|
|
477
|
+
requiredConfig: ["ATTIO_MCP_CLIENT_ID"],
|
|
478
|
+
optionalConfig: ["ATTIO_MCP_URL", "ATTIO_MCP_REDIRECT_URI"],
|
|
479
|
+
requiredCredentials: [],
|
|
480
|
+
optionalCredentials: [],
|
|
454
481
|
capabilities: ["mcp", "oauth", "pkce", "refresh-token", "live-tools", "streamable-http", "crm", "semantic-search", "reporting"],
|
|
455
482
|
scopes: ["mcp", "offline_access", "openid"],
|
|
456
483
|
subject: "user",
|
|
@@ -557,8 +584,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
557
584
|
description: "Gmail threads, messages, attachments, drafts, and sends through the Gmail REST API.",
|
|
558
585
|
defaultBaseUrl: "https://gmail.googleapis.com/gmail/v1",
|
|
559
586
|
baseUrlEnv: "GMAIL_API_BASE_URL",
|
|
560
|
-
|
|
561
|
-
|
|
587
|
+
requiredConfig: ["GOOGLE_CLIENT_ID"],
|
|
588
|
+
optionalConfig: ["GOOGLE_REDIRECT_URI", "GMAIL_API_BASE_URL"],
|
|
589
|
+
requiredCredentials: ["GOOGLE_CLIENT_SECRET"],
|
|
590
|
+
optionalCredentials: [],
|
|
562
591
|
capabilities: ["http-api", "oauth", "pkce", "refresh-token", "live-tools"],
|
|
563
592
|
scopes: [
|
|
564
593
|
"https://www.googleapis.com/auth/gmail.readonly",
|
|
@@ -582,7 +611,8 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
582
611
|
defaultEvents: ["email.received"],
|
|
583
612
|
eventMode: "watch",
|
|
584
613
|
eventScope: "principal",
|
|
585
|
-
|
|
614
|
+
eventRequiredConfig: ["GOOGLE_CLOUD_PROJECT", "GMAIL_PUBSUB_TOPIC"],
|
|
615
|
+
eventRequiredCredentials: ["GMAIL_PUBSUB_VERIFICATION_TOKEN"],
|
|
586
616
|
setup: [{
|
|
587
617
|
kind: "connection",
|
|
588
618
|
name: "gmail-oauth-configuration",
|
|
@@ -600,8 +630,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
600
630
|
description: "Google Calendar lists, events, availability, and scheduling through the Google Calendar REST API.",
|
|
601
631
|
defaultBaseUrl: "https://www.googleapis.com/calendar/v3",
|
|
602
632
|
baseUrlEnv: "GOOGLE_CALENDAR_API_BASE_URL",
|
|
603
|
-
|
|
604
|
-
|
|
633
|
+
requiredConfig: ["GOOGLE_CLIENT_ID"],
|
|
634
|
+
optionalConfig: ["GOOGLE_REDIRECT_URI", "GOOGLE_CALENDAR_API_BASE_URL"],
|
|
635
|
+
requiredCredentials: ["GOOGLE_CLIENT_SECRET"],
|
|
636
|
+
optionalCredentials: [],
|
|
605
637
|
capabilities: ["http-api", "oauth", "pkce", "refresh-token", "live-tools"],
|
|
606
638
|
scopes: [
|
|
607
639
|
"https://www.googleapis.com/auth/calendar.readonly",
|
|
@@ -639,8 +671,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
639
671
|
description: "Google Drive file search, downloads, uploads, organization, and sharing through the Google Drive REST API.",
|
|
640
672
|
defaultBaseUrl: "https://www.googleapis.com",
|
|
641
673
|
baseUrlEnv: "GOOGLE_DRIVE_API_BASE_URL",
|
|
642
|
-
|
|
643
|
-
|
|
674
|
+
requiredConfig: ["GOOGLE_CLIENT_ID"],
|
|
675
|
+
optionalConfig: ["GOOGLE_REDIRECT_URI", "GOOGLE_DRIVE_API_BASE_URL"],
|
|
676
|
+
requiredCredentials: ["GOOGLE_CLIENT_SECRET"],
|
|
677
|
+
optionalCredentials: [],
|
|
644
678
|
capabilities: ["http-api", "oauth", "pkce", "refresh-token", "binary-transfer", "live-tools"],
|
|
645
679
|
scopes: [
|
|
646
680
|
"https://www.googleapis.com/auth/drive.readonly",
|
|
@@ -683,19 +717,16 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
683
717
|
protocol: "credential",
|
|
684
718
|
provider: "github",
|
|
685
719
|
description: "Host-only GitHub App installation credentials for Git and the GitHub CLI inside an agent sandbox.",
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
"GITHUB_APP_PRIVATE_KEY"
|
|
689
|
-
],
|
|
690
|
-
optionalEnv: [
|
|
720
|
+
requiredConfig: ["GITHUB_APP_ID"],
|
|
721
|
+
optionalConfig: [
|
|
691
722
|
"GITHUB_APP_INSTALLATION_ID",
|
|
692
723
|
"GITHUB_APP_SLUG",
|
|
693
724
|
"GITHUB_APP_CLIENT_ID",
|
|
694
|
-
"GITHUB_APP_CLIENT_SECRET",
|
|
695
|
-
"GITHUB_APP_WEBHOOK_SECRET",
|
|
696
725
|
"GITHUB_API_URL",
|
|
697
726
|
"GITHUB_OAUTH_URL"
|
|
698
727
|
],
|
|
728
|
+
requiredCredentials: ["GITHUB_APP_PRIVATE_KEY"],
|
|
729
|
+
optionalCredentials: ["GITHUB_APP_CLIENT_SECRET", "GITHUB_APP_WEBHOOK_SECRET"],
|
|
699
730
|
capabilities: ["sandbox-credentials", "github-app", "git", "github-cli"],
|
|
700
731
|
scopes: [],
|
|
701
732
|
subject: "user",
|
|
@@ -711,7 +742,7 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
711
742
|
defaultEvents: ["issues.opened", "issue_comment.created", "pull_request.opened", "pull_request_review.submitted", "push", "workflow_run.completed"],
|
|
712
743
|
eventMode: "manual",
|
|
713
744
|
eventScope: "connection",
|
|
714
|
-
|
|
745
|
+
eventRequiredCredentials: ["GITHUB_APP_WEBHOOK_SECRET"],
|
|
715
746
|
setup: [{
|
|
716
747
|
kind: "connection",
|
|
717
748
|
name: "github-app-developer-configuration",
|
|
@@ -726,14 +757,16 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
726
757
|
description: "Strava profile and fitness activity tools through a developer-configured MCP server.", urlEnv: "STRAVA_MCP_URL", tokenEnv: "STRAVA_MCP_TOKEN",
|
|
727
758
|
eventCatalog: ["activity.create", "activity.update", "activity.delete", "athlete.update"],
|
|
728
759
|
defaultEvents: ["activity.create", "activity.update", "activity.delete", "athlete.update"], eventMode: "api", eventScope: "connection",
|
|
729
|
-
|
|
760
|
+
eventRequiredConfig: ["STRAVA_CLIENT_ID"],
|
|
761
|
+
eventRequiredCredentials: ["STRAVA_CLIENT_SECRET", "STRAVA_WEBHOOK_SIGNING_SECRET"]
|
|
730
762
|
}),
|
|
731
763
|
catalogEntry({
|
|
732
764
|
kind: "polar", displayName: "Polar", helper: "definePolarConnection",
|
|
733
765
|
description: "Polar workout and heart-rate tools through a developer-configured MCP server.", urlEnv: "POLAR_MCP_URL", tokenEnv: "POLAR_MCP_TOKEN",
|
|
734
766
|
eventCatalog: ["EXERCISE", "SLEEP", "CONTINUOUS_HEART_RATE", "SLEEP_WISE_CIRCADIAN_BEDTIME", "SLEEP_WISE_ALERTNESS", "ACTIVITY_SUMMARY", "PHYSICAL_INFORMATION"],
|
|
735
767
|
defaultEvents: ["EXERCISE", "SLEEP", "CONTINUOUS_HEART_RATE"], eventMode: "api", eventScope: "connection",
|
|
736
|
-
|
|
768
|
+
eventRequiredConfig: ["POLAR_CLIENT_ID"],
|
|
769
|
+
eventRequiredCredentials: ["POLAR_CLIENT_SECRET"]
|
|
737
770
|
}),
|
|
738
771
|
catalogEntry({ kind: "spotify", displayName: "Spotify", helper: "defineSpotifyConnection", description: "Spotify library, playlist, and playback tools through a developer-configured MCP server.", urlEnv: "SPOTIFY_MCP_URL", tokenEnv: "SPOTIFY_MCP_TOKEN", write: true }),
|
|
739
772
|
catalogEntry({ kind: "xai", displayName: "xAI", helper: "defineXaiConnection", description: "xAI and X search tools through a developer-configured MCP server.", urlEnv: "XAI_MCP_URL", tokenEnv: "XAI_MCP_TOKEN" }),
|
|
@@ -766,7 +799,8 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
766
799
|
description: "Read-only Plaid financial tools through a developer-configured MCP bridge.", urlEnv: "PLAID_MCP_URL", tokenEnv: "PLAID_MCP_TOKEN",
|
|
767
800
|
eventCatalog: ["transactions.changed", "item.changed", "auth.changed", "identity.changed", "assets.changed", "holdings.changed", "investments.changed", "liabilities.changed", "payment.changed", "transfer.changed", "income.changed"],
|
|
768
801
|
defaultEvents: ["transactions.changed", "item.changed"], eventMode: "api", eventScope: "connection",
|
|
769
|
-
|
|
802
|
+
eventRequiredConfig: ["PLAID_CLIENT_ID"],
|
|
803
|
+
eventRequiredCredentials: ["PLAID_SECRET"]
|
|
770
804
|
}),
|
|
771
805
|
catalogEntry({ kind: "granola", displayName: "Granola", helper: "defineGranolaConnection", description: "Granola meeting notes, transcripts, and action items through Granola MCP.", defaultUrl: "https://mcp.granola.ai/mcp", urlEnv: "GRANOLA_MCP_URL", tokenEnv: "GRANOLA_MCP_TOKEN" }),
|
|
772
806
|
{
|
|
@@ -780,8 +814,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
780
814
|
description: "Private-company, ownership, funding, transaction, filing, contact, conference, and deal intelligence through Grata's official hosted MCP server.",
|
|
781
815
|
defaultUrl: "https://mcp.grata.com",
|
|
782
816
|
urlEnv: "GRATA_MCP_URL",
|
|
783
|
-
|
|
784
|
-
|
|
817
|
+
requiredConfig: ["GRATA_MCP_CLIENT_ID"],
|
|
818
|
+
optionalConfig: ["GRATA_MCP_URL", "GRATA_MCP_REDIRECT_URI"],
|
|
819
|
+
requiredCredentials: ["GRATA_MCP_CLIENT_SECRET"],
|
|
820
|
+
optionalCredentials: [],
|
|
785
821
|
capabilities: ["mcp", "oauth", "pkce", "refresh-token", "live-tools", "streamable-http", "private-market-intelligence"],
|
|
786
822
|
scopes: ["openid", "profile", "email", "offline_access"],
|
|
787
823
|
subject: "user",
|
|
@@ -802,7 +838,7 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
802
838
|
description: "Linear issues, projects, cycles, and teams through Linear MCP.", defaultUrl: "https://mcp.linear.app/mcp", urlEnv: "LINEAR_MCP_URL", tokenEnv: "LINEAR_MCP_TOKEN", write: true,
|
|
803
839
|
eventCatalog: ["issue.create", "issue.update", "issue.remove", "comment.create", "comment.update", "comment.remove", "project.create", "project.update", "project.remove", "cycle.create", "cycle.update", "cycle.remove", "document.create", "document.update", "document.remove", "customer.create", "customer.update", "customer.remove", "user.create", "user.update", "user.remove", "agentSessionEvent.created", "agentSessionEvent.prompted", "linear.changed"],
|
|
804
840
|
defaultEvents: ["issue.create", "issue.update", "comment.create", "comment.update", "project.update", "agentSessionEvent.created", "agentSessionEvent.prompted", "linear.changed"],
|
|
805
|
-
eventMode: "manual", eventScope: "principal",
|
|
841
|
+
eventMode: "manual", eventScope: "principal", eventRequiredCredentials: ["LINEAR_WEBHOOK_SECRET"]
|
|
806
842
|
}),
|
|
807
843
|
catalogEntry({
|
|
808
844
|
kind: "notion", displayName: "Notion", helper: "defineNotionConnection",
|
|
@@ -821,7 +857,7 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
821
857
|
description: "monday.com boards, items, workspaces, and docs through Platform MCP.", defaultUrl: "https://mcp.monday.com/mcp", urlEnv: "MONDAY_MCP_URL", tokenEnv: "MONDAY_MCP_TOKEN", write: true,
|
|
822
858
|
eventCatalog: ["create_item", "change_column_value", "change_status_column_value", "change_name", "item_moved_to_any_group", "item_deleted", "item_archived", "create_update"],
|
|
823
859
|
defaultEvents: ["create_item", "change_column_value", "change_status_column_value", "item_deleted", "create_update"], eventMode: "api", eventScope: "principal",
|
|
824
|
-
|
|
860
|
+
eventRequiredCredentials: ["MONDAY_SIGNING_SECRET"]
|
|
825
861
|
}),
|
|
826
862
|
catalogEntry({
|
|
827
863
|
kind: "jira", displayName: "Jira", helper: "defineJiraConnection",
|
|
@@ -834,7 +870,7 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
834
870
|
description: "HubSpot CRM records and associations through HubSpot MCP.", defaultUrl: "https://mcp.hubspot.com", urlEnv: "HUBSPOT_MCP_URL", tokenEnv: "HUBSPOT_MCP_TOKEN",
|
|
835
871
|
eventCatalog: ["contact.creation", "contact.deletion", "contact.propertyChange", "company.creation", "company.deletion", "company.propertyChange", "deal.creation", "deal.deletion", "deal.propertyChange", "ticket.creation", "ticket.deletion", "ticket.propertyChange"],
|
|
836
872
|
defaultEvents: ["contact.creation", "contact.deletion", "company.creation", "company.deletion", "deal.creation", "deal.deletion", "ticket.creation", "ticket.deletion"],
|
|
837
|
-
eventMode: "api", eventScope: "connection",
|
|
873
|
+
eventMode: "api", eventScope: "connection", eventRequiredConfig: ["HUBSPOT_APP_ID"], eventRequiredCredentials: ["HUBSPOT_DEVELOPER_API_KEY", "HUBSPOT_CLIENT_SECRET"]
|
|
838
874
|
}),
|
|
839
875
|
catalogEntry({
|
|
840
876
|
kind: "figma", displayName: "Figma", helper: "defineFigmaConnection",
|
|
@@ -853,19 +889,19 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
853
889
|
kind: "supabase", displayName: "Supabase", helper: "defineSupabaseConnection",
|
|
854
890
|
description: "Supabase projects, databases, docs, and Edge Functions through Supabase MCP.", defaultUrl: "https://mcp.supabase.com/mcp", urlEnv: "SUPABASE_MCP_URL", tokenEnv: "SUPABASE_MCP_TOKEN", write: true,
|
|
855
891
|
eventCatalog: ["row.inserted", "row.updated", "row.deleted"], defaultEvents: ["row.inserted", "row.updated", "row.deleted"], eventMode: "api", eventScope: "principal",
|
|
856
|
-
|
|
892
|
+
eventRequiredCredentials: ["SUPABASE_WEBHOOK_SECRET"]
|
|
857
893
|
}),
|
|
858
894
|
catalogEntry({
|
|
859
895
|
kind: "metabase", displayName: "Metabase", helper: "defineMetabaseConnection",
|
|
860
896
|
description: "Metabase semantic-layer queries, questions, and dashboards through an instance MCP endpoint.", urlEnv: "METABASE_MCP_URL", tokenEnv: "METABASE_MCP_TOKEN", tokenRequired: false, write: true,
|
|
861
897
|
eventCatalog: ["alert.triggered"], defaultEvents: ["alert.triggered"], eventMode: "manual", eventScope: "connection",
|
|
862
|
-
|
|
898
|
+
eventRequiredCredentials: ["METABASE_WEBHOOK_SECRET"]
|
|
863
899
|
}),
|
|
864
900
|
catalogEntry({
|
|
865
901
|
kind: "cloudflare", displayName: "Cloudflare", helper: "defineCloudflareConnection",
|
|
866
902
|
description: "Cloudflare API and account tools through Cloudflare MCP.", defaultUrl: "https://mcp.cloudflare.com/mcp", urlEnv: "CLOUDFLARE_MCP_URL", tokenEnv: "CLOUDFLARE_MCP_TOKEN", write: true,
|
|
867
903
|
eventCatalog: ["notification.received"], defaultEvents: ["notification.received"], eventMode: "api", eventScope: "principal",
|
|
868
|
-
|
|
904
|
+
eventRequiredCredentials: ["CLOUDFLARE_WEBHOOK_SECRET"]
|
|
869
905
|
}),
|
|
870
906
|
catalogEntry({
|
|
871
907
|
kind: "vercel", displayName: "Vercel", helper: "defineVercelConnection",
|
|
@@ -1025,8 +1061,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
1025
1061
|
description: "Connected X account identity, private bookmarks, and reviewed post or reply publishing through X API v2.",
|
|
1026
1062
|
defaultBaseUrl: "https://api.x.com/2",
|
|
1027
1063
|
baseUrlEnv: "X_API_BASE_URL",
|
|
1028
|
-
|
|
1029
|
-
|
|
1064
|
+
requiredConfig: ["X_API_CLIENT_ID"],
|
|
1065
|
+
optionalConfig: ["X_API_REDIRECT_URI", "X_API_BASE_URL"],
|
|
1066
|
+
requiredCredentials: ["X_API_CLIENT_SECRET"],
|
|
1067
|
+
optionalCredentials: [],
|
|
1030
1068
|
capabilities: ["http-api", "oauth", "pkce", "refresh-token", "live-tools", "bookmarks", "publishing"],
|
|
1031
1069
|
scopes: ["bookmark.read", "tweet.read", "tweet.write", "users.read", "offline.access"],
|
|
1032
1070
|
subject: "user",
|
|
@@ -1052,8 +1090,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
1052
1090
|
description: "Dropbox account, file and folder metadata, search, temporary content links, and reviewed file operations through the Dropbox API.",
|
|
1053
1091
|
defaultBaseUrl: "https://api.dropboxapi.com/2",
|
|
1054
1092
|
baseUrlEnv: "DROPBOX_API_BASE_URL",
|
|
1055
|
-
|
|
1056
|
-
|
|
1093
|
+
requiredConfig: ["DROPBOX_APP_KEY"],
|
|
1094
|
+
optionalConfig: ["DROPBOX_REDIRECT_URI", "DROPBOX_API_BASE_URL"],
|
|
1095
|
+
requiredCredentials: ["DROPBOX_APP_SECRET"],
|
|
1096
|
+
optionalCredentials: [],
|
|
1057
1097
|
capabilities: ["http-api", "oauth", "pkce", "refresh-token", "live-tools"],
|
|
1058
1098
|
scopes: [
|
|
1059
1099
|
"account_info.read",
|
|
@@ -1117,8 +1157,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
1117
1157
|
description: "SoundCloud tracks, playlists, users, likes, follows, reposts, and comments through the official API.",
|
|
1118
1158
|
defaultSpec: "https://developers.soundcloud.com/docs/api/explorer/api.json",
|
|
1119
1159
|
defaultBaseUrl: "https://api.soundcloud.com",
|
|
1120
|
-
|
|
1121
|
-
|
|
1160
|
+
requiredConfig: ["SOUNDCLOUD_CLIENT_ID"],
|
|
1161
|
+
optionalConfig: ["SOUNDCLOUD_REDIRECT_URI"],
|
|
1162
|
+
requiredCredentials: ["SOUNDCLOUD_CLIENT_SECRET"],
|
|
1163
|
+
optionalCredentials: [],
|
|
1122
1164
|
capabilities: ["openapi", "oauth", "live-tools"],
|
|
1123
1165
|
scopes: [],
|
|
1124
1166
|
subject: "user",
|
|
@@ -1148,7 +1190,7 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
1148
1190
|
defaultEvents: ["agent.task.status_update"],
|
|
1149
1191
|
eventMode: "manual",
|
|
1150
1192
|
eventScope: "connection",
|
|
1151
|
-
|
|
1193
|
+
eventRequiredCredentials: ["BROWSER_USE_WEBHOOK_SECRET"],
|
|
1152
1194
|
setupMessage: "Set BROWSER_USE_API_KEY for the Assembly Line host. Browser profiles, cost limits, and write authority remain developer-controlled."
|
|
1153
1195
|
}),
|
|
1154
1196
|
catalogEntry({
|
|
@@ -1178,7 +1220,8 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
1178
1220
|
"scroll",
|
|
1179
1221
|
"wait",
|
|
1180
1222
|
"execute_bash",
|
|
1181
|
-
"execute_python"
|
|
1223
|
+
"execute_python",
|
|
1224
|
+
"credential_fill"
|
|
1182
1225
|
]
|
|
1183
1226
|
},
|
|
1184
1227
|
readToolPatterns: [
|
|
@@ -1201,9 +1244,10 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
1201
1244
|
"scroll",
|
|
1202
1245
|
"wait",
|
|
1203
1246
|
"execute_bash",
|
|
1204
|
-
"execute_python"
|
|
1247
|
+
"execute_python",
|
|
1248
|
+
"credential_fill"
|
|
1205
1249
|
],
|
|
1206
|
-
|
|
1250
|
+
optionalConfig: ["ORGO_API_BASE_URL"],
|
|
1207
1251
|
setupMessage: "Set ORGO_API_KEY on the Assembly Line runtime host. The developer owns Orgo workspaces, account limits, auto-stop policy, login state, and billing; the packaged bridge strips VNC credentials from results."
|
|
1208
1252
|
}),
|
|
1209
1253
|
catalogEntry({
|
|
@@ -1231,7 +1275,7 @@ const CONNECTION_PLUGIN_CATALOG = [
|
|
|
1231
1275
|
transport: "relay",
|
|
1232
1276
|
defaultUrl: "https://computer-use.artificialillumination.co/v1",
|
|
1233
1277
|
urlEnv: "ASSEMBLY_LINE_COMPUTER_USE_RELAY_URL",
|
|
1234
|
-
|
|
1278
|
+
relayCredential: "ASSEMBLY_LINE_COMPUTER_USE_BINDING",
|
|
1235
1279
|
subject: "environment",
|
|
1236
1280
|
tools: { allow: ["inspect_ui", "list", "permissions", "click", "type", "hotkey", "scroll", "drag", "swipe", "move", "set_value", "perform_action", "app", "window", "menu", "dock", "dialog", "space"] },
|
|
1237
1281
|
readToolPatterns: ["inspect_ui", "list", "permissions"],
|
|
@@ -1288,8 +1332,10 @@ function cloneHostRequirements(requirements) {
|
|
|
1288
1332
|
function cloneMetadata(entry) {
|
|
1289
1333
|
return {
|
|
1290
1334
|
...entry,
|
|
1291
|
-
|
|
1292
|
-
|
|
1335
|
+
requiredConfig: [...entry.requiredConfig],
|
|
1336
|
+
optionalConfig: [...entry.optionalConfig],
|
|
1337
|
+
requiredCredentials: [...entry.requiredCredentials],
|
|
1338
|
+
optionalCredentials: [...entry.optionalCredentials],
|
|
1293
1339
|
capabilities: [...(entry.capabilities ?? [])],
|
|
1294
1340
|
scopes: [...(entry.scopes ?? [])],
|
|
1295
1341
|
readToolPatterns: [...entry.readToolPatterns],
|
|
@@ -1309,8 +1355,10 @@ function cloneToolPackMetadata(entry) {
|
|
|
1309
1355
|
}
|
|
1310
1356
|
} : {}),
|
|
1311
1357
|
...(entry.skills ? { skills: [...entry.skills] } : {}),
|
|
1312
|
-
...(entry.
|
|
1313
|
-
...(entry.
|
|
1358
|
+
...(entry.requiredConfig ? { requiredConfig: [...entry.requiredConfig] } : {}),
|
|
1359
|
+
...(entry.optionalConfig ? { optionalConfig: [...entry.optionalConfig] } : {}),
|
|
1360
|
+
...(entry.requiredCredentials ? { requiredCredentials: [...entry.requiredCredentials] } : {}),
|
|
1361
|
+
...(entry.optionalCredentials ? { optionalCredentials: [...entry.optionalCredentials] } : {}),
|
|
1314
1362
|
...(entry.setup ? { setup: entry.setup.map((step) => ({ ...step })) } : {})
|
|
1315
1363
|
};
|
|
1316
1364
|
}
|