@workglow/tasks 0.0.121 → 0.0.123
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/browser.js +1049 -266
- package/dist/browser.js.map +60 -55
- package/dist/bun.js +1069 -269
- package/dist/bun.js.map +60 -55
- package/dist/common.d.ts +3 -1
- package/dist/common.d.ts.map +1 -1
- package/dist/node.js +1069 -269
- package/dist/node.js.map +60 -55
- package/dist/task/ArrayTask.d.ts +2 -11
- package/dist/task/ArrayTask.d.ts.map +1 -1
- package/dist/task/DateFormatTask.d.ts +1 -1
- package/dist/task/DateFormatTask.d.ts.map +1 -1
- package/dist/task/DebugLogTask.d.ts +4 -2
- package/dist/task/DebugLogTask.d.ts.map +1 -1
- package/dist/task/DelayTask.d.ts +4 -2
- package/dist/task/DelayTask.d.ts.map +1 -1
- package/dist/task/FetchUrlTask.d.ts +24 -2
- package/dist/task/FetchUrlTask.d.ts.map +1 -1
- package/dist/task/FileLoaderTask.d.ts +11 -8
- package/dist/task/FileLoaderTask.d.ts.map +1 -1
- package/dist/task/FileLoaderTask.server.d.ts +10 -7
- package/dist/task/FileLoaderTask.server.d.ts.map +1 -1
- package/dist/task/InputTask.d.ts +1 -2
- package/dist/task/InputTask.d.ts.map +1 -1
- package/dist/task/JavaScriptTask.d.ts +14 -11
- package/dist/task/JavaScriptTask.d.ts.map +1 -1
- package/dist/task/JsonPathTask.d.ts +1 -1
- package/dist/task/JsonPathTask.d.ts.map +1 -1
- package/dist/task/JsonTask.d.ts +4 -2
- package/dist/task/JsonTask.d.ts.map +1 -1
- package/dist/task/LambdaTask.d.ts +3 -3
- package/dist/task/LambdaTask.d.ts.map +1 -1
- package/dist/task/MergeTask.d.ts +4 -2
- package/dist/task/MergeTask.d.ts.map +1 -1
- package/dist/task/OutputTask.d.ts +1 -2
- package/dist/task/OutputTask.d.ts.map +1 -1
- package/dist/task/RegexTask.d.ts +1 -1
- package/dist/task/RegexTask.d.ts.map +1 -1
- package/dist/task/SplitTask.d.ts +4 -2
- package/dist/task/SplitTask.d.ts.map +1 -1
- package/dist/task/TemplateTask.d.ts +1 -1
- package/dist/task/TemplateTask.d.ts.map +1 -1
- package/dist/task/adaptive.d.ts.map +1 -1
- package/dist/task/mcp/McpListTask.d.ts +246 -561
- package/dist/task/mcp/McpListTask.d.ts.map +1 -1
- package/dist/task/mcp/McpPromptGetTask.d.ts +85 -495
- package/dist/task/mcp/McpPromptGetTask.d.ts.map +1 -1
- package/dist/task/mcp/McpResourceReadTask.d.ts +20 -495
- package/dist/task/mcp/McpResourceReadTask.d.ts.map +1 -1
- package/dist/task/mcp/McpSearchTask.d.ts +111 -0
- package/dist/task/mcp/McpSearchTask.d.ts.map +1 -0
- package/dist/task/mcp/McpToolCallTask.d.ts +5 -498
- package/dist/task/mcp/McpToolCallTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarAbsTask.d.ts +1 -1
- package/dist/task/scalar/ScalarAbsTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarAddTask.d.ts +1 -1
- package/dist/task/scalar/ScalarAddTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarCeilTask.d.ts +1 -1
- package/dist/task/scalar/ScalarCeilTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarDivideTask.d.ts +1 -1
- package/dist/task/scalar/ScalarDivideTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarFloorTask.d.ts +1 -1
- package/dist/task/scalar/ScalarFloorTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarMaxTask.d.ts +1 -1
- package/dist/task/scalar/ScalarMaxTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarMinTask.d.ts +1 -1
- package/dist/task/scalar/ScalarMinTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarMultiplyTask.d.ts +1 -1
- package/dist/task/scalar/ScalarMultiplyTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarRoundTask.d.ts +1 -1
- package/dist/task/scalar/ScalarRoundTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarSubtractTask.d.ts +1 -1
- package/dist/task/scalar/ScalarSubtractTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarSumTask.d.ts +1 -1
- package/dist/task/scalar/ScalarSumTask.d.ts.map +1 -1
- package/dist/task/scalar/ScalarTruncTask.d.ts +1 -1
- package/dist/task/scalar/ScalarTruncTask.d.ts.map +1 -1
- package/dist/task/scalar/sumPrecise.d.ts.map +1 -1
- package/dist/task/string/StringConcatTask.d.ts +1 -1
- package/dist/task/string/StringConcatTask.d.ts.map +1 -1
- package/dist/task/string/StringIncludesTask.d.ts +1 -1
- package/dist/task/string/StringIncludesTask.d.ts.map +1 -1
- package/dist/task/string/StringJoinTask.d.ts +1 -1
- package/dist/task/string/StringJoinTask.d.ts.map +1 -1
- package/dist/task/string/StringLengthTask.d.ts +1 -1
- package/dist/task/string/StringLengthTask.d.ts.map +1 -1
- package/dist/task/string/StringLowerCaseTask.d.ts +1 -1
- package/dist/task/string/StringLowerCaseTask.d.ts.map +1 -1
- package/dist/task/string/StringReplaceTask.d.ts +1 -1
- package/dist/task/string/StringReplaceTask.d.ts.map +1 -1
- package/dist/task/string/StringSliceTask.d.ts +1 -1
- package/dist/task/string/StringSliceTask.d.ts.map +1 -1
- package/dist/task/string/StringTemplateTask.d.ts +1 -1
- package/dist/task/string/StringTemplateTask.d.ts.map +1 -1
- package/dist/task/string/StringTrimTask.d.ts +1 -1
- package/dist/task/string/StringTrimTask.d.ts.map +1 -1
- package/dist/task/string/StringUpperCaseTask.d.ts +1 -1
- package/dist/task/string/StringUpperCaseTask.d.ts.map +1 -1
- package/dist/task/vector/VectorDistanceTask.d.ts +1 -1
- package/dist/task/vector/VectorDistanceTask.d.ts.map +1 -1
- package/dist/task/vector/VectorDivideTask.d.ts +1 -1
- package/dist/task/vector/VectorDivideTask.d.ts.map +1 -1
- package/dist/task/vector/VectorDotProductTask.d.ts +1 -1
- package/dist/task/vector/VectorDotProductTask.d.ts.map +1 -1
- package/dist/task/vector/VectorMultiplyTask.d.ts +1 -1
- package/dist/task/vector/VectorMultiplyTask.d.ts.map +1 -1
- package/dist/task/vector/VectorNormalizeTask.d.ts +1 -1
- package/dist/task/vector/VectorNormalizeTask.d.ts.map +1 -1
- package/dist/task/vector/VectorScaleTask.d.ts +1 -1
- package/dist/task/vector/VectorScaleTask.d.ts.map +1 -1
- package/dist/task/vector/VectorSubtractTask.d.ts +1 -1
- package/dist/task/vector/VectorSubtractTask.d.ts.map +1 -1
- package/dist/task/vector/VectorSumTask.d.ts +1 -1
- package/dist/task/vector/VectorSumTask.d.ts.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/util/McpAuthProvider.d.ts +70 -0
- package/dist/util/McpAuthProvider.d.ts.map +1 -0
- package/dist/util/McpAuthTypes.d.ts +218 -0
- package/dist/util/McpAuthTypes.d.ts.map +1 -0
- package/dist/util/McpClientUtil.browser.d.ts +101 -0
- package/dist/util/McpClientUtil.browser.d.ts.map +1 -0
- package/dist/util/McpClientUtil.node.d.ts +122 -0
- package/dist/util/McpClientUtil.node.d.ts.map +1 -0
- package/dist/util/McpTaskDeps.d.ts +40 -0
- package/dist/util/McpTaskDeps.d.ts.map +1 -0
- package/dist/util/acorn.d.ts +3 -12
- package/dist/util/acorn.d.ts.map +1 -1
- package/dist/util/interpreter.d.ts +11 -486
- package/dist/util/interpreter.d.ts.map +1 -1
- package/package.json +21 -16
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Shared MCP authentication type definitions and JSON Schema.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Supported MCP authentication types.
|
|
10
|
+
*/
|
|
11
|
+
export declare const mcpAuthTypes: readonly ["none", "bearer", "client_credentials", "private_key_jwt", "static_private_key_jwt", "authorization_code"];
|
|
12
|
+
export type McpAuthType = (typeof mcpAuthTypes)[number];
|
|
13
|
+
export interface McpAuthNone {
|
|
14
|
+
readonly type: "none";
|
|
15
|
+
}
|
|
16
|
+
export interface McpAuthBearer {
|
|
17
|
+
readonly type: "bearer";
|
|
18
|
+
/** Static token or credential-store key (format: "credential"). */
|
|
19
|
+
readonly token: string;
|
|
20
|
+
}
|
|
21
|
+
export interface McpAuthClientCredentials {
|
|
22
|
+
readonly type: "client_credentials";
|
|
23
|
+
readonly client_id: string;
|
|
24
|
+
/** Client secret or credential-store key (format: "credential"). */
|
|
25
|
+
readonly client_secret: string;
|
|
26
|
+
readonly client_name?: string;
|
|
27
|
+
readonly scope?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface McpAuthPrivateKeyJwt {
|
|
30
|
+
readonly type: "private_key_jwt";
|
|
31
|
+
readonly client_id: string;
|
|
32
|
+
/** PEM / JWK private key or credential-store key (format: "credential"). */
|
|
33
|
+
readonly private_key: string;
|
|
34
|
+
readonly algorithm: string;
|
|
35
|
+
readonly client_name?: string;
|
|
36
|
+
readonly jwt_lifetime_seconds?: number;
|
|
37
|
+
readonly scope?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface McpAuthStaticPrivateKeyJwt {
|
|
40
|
+
readonly type: "static_private_key_jwt";
|
|
41
|
+
readonly client_id: string;
|
|
42
|
+
/** Pre-built JWT assertion or credential-store key (format: "credential"). */
|
|
43
|
+
readonly jwt_bearer_assertion: string;
|
|
44
|
+
readonly client_name?: string;
|
|
45
|
+
readonly scope?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface McpAuthAuthorizationCode {
|
|
48
|
+
readonly type: "authorization_code";
|
|
49
|
+
readonly client_id: string;
|
|
50
|
+
readonly client_secret?: string;
|
|
51
|
+
readonly redirect_url: string;
|
|
52
|
+
readonly scope?: string;
|
|
53
|
+
}
|
|
54
|
+
export type McpAuthConfig = McpAuthNone | McpAuthBearer | McpAuthClientCredentials | McpAuthPrivateKeyJwt | McpAuthStaticPrivateKeyJwt | McpAuthAuthorizationCode;
|
|
55
|
+
export declare const mcpAuthConfigSchema: {
|
|
56
|
+
readonly properties: {
|
|
57
|
+
readonly auth_type: {
|
|
58
|
+
readonly type: "string";
|
|
59
|
+
readonly enum: readonly ["none", "bearer", "client_credentials", "private_key_jwt", "static_private_key_jwt", "authorization_code"];
|
|
60
|
+
readonly title: "Auth Type";
|
|
61
|
+
readonly description: "Authentication method for connecting to the MCP server";
|
|
62
|
+
readonly default: "none";
|
|
63
|
+
};
|
|
64
|
+
readonly auth_token: {
|
|
65
|
+
readonly type: "string";
|
|
66
|
+
readonly format: "credential";
|
|
67
|
+
readonly title: "Bearer Token";
|
|
68
|
+
readonly description: "Static bearer token or API key (for bearer auth)";
|
|
69
|
+
};
|
|
70
|
+
readonly auth_client_id: {
|
|
71
|
+
readonly type: "string";
|
|
72
|
+
readonly title: "Client ID";
|
|
73
|
+
readonly description: "OAuth client ID (for OAuth auth types)";
|
|
74
|
+
};
|
|
75
|
+
readonly auth_client_secret: {
|
|
76
|
+
readonly type: "string";
|
|
77
|
+
readonly format: "credential";
|
|
78
|
+
readonly title: "Client Secret";
|
|
79
|
+
readonly description: "OAuth client secret (for client_credentials auth)";
|
|
80
|
+
};
|
|
81
|
+
readonly auth_private_key: {
|
|
82
|
+
readonly type: "string";
|
|
83
|
+
readonly format: "credential";
|
|
84
|
+
readonly title: "Private Key";
|
|
85
|
+
readonly description: "PEM or JWK private key (for private_key_jwt auth)";
|
|
86
|
+
};
|
|
87
|
+
readonly auth_algorithm: {
|
|
88
|
+
readonly type: "string";
|
|
89
|
+
readonly title: "Algorithm";
|
|
90
|
+
readonly description: "JWT signing algorithm, e.g. RS256, ES256 (for private_key_jwt auth)";
|
|
91
|
+
};
|
|
92
|
+
readonly auth_jwt_bearer_assertion: {
|
|
93
|
+
readonly type: "string";
|
|
94
|
+
readonly format: "credential";
|
|
95
|
+
readonly title: "JWT Assertion";
|
|
96
|
+
readonly description: "Pre-built JWT assertion (for static_private_key_jwt auth)";
|
|
97
|
+
};
|
|
98
|
+
readonly auth_redirect_url: {
|
|
99
|
+
readonly type: "string";
|
|
100
|
+
readonly format: "uri";
|
|
101
|
+
readonly title: "Redirect URL";
|
|
102
|
+
readonly description: "OAuth redirect URL (for authorization_code auth)";
|
|
103
|
+
};
|
|
104
|
+
readonly auth_scope: {
|
|
105
|
+
readonly type: "string";
|
|
106
|
+
readonly title: "Scope";
|
|
107
|
+
readonly description: "OAuth scope (space-separated)";
|
|
108
|
+
};
|
|
109
|
+
readonly auth_client_name: {
|
|
110
|
+
readonly type: "string";
|
|
111
|
+
readonly title: "Client Name";
|
|
112
|
+
readonly description: "Optional OAuth client display name";
|
|
113
|
+
};
|
|
114
|
+
readonly auth_jwt_lifetime_seconds: {
|
|
115
|
+
readonly type: "number";
|
|
116
|
+
readonly title: "JWT Lifetime";
|
|
117
|
+
readonly description: "JWT lifetime in seconds (default: 300)";
|
|
118
|
+
readonly minimum: 1;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
readonly allOf: readonly [{
|
|
122
|
+
readonly if: {
|
|
123
|
+
readonly properties: {
|
|
124
|
+
readonly auth_type: {
|
|
125
|
+
readonly const: "bearer";
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
readonly required: readonly ["auth_type"];
|
|
129
|
+
};
|
|
130
|
+
readonly then: {
|
|
131
|
+
readonly required: readonly ["auth_token"];
|
|
132
|
+
readonly properties: {
|
|
133
|
+
readonly auth_token: true;
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
}, {
|
|
137
|
+
readonly if: {
|
|
138
|
+
readonly properties: {
|
|
139
|
+
readonly auth_type: {
|
|
140
|
+
readonly const: "client_credentials";
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
readonly required: readonly ["auth_type"];
|
|
144
|
+
};
|
|
145
|
+
readonly then: {
|
|
146
|
+
readonly required: readonly ["auth_client_id", "auth_client_secret"];
|
|
147
|
+
readonly properties: {
|
|
148
|
+
readonly auth_client_id: true;
|
|
149
|
+
readonly auth_client_secret: true;
|
|
150
|
+
readonly auth_client_name: true;
|
|
151
|
+
readonly auth_scope: true;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
}, {
|
|
155
|
+
readonly if: {
|
|
156
|
+
readonly properties: {
|
|
157
|
+
readonly auth_type: {
|
|
158
|
+
readonly const: "private_key_jwt";
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
readonly required: readonly ["auth_type"];
|
|
162
|
+
};
|
|
163
|
+
readonly then: {
|
|
164
|
+
readonly required: readonly ["auth_client_id", "auth_private_key", "auth_algorithm"];
|
|
165
|
+
readonly properties: {
|
|
166
|
+
readonly auth_client_id: true;
|
|
167
|
+
readonly auth_private_key: true;
|
|
168
|
+
readonly auth_algorithm: true;
|
|
169
|
+
readonly auth_client_name: true;
|
|
170
|
+
readonly auth_jwt_lifetime_seconds: true;
|
|
171
|
+
readonly auth_scope: true;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
}, {
|
|
175
|
+
readonly if: {
|
|
176
|
+
readonly properties: {
|
|
177
|
+
readonly auth_type: {
|
|
178
|
+
readonly const: "static_private_key_jwt";
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
readonly required: readonly ["auth_type"];
|
|
182
|
+
};
|
|
183
|
+
readonly then: {
|
|
184
|
+
readonly required: readonly ["auth_client_id", "auth_jwt_bearer_assertion"];
|
|
185
|
+
readonly properties: {
|
|
186
|
+
readonly auth_client_id: true;
|
|
187
|
+
readonly auth_jwt_bearer_assertion: true;
|
|
188
|
+
readonly auth_client_name: true;
|
|
189
|
+
readonly auth_scope: true;
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
}, {
|
|
193
|
+
readonly if: {
|
|
194
|
+
readonly properties: {
|
|
195
|
+
readonly auth_type: {
|
|
196
|
+
readonly const: "authorization_code";
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
readonly required: readonly ["auth_type"];
|
|
200
|
+
};
|
|
201
|
+
readonly then: {
|
|
202
|
+
readonly required: readonly ["auth_client_id", "auth_redirect_url"];
|
|
203
|
+
readonly properties: {
|
|
204
|
+
readonly auth_client_id: true;
|
|
205
|
+
readonly auth_client_secret: true;
|
|
206
|
+
readonly auth_redirect_url: true;
|
|
207
|
+
readonly auth_scope: true;
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
}];
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* Constructs a typed McpAuthConfig from flat schema properties.
|
|
214
|
+
* Used by `createMcpClient()` to normalize the config.
|
|
215
|
+
* Returns `undefined` if required fields for the selected auth type are missing.
|
|
216
|
+
*/
|
|
217
|
+
export declare function buildAuthConfig(flat: Record<string, unknown>): McpAuthConfig | undefined;
|
|
218
|
+
//# sourceMappingURL=McpAuthTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpAuthTypes.d.ts","sourceRoot":"","sources":["../../src/util/McpAuthTypes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,sHAOf,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAIxD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,aAAa,GACb,wBAAwB,GACxB,oBAAoB,GACpB,0BAA0B,GAC1B,wBAAwB,CAAC;AAI7B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmItB,CAAC;AAmBX;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,GAAG,SAAS,CAqExF"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Browser-only MCP client util. Supports streamable-http only.
|
|
7
|
+
* stdio is not available in the browser.
|
|
8
|
+
*/
|
|
9
|
+
import { Client } from "@modelcontextprotocol/sdk/client";
|
|
10
|
+
import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
11
|
+
import type { McpServerConfig } from "./McpTaskDeps";
|
|
12
|
+
export declare const mcpTransportTypes: readonly ["streamable-http", "sse"];
|
|
13
|
+
export declare const mcpServerConfigSchema: {
|
|
14
|
+
readonly properties: {
|
|
15
|
+
readonly auth_type: {
|
|
16
|
+
readonly type: "string";
|
|
17
|
+
readonly enum: readonly ["none", "bearer", "client_credentials", "private_key_jwt", "static_private_key_jwt", "authorization_code"];
|
|
18
|
+
readonly title: "Auth Type";
|
|
19
|
+
readonly description: "Authentication method for connecting to the MCP server";
|
|
20
|
+
readonly default: "none";
|
|
21
|
+
};
|
|
22
|
+
readonly auth_token: {
|
|
23
|
+
readonly type: "string";
|
|
24
|
+
readonly format: "credential";
|
|
25
|
+
readonly title: "Bearer Token";
|
|
26
|
+
readonly description: "Static bearer token or API key (for bearer auth)";
|
|
27
|
+
};
|
|
28
|
+
readonly auth_client_id: {
|
|
29
|
+
readonly type: "string";
|
|
30
|
+
readonly title: "Client ID";
|
|
31
|
+
readonly description: "OAuth client ID (for OAuth auth types)";
|
|
32
|
+
};
|
|
33
|
+
readonly auth_client_secret: {
|
|
34
|
+
readonly type: "string";
|
|
35
|
+
readonly format: "credential";
|
|
36
|
+
readonly title: "Client Secret";
|
|
37
|
+
readonly description: "OAuth client secret (for client_credentials auth)";
|
|
38
|
+
};
|
|
39
|
+
readonly auth_private_key: {
|
|
40
|
+
readonly type: "string";
|
|
41
|
+
readonly format: "credential";
|
|
42
|
+
readonly title: "Private Key";
|
|
43
|
+
readonly description: "PEM or JWK private key (for private_key_jwt auth)";
|
|
44
|
+
};
|
|
45
|
+
readonly auth_algorithm: {
|
|
46
|
+
readonly type: "string";
|
|
47
|
+
readonly title: "Algorithm";
|
|
48
|
+
readonly description: "JWT signing algorithm, e.g. RS256, ES256 (for private_key_jwt auth)";
|
|
49
|
+
};
|
|
50
|
+
readonly auth_jwt_bearer_assertion: {
|
|
51
|
+
readonly type: "string";
|
|
52
|
+
readonly format: "credential";
|
|
53
|
+
readonly title: "JWT Assertion";
|
|
54
|
+
readonly description: "Pre-built JWT assertion (for static_private_key_jwt auth)";
|
|
55
|
+
};
|
|
56
|
+
readonly auth_redirect_url: {
|
|
57
|
+
readonly type: "string";
|
|
58
|
+
readonly format: "uri";
|
|
59
|
+
readonly title: "Redirect URL";
|
|
60
|
+
readonly description: "OAuth redirect URL (for authorization_code auth)";
|
|
61
|
+
};
|
|
62
|
+
readonly auth_scope: {
|
|
63
|
+
readonly type: "string";
|
|
64
|
+
readonly title: "Scope";
|
|
65
|
+
readonly description: "OAuth scope (space-separated)";
|
|
66
|
+
};
|
|
67
|
+
readonly auth_client_name: {
|
|
68
|
+
readonly type: "string";
|
|
69
|
+
readonly title: "Client Name";
|
|
70
|
+
readonly description: "Optional OAuth client display name";
|
|
71
|
+
};
|
|
72
|
+
readonly auth_jwt_lifetime_seconds: {
|
|
73
|
+
readonly type: "number";
|
|
74
|
+
readonly title: "JWT Lifetime";
|
|
75
|
+
readonly description: "JWT lifetime in seconds (default: 300)";
|
|
76
|
+
readonly minimum: 1;
|
|
77
|
+
};
|
|
78
|
+
readonly transport: {
|
|
79
|
+
readonly type: "string";
|
|
80
|
+
readonly enum: readonly ["streamable-http", "sse"];
|
|
81
|
+
readonly title: "Transport";
|
|
82
|
+
readonly description: "The transport type to use for connecting to the MCP server";
|
|
83
|
+
};
|
|
84
|
+
readonly server_url: {
|
|
85
|
+
readonly type: "string";
|
|
86
|
+
readonly format: "uri";
|
|
87
|
+
readonly title: "Server URL";
|
|
88
|
+
readonly description: "The URL of the MCP server (for streamable-http transport)";
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
readonly allOf: readonly Record<string, unknown>[];
|
|
92
|
+
};
|
|
93
|
+
export type McpTransportType = (typeof mcpTransportTypes)[number];
|
|
94
|
+
export declare function createMcpClient(config: McpServerConfig, signal?: AbortSignal): Promise<{
|
|
95
|
+
client: Client;
|
|
96
|
+
transport: Transport;
|
|
97
|
+
}>;
|
|
98
|
+
export declare const mcpClientFactory: {
|
|
99
|
+
create: typeof createMcpClient;
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=McpClientUtil.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpClientUtil.browser.d.ts","sourceRoot":"","sources":["../../src/util/McpClientUtil.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAK/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,iBAAiB,qCAAsC,CAAC;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BxB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC,CA2FnD;AAED,eAAO,MAAM,gBAAgB;;CAE5B,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Node/Bun MCP client util. Supports stdio, sse, and streamable-http.
|
|
7
|
+
* stdio is not available in the browser.
|
|
8
|
+
*/
|
|
9
|
+
import { Client } from "@modelcontextprotocol/sdk/client";
|
|
10
|
+
import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
11
|
+
import type { McpServerConfig } from "./McpTaskDeps";
|
|
12
|
+
export declare const mcpTransportTypes: readonly ["stdio", "sse", "streamable-http"];
|
|
13
|
+
export declare const mcpServerConfigSchema: {
|
|
14
|
+
readonly properties: {
|
|
15
|
+
readonly auth_type: {
|
|
16
|
+
readonly type: "string";
|
|
17
|
+
readonly enum: readonly ["none", "bearer", "client_credentials", "private_key_jwt", "static_private_key_jwt", "authorization_code"];
|
|
18
|
+
readonly title: "Auth Type";
|
|
19
|
+
readonly description: "Authentication method for connecting to the MCP server";
|
|
20
|
+
readonly default: "none";
|
|
21
|
+
};
|
|
22
|
+
readonly auth_token: {
|
|
23
|
+
readonly type: "string";
|
|
24
|
+
readonly format: "credential";
|
|
25
|
+
readonly title: "Bearer Token";
|
|
26
|
+
readonly description: "Static bearer token or API key (for bearer auth)";
|
|
27
|
+
};
|
|
28
|
+
readonly auth_client_id: {
|
|
29
|
+
readonly type: "string";
|
|
30
|
+
readonly title: "Client ID";
|
|
31
|
+
readonly description: "OAuth client ID (for OAuth auth types)";
|
|
32
|
+
};
|
|
33
|
+
readonly auth_client_secret: {
|
|
34
|
+
readonly type: "string";
|
|
35
|
+
readonly format: "credential";
|
|
36
|
+
readonly title: "Client Secret";
|
|
37
|
+
readonly description: "OAuth client secret (for client_credentials auth)";
|
|
38
|
+
};
|
|
39
|
+
readonly auth_private_key: {
|
|
40
|
+
readonly type: "string";
|
|
41
|
+
readonly format: "credential";
|
|
42
|
+
readonly title: "Private Key";
|
|
43
|
+
readonly description: "PEM or JWK private key (for private_key_jwt auth)";
|
|
44
|
+
};
|
|
45
|
+
readonly auth_algorithm: {
|
|
46
|
+
readonly type: "string";
|
|
47
|
+
readonly title: "Algorithm";
|
|
48
|
+
readonly description: "JWT signing algorithm, e.g. RS256, ES256 (for private_key_jwt auth)";
|
|
49
|
+
};
|
|
50
|
+
readonly auth_jwt_bearer_assertion: {
|
|
51
|
+
readonly type: "string";
|
|
52
|
+
readonly format: "credential";
|
|
53
|
+
readonly title: "JWT Assertion";
|
|
54
|
+
readonly description: "Pre-built JWT assertion (for static_private_key_jwt auth)";
|
|
55
|
+
};
|
|
56
|
+
readonly auth_redirect_url: {
|
|
57
|
+
readonly type: "string";
|
|
58
|
+
readonly format: "uri";
|
|
59
|
+
readonly title: "Redirect URL";
|
|
60
|
+
readonly description: "OAuth redirect URL (for authorization_code auth)";
|
|
61
|
+
};
|
|
62
|
+
readonly auth_scope: {
|
|
63
|
+
readonly type: "string";
|
|
64
|
+
readonly title: "Scope";
|
|
65
|
+
readonly description: "OAuth scope (space-separated)";
|
|
66
|
+
};
|
|
67
|
+
readonly auth_client_name: {
|
|
68
|
+
readonly type: "string";
|
|
69
|
+
readonly title: "Client Name";
|
|
70
|
+
readonly description: "Optional OAuth client display name";
|
|
71
|
+
};
|
|
72
|
+
readonly auth_jwt_lifetime_seconds: {
|
|
73
|
+
readonly type: "number";
|
|
74
|
+
readonly title: "JWT Lifetime";
|
|
75
|
+
readonly description: "JWT lifetime in seconds (default: 300)";
|
|
76
|
+
readonly minimum: 1;
|
|
77
|
+
};
|
|
78
|
+
readonly transport: {
|
|
79
|
+
readonly type: "string";
|
|
80
|
+
readonly enum: readonly ["stdio", "sse", "streamable-http"];
|
|
81
|
+
readonly title: "Transport";
|
|
82
|
+
readonly description: "The transport type to use for connecting to the MCP server";
|
|
83
|
+
};
|
|
84
|
+
readonly server_url: {
|
|
85
|
+
readonly type: "string";
|
|
86
|
+
readonly format: "string:uri";
|
|
87
|
+
readonly title: "Server URL";
|
|
88
|
+
readonly description: "The URL of the MCP server (for sse and streamable-http transports)";
|
|
89
|
+
};
|
|
90
|
+
readonly command: {
|
|
91
|
+
readonly type: "string";
|
|
92
|
+
readonly title: "Command";
|
|
93
|
+
readonly description: "The command to run (for stdio transport)";
|
|
94
|
+
};
|
|
95
|
+
readonly args: {
|
|
96
|
+
readonly type: "array";
|
|
97
|
+
readonly items: {
|
|
98
|
+
readonly type: "string";
|
|
99
|
+
};
|
|
100
|
+
readonly title: "Arguments";
|
|
101
|
+
readonly description: "Command arguments (for stdio transport)";
|
|
102
|
+
};
|
|
103
|
+
readonly env: {
|
|
104
|
+
readonly type: "object";
|
|
105
|
+
readonly additionalProperties: {
|
|
106
|
+
readonly type: "string";
|
|
107
|
+
};
|
|
108
|
+
readonly title: "Environment";
|
|
109
|
+
readonly description: "Environment variables (for stdio transport)";
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
readonly allOf: readonly Record<string, unknown>[];
|
|
113
|
+
};
|
|
114
|
+
export type McpTransportType = (typeof mcpTransportTypes)[number];
|
|
115
|
+
export declare function createMcpClient(config: McpServerConfig, signal?: AbortSignal): Promise<{
|
|
116
|
+
client: Client;
|
|
117
|
+
transport: Transport;
|
|
118
|
+
}>;
|
|
119
|
+
export declare const mcpClientFactory: {
|
|
120
|
+
create: typeof createMcpClient;
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=McpClientUtil.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpClientUtil.node.d.ts","sourceRoot":"","sources":["../../src/util/McpClientUtil.node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAK1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAK/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,iBAAiB,8CAA+C,CAAC;AAE9E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDxB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC,CAwGnD;AAED,eAAO,MAAM,gBAAgB;;CAE5B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Platform MCP client + JSON Schema for MCP tasks. Registered from browser/node/bun
|
|
7
|
+
* entry files so task implementations do not import `@workglow/tasks` (self-import).
|
|
8
|
+
*/
|
|
9
|
+
import type { Client } from "@modelcontextprotocol/sdk/client";
|
|
10
|
+
import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
11
|
+
import type { OAuthClientProvider } from "@modelcontextprotocol/sdk/client/auth.js";
|
|
12
|
+
import type { DataPortSchemaObject } from "@workglow/util/schema";
|
|
13
|
+
import type { McpAuthConfig } from "./McpAuthTypes";
|
|
14
|
+
/** Configuration for connecting to an MCP server (superset of all platform transports). */
|
|
15
|
+
export interface McpServerConfig {
|
|
16
|
+
readonly transport?: string;
|
|
17
|
+
readonly server_url?: string;
|
|
18
|
+
readonly command?: string;
|
|
19
|
+
readonly args?: string[];
|
|
20
|
+
readonly env?: Readonly<Record<string, string>>;
|
|
21
|
+
readonly auth?: McpAuthConfig;
|
|
22
|
+
readonly auth_type?: string;
|
|
23
|
+
readonly authProvider?: OAuthClientProvider;
|
|
24
|
+
}
|
|
25
|
+
export interface McpTaskDeps {
|
|
26
|
+
readonly mcpClientFactory: {
|
|
27
|
+
readonly create: (config: McpServerConfig, signal?: AbortSignal) => Promise<{
|
|
28
|
+
client: Client;
|
|
29
|
+
transport: Transport;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
32
|
+
readonly mcpServerConfigSchema: {
|
|
33
|
+
readonly properties: DataPortSchemaObject["properties"];
|
|
34
|
+
readonly allOf: NonNullable<DataPortSchemaObject["allOf"]>;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export declare const MCP_TASK_DEPS: import("@workglow/util").ServiceToken<McpTaskDeps>;
|
|
38
|
+
export declare function registerMcpTaskDeps(deps: McpTaskDeps): void;
|
|
39
|
+
export declare function getMcpTaskDeps(): McpTaskDeps;
|
|
40
|
+
//# sourceMappingURL=McpTaskDeps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpTaskDeps.d.ts","sourceRoot":"","sources":["../../src/util/McpTaskDeps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAE9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,MAAM,EAAE,CACf,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,SAAS,CAAA;SAAE,CAAC,CAAC;KACxD,CAAC;IACF,QAAQ,CAAC,qBAAqB,EAAE;QAC9B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACxD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;KAC5D,CAAC;CACH;AAED,eAAO,MAAM,aAAa,oDAAyD,CAAC;AAEpF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAE3D;AAED,wBAAgB,cAAc,IAAI,WAAW,CAO5C"}
|
package/dist/util/acorn.d.ts
CHANGED
|
@@ -3,21 +3,12 @@
|
|
|
3
3
|
* Copyright 2012 Marijn Haverbeke
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
declare var version: string;
|
|
7
7
|
/**
|
|
8
8
|
* @param {string} inpt
|
|
9
9
|
* @param {Object=} opts
|
|
10
10
|
* @returns
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* @constructor
|
|
15
|
-
*/
|
|
16
|
-
declare function node_t(): void;
|
|
17
|
-
declare class node_t {
|
|
18
|
-
type: any;
|
|
19
|
-
start: number;
|
|
20
|
-
end: any;
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
12
|
+
declare var parse: (inpt: string, opts?: Object | undefined) => node_t;
|
|
13
|
+
export { version, parse };
|
|
23
14
|
//# sourceMappingURL=acorn.d.ts.map
|
package/dist/util/acorn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorn.d.ts","sourceRoot":"","sources":["../../src/util/acorn.js"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,
|
|
1
|
+
{"version":3,"file":"acorn.d.ts","sourceRoot":"","sources":["../../src/util/acorn.js"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,QAAA,IAAI,OAAO,QAAU,CAAC;AA8BtB;;;;GAIG;AACH,QAAA,IAAI,KAAK,qDAMR,CAAC;AA0wEF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC"}
|