@llmindset/hf-mcp 0.2.52 → 0.2.54
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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/space/commands/discover.d.ts.map +1 -1
- package/dist/space/commands/discover.js +2 -1
- package/dist/space/commands/discover.js.map +1 -1
- package/dist/space/commands/dynamic-find.d.ts.map +1 -1
- package/dist/space/commands/dynamic-find.js +2 -1
- package/dist/space/commands/dynamic-find.js.map +1 -1
- package/dist/space/commands/invoke.d.ts.map +1 -1
- package/dist/space/commands/invoke.js +14 -110
- package/dist/space/commands/invoke.js.map +1 -1
- package/dist/space/{space-tool.d.ts → dynamic-space-tool.d.ts} +2 -2
- package/dist/space/dynamic-space-tool.d.ts.map +1 -0
- package/dist/space/{space-tool.js → dynamic-space-tool.js} +29 -45
- package/dist/space/dynamic-space-tool.js.map +1 -0
- package/dist/space/types.d.ts +3 -1
- package/dist/space/types.d.ts.map +1 -1
- package/dist/space/types.js +14 -9
- package/dist/space/types.js.map +1 -1
- package/dist/space/utils/gradio-caller.d.ts +14 -0
- package/dist/space/utils/gradio-caller.d.ts.map +1 -0
- package/dist/space/utils/gradio-caller.js +138 -0
- package/dist/space/utils/gradio-caller.js.map +1 -0
- package/dist/space/utils/gradio-schema.d.ts +13 -0
- package/dist/space/utils/gradio-schema.d.ts.map +1 -0
- package/dist/space/utils/gradio-schema.js +44 -0
- package/dist/space/utils/gradio-schema.js.map +1 -0
- package/dist/space/utils/parameter-formatter.js +2 -2
- package/dist/space/utils/parameter-formatter.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -1
- package/src/space/commands/discover.ts +2 -1
- package/src/space/commands/dynamic-find.ts +2 -1
- package/src/space/commands/invoke.ts +13 -147
- package/src/space/{space-tool.ts → dynamic-space-tool.ts} +29 -44
- package/src/space/types.ts +24 -18
- package/src/space/utils/gradio-caller.ts +204 -0
- package/src/space/utils/gradio-schema.ts +74 -0
- package/src/space/utils/parameter-formatter.ts +2 -2
- package/test/gradio-caller.test.ts +77 -0
- package/dist/space/space-tool.d.ts.map +0 -1
- package/dist/space/space-tool.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -19,7 +19,9 @@ export * from './docs-search/doc-fetch.js';
|
|
|
19
19
|
export * from './readme-utils.js';
|
|
20
20
|
export * from './use-space.js';
|
|
21
21
|
export * from './jobs/jobs-tool.js';
|
|
22
|
-
export * from './space/space-tool.js';
|
|
22
|
+
export * from './space/dynamic-space-tool.js';
|
|
23
|
+
export * from './space/utils/gradio-caller.js';
|
|
24
|
+
export * from './space/utils/gradio-schema.js';
|
|
23
25
|
export * from './types/tool-result.js';
|
|
24
26
|
export * from './tool-ids.js';
|
|
25
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,9 @@ export * from './docs-search/doc-fetch.js';
|
|
|
19
19
|
export * from './readme-utils.js';
|
|
20
20
|
export * from './use-space.js';
|
|
21
21
|
export * from './jobs/jobs-tool.js';
|
|
22
|
-
export * from './space/space-tool.js';
|
|
22
|
+
export * from './space/dynamic-space-tool.js';
|
|
23
|
+
export * from './space/utils/gradio-caller.js';
|
|
24
|
+
export * from './space/utils/gradio-schema.js';
|
|
23
25
|
export * from './types/tool-result.js';
|
|
24
26
|
export * from './tool-ids.js';
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/space/commands/discover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/space/commands/discover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAQ7D,eAAO,MAAM,gBAAgB;;;uBAaT,MAAM,SAAS,MAAM,KAAG,MAAM;CACjD,CAAC;AAyDF,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAyC1D"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { escapeMarkdown } from '../../utilities.js';
|
|
2
|
+
import { VIEW_PARAMETERS } from '../types.js';
|
|
2
3
|
export const DISCOVER_PROMPTS = {
|
|
3
4
|
RESULTS_HEADER: `**Available Spaces:**
|
|
4
5
|
|
|
5
6
|
These spaces can be invoked using the \`dynamic_space\` tool.
|
|
6
|
-
Use \`"operation": "
|
|
7
|
+
Use \`"operation": "${VIEW_PARAMETERS}"\` to inspect a space's parameters before invoking.
|
|
7
8
|
|
|
8
9
|
`,
|
|
9
10
|
NO_RESULTS: `No spaces available in the configured list.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/space/commands/discover.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/space/commands/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-find.d.ts","sourceRoot":"","sources":["../../../src/space/commands/dynamic-find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic-find.d.ts","sourceRoot":"","sources":["../../../src/space/commands/dynamic-find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA6E7D,wBAAsB,UAAU,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,GAAE,MAA8B,EACrC,OAAO,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CA8BrB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SpaceSearchTool } from '../../space-search.js';
|
|
2
2
|
import { escapeMarkdown } from '../../utilities.js';
|
|
3
|
+
import { VIEW_PARAMETERS } from '../dynamic-space-tool.js';
|
|
3
4
|
const DEFAULT_RESULTS_LIMIT = 10;
|
|
4
5
|
const FIND_PROMPTS = {
|
|
5
6
|
TASK_HINTS: `Here are some examples of tasks that dynamic spaces can perform:
|
|
@@ -40,7 +41,7 @@ To find MCP-enabled Spaces for a specific task, call this operation with a searc
|
|
|
40
41
|
return `# MCP Space Find Results for "${query}" (${showingText})
|
|
41
42
|
|
|
42
43
|
These MCP-enabled Spaces can be invoked using the \`dynamic_space\` tool.
|
|
43
|
-
Use \`"operation": "
|
|
44
|
+
Use \`"operation": "${VIEW_PARAMETERS}"\` to inspect a space's parameters before invoking.
|
|
44
45
|
|
|
45
46
|
`;
|
|
46
47
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-find.js","sourceRoot":"","sources":["../../../src/space/commands/dynamic-find.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA0B,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic-find.js","sourceRoot":"","sources":["../../../src/space/commands/dynamic-find.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../../src/space/commands/invoke.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAQ,kBAAkB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../../src/space/commands/invoke.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAQ,kBAAkB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAUxF,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC5D,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,CA+FpC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
-
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
3
|
-
import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
|
|
4
1
|
import { analyzeSchemaComplexity, validateParameters, applyDefaults } from '../utils/schema-validator.js';
|
|
5
2
|
import { formatComplexSchemaError, formatValidationError } from '../utils/parameter-formatter.js';
|
|
3
|
+
import { callGradioToolWithHeaders } from '../utils/gradio-caller.js';
|
|
4
|
+
import { parseGradioSchemaResponse, normalizeParsedTools } from '../utils/gradio-schema.js';
|
|
6
5
|
export async function invokeSpace(spaceName, parametersJson, hfToken, extra) {
|
|
7
6
|
try {
|
|
8
7
|
let inputParameters;
|
|
@@ -59,42 +58,16 @@ export async function invokeSpace(spaceName, parametersJson, hfToken, extra) {
|
|
|
59
58
|
}
|
|
60
59
|
const finalParameters = applyDefaults(inputParameters, schemaResult);
|
|
61
60
|
const sseUrl = `https://${metadata.subdomain}.hf.space/gradio_api/mcp/sse`;
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
progress: progress.progress,
|
|
73
|
-
total: progress.total,
|
|
74
|
-
message: progress.message,
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
const result = await client.request({
|
|
80
|
-
method: 'tools/call',
|
|
81
|
-
params: {
|
|
82
|
-
name: tool.name,
|
|
83
|
-
arguments: finalParameters,
|
|
84
|
-
_meta: progressToken !== undefined ? { progressToken } : undefined,
|
|
85
|
-
},
|
|
86
|
-
}, CallToolResultSchema, requestOptions);
|
|
87
|
-
return {
|
|
88
|
-
result,
|
|
89
|
-
warnings,
|
|
90
|
-
totalResults: 1,
|
|
91
|
-
resultsShared: 1,
|
|
92
|
-
isError: result.isError,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
finally {
|
|
96
|
-
await client.close();
|
|
97
|
-
}
|
|
61
|
+
const { result } = await callGradioToolWithHeaders(sseUrl, tool.name, finalParameters, hfToken, extra, {
|
|
62
|
+
logProxiedReplica: true,
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
result,
|
|
66
|
+
warnings,
|
|
67
|
+
totalResults: 1,
|
|
68
|
+
resultsShared: 1,
|
|
69
|
+
isError: result.isError,
|
|
70
|
+
};
|
|
98
71
|
}
|
|
99
72
|
catch (error) {
|
|
100
73
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -157,80 +130,11 @@ async function fetchGradioSchema(subdomain, isPrivate, hfToken) {
|
|
|
157
130
|
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
158
131
|
}
|
|
159
132
|
const schemaResponse = (await response.json());
|
|
160
|
-
|
|
133
|
+
const parsed = parseGradioSchemaResponse(schemaResponse);
|
|
134
|
+
return normalizeParsedTools(parsed);
|
|
161
135
|
}
|
|
162
136
|
finally {
|
|
163
137
|
clearTimeout(timeoutId);
|
|
164
138
|
}
|
|
165
139
|
}
|
|
166
|
-
function parseSchemaResponse(schemaResponse) {
|
|
167
|
-
const tools = [];
|
|
168
|
-
if (Array.isArray(schemaResponse)) {
|
|
169
|
-
for (const item of schemaResponse) {
|
|
170
|
-
if (typeof item === 'object' &&
|
|
171
|
-
item !== null &&
|
|
172
|
-
'name' in item &&
|
|
173
|
-
'inputSchema' in item) {
|
|
174
|
-
const itemRecord = item;
|
|
175
|
-
if (typeof itemRecord.name === 'string') {
|
|
176
|
-
const tool = itemRecord;
|
|
177
|
-
tools.push({
|
|
178
|
-
name: tool.name,
|
|
179
|
-
description: tool.description || `${tool.name} tool`,
|
|
180
|
-
inputSchema: {
|
|
181
|
-
type: 'object',
|
|
182
|
-
...tool.inputSchema,
|
|
183
|
-
},
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
else if (typeof schemaResponse === 'object' && schemaResponse !== null) {
|
|
190
|
-
for (const [name, toolSchema] of Object.entries(schemaResponse)) {
|
|
191
|
-
if (typeof toolSchema === 'object' && toolSchema !== null) {
|
|
192
|
-
const schema = toolSchema;
|
|
193
|
-
tools.push({
|
|
194
|
-
name,
|
|
195
|
-
description: schema.description || `${name} tool`,
|
|
196
|
-
inputSchema: {
|
|
197
|
-
type: 'object',
|
|
198
|
-
...toolSchema,
|
|
199
|
-
},
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return tools.filter((tool) => !tool.name.toLowerCase().includes('<lambda'));
|
|
205
|
-
}
|
|
206
|
-
async function createLazyConnection(sseUrl, hfToken) {
|
|
207
|
-
const remoteClient = new Client({
|
|
208
|
-
name: 'hf-mcp-space-client',
|
|
209
|
-
version: '1.0.0',
|
|
210
|
-
}, {
|
|
211
|
-
capabilities: {},
|
|
212
|
-
});
|
|
213
|
-
const transportOptions = {};
|
|
214
|
-
if (hfToken) {
|
|
215
|
-
const headerName = 'X-HF-Authorization';
|
|
216
|
-
const customHeaders = {
|
|
217
|
-
[headerName]: `Bearer ${hfToken}`,
|
|
218
|
-
};
|
|
219
|
-
transportOptions.requestInit = {
|
|
220
|
-
headers: customHeaders,
|
|
221
|
-
};
|
|
222
|
-
transportOptions.eventSourceInit = {
|
|
223
|
-
fetch: (url, init) => {
|
|
224
|
-
const headers = new Headers(init.headers);
|
|
225
|
-
Object.entries(customHeaders).forEach(([key, value]) => {
|
|
226
|
-
headers.set(key, value);
|
|
227
|
-
});
|
|
228
|
-
return fetch(url.toString(), { ...init, headers });
|
|
229
|
-
},
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
const transport = new SSEClientTransport(new URL(sseUrl), transportOptions);
|
|
233
|
-
await remoteClient.connect(transport);
|
|
234
|
-
return remoteClient;
|
|
235
|
-
}
|
|
236
140
|
//# sourceMappingURL=invoke.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../src/space/commands/invoke.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../src/space/commands/invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export declare const DYNAMIC_SPACE_TOOL_CONFIG: {
|
|
|
37
37
|
search_query?: string | undefined;
|
|
38
38
|
}>;
|
|
39
39
|
readonly annotations: {
|
|
40
|
-
readonly title: "Dynamically use
|
|
40
|
+
readonly title: "Dynamically use Hugging Face Spaces";
|
|
41
41
|
readonly readOnlyHint: false;
|
|
42
42
|
readonly openWorldHint: true;
|
|
43
43
|
};
|
|
@@ -51,4 +51,4 @@ export declare class SpaceTool {
|
|
|
51
51
|
private handleViewParameters;
|
|
52
52
|
private handleInvoke;
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=space-tool.d.ts.map
|
|
54
|
+
//# sourceMappingURL=dynamic-space-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-space-tool.d.ts","sourceRoot":"","sources":["../../src/space/dynamic-space-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,YAAY,EAMjB,MAAM,YAAY,CAAC;AAOpB,cAAc,YAAY,CAAC;AAkI3B,wBAAgB,yBAAyB,IAAI;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACnC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9E,CAgBA;AAKD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW5B,CAAC;AAKX,qBAAa,SAAS;IACrB,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,OAAO,CAAC,EAAE,MAAM;IAStB,OAAO,CACZ,MAAM,EAAE,SAAS,EACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC5D,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC;YAgEvB,UAAU;YAOV,cAAc;YAOd,oBAAoB;YAyBpB,YAAY;CA+C1B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { spaceArgsSchema, isDynamicSpaceMode, getOperationNames, getSpaceArgsSchema, } from './types.js';
|
|
1
|
+
import { spaceArgsSchema, isDynamicSpaceMode, getOperationNames, getSpaceArgsSchema, VIEW_PARAMETERS, FILE_HANDLING_TEXT, } from './types.js';
|
|
2
2
|
import { findSpaces } from './commands/dynamic-find.js';
|
|
3
3
|
import { discoverSpaces } from './commands/discover.js';
|
|
4
4
|
import { viewParameters } from './commands/view-parameters.js';
|
|
@@ -7,11 +7,6 @@ export * from './types.js';
|
|
|
7
7
|
const USAGE_INSTRUCTIONS = `# Gradio Space Interaction
|
|
8
8
|
|
|
9
9
|
Dynamically interact with any Gradio MCP Space. Find spaces, view space parameter schemas, and invoke spaces.
|
|
10
|
-
|
|
11
|
-
## Supported Schema Types
|
|
12
|
-
|
|
13
|
-
✅ **Simple types** (supported):
|
|
14
|
-
- Strings, numbers, booleans
|
|
15
10
|
- Enums (predefined value sets)
|
|
16
11
|
- Arrays of primitives
|
|
17
12
|
- Shallow objects (one level deep)
|
|
@@ -33,13 +28,13 @@ Find MCP-enabled Spaces for available for invocation based on task-focused or se
|
|
|
33
28
|
}
|
|
34
29
|
\`\`\`
|
|
35
30
|
|
|
36
|
-
###
|
|
31
|
+
### ${VIEW_PARAMETERS}
|
|
37
32
|
Display the parameter schema for a space's first tool.
|
|
38
33
|
|
|
39
34
|
**Example:**
|
|
40
35
|
\`\`\`json
|
|
41
36
|
{
|
|
42
|
-
"operation": "
|
|
37
|
+
"operation": "${VIEW_PARAMETERS}",
|
|
43
38
|
"space_name": "evalstate/FLUX1_schnell"
|
|
44
39
|
}
|
|
45
40
|
\`\`\`
|
|
@@ -59,27 +54,27 @@ Execute a space's first tool with provided parameters.
|
|
|
59
54
|
## Workflow
|
|
60
55
|
|
|
61
56
|
1. **Find Spaces** - Use \`find\` to find MCP-enabled spaces for your task
|
|
62
|
-
2. **Inspect Parameters** - Use \`
|
|
57
|
+
2. **Inspect Parameters** - Use \`${VIEW_PARAMETERS}\` to see what a space accepts
|
|
63
58
|
3. **Invoke the Space** - Use \`invoke\` with the required parameters
|
|
64
|
-
|
|
65
|
-
## File Handling
|
|
66
|
-
|
|
67
59
|
For parameters that accept files (FileData types):
|
|
68
60
|
- Provide a publicly accessible URL (http:// or https://)
|
|
69
61
|
- Example: \`{"image": "https://example.com/photo.jpg"}\`
|
|
70
|
-
- Outputs from one tool may be used as inputs to another
|
|
71
|
-
|
|
72
|
-
## Tips
|
|
73
|
-
|
|
74
|
-
- Focus searches on specific tasks (e.g., "video generation", "object detection")
|
|
75
62
|
- The tool automatically applies default values for optional parameters
|
|
76
63
|
- Unknown parameters generate warnings but are still passed through (permissive inputs)
|
|
77
|
-
- Enum parameters show all allowed values in
|
|
64
|
+
- Enum parameters show all allowed values in ${VIEW_PARAMETERS} output
|
|
78
65
|
- Required parameters are clearly marked and validated
|
|
79
66
|
`;
|
|
80
|
-
const DYNAMIC_USAGE_INSTRUCTIONS = `#
|
|
67
|
+
const DYNAMIC_USAGE_INSTRUCTIONS = `# Hugging Face Space Dynamic Use
|
|
68
|
+
|
|
69
|
+
Perform Tasks using Hugging Face Spaces.
|
|
70
|
+
|
|
71
|
+
## Workflow
|
|
72
|
+
|
|
73
|
+
1. **Discover Taks and Spaces** - Use \`discover\` operation to see available spaces
|
|
74
|
+
2. **View Parameters** - Use \`${VIEW_PARAMETERS}\` operation to inspect parameter schema
|
|
75
|
+
3. **Invoke the Space** - Use \`invoke\` operation with the necessary parameters
|
|
81
76
|
|
|
82
|
-
|
|
77
|
+
${FILE_HANDLING_TEXT}
|
|
83
78
|
|
|
84
79
|
## Available Operations
|
|
85
80
|
|
|
@@ -93,19 +88,19 @@ List recommended spaces and their categories.
|
|
|
93
88
|
}
|
|
94
89
|
\`\`\`
|
|
95
90
|
|
|
96
|
-
###
|
|
97
|
-
Display the parameter schema for
|
|
91
|
+
### ${VIEW_PARAMETERS}
|
|
92
|
+
Display the parameter schema for the Space.
|
|
98
93
|
|
|
99
94
|
**Example:**
|
|
100
95
|
\`\`\`json
|
|
101
96
|
{
|
|
102
|
-
"operation": "
|
|
97
|
+
"operation": "${VIEW_PARAMETERS}",
|
|
103
98
|
"space_name": "evalstate/FLUX1_schnell"
|
|
104
99
|
}
|
|
105
100
|
\`\`\`
|
|
106
101
|
|
|
107
102
|
### invoke
|
|
108
|
-
Execute a
|
|
103
|
+
Execute a Task on a Space.
|
|
109
104
|
|
|
110
105
|
**Example:**
|
|
111
106
|
\`\`\`json
|
|
@@ -116,18 +111,7 @@ Execute a space's first tool with provided parameters.
|
|
|
116
111
|
}
|
|
117
112
|
\`\`\`
|
|
118
113
|
|
|
119
|
-
## Workflow
|
|
120
|
-
|
|
121
|
-
1. **Discover Spaces** - Use \`discover\` to see available spaces
|
|
122
|
-
2. **Inspect Parameters** - Use \`view_parameters\` to see what a space accepts
|
|
123
|
-
3. **Invoke the Space** - Use \`invoke\` with the required parameters
|
|
124
114
|
|
|
125
|
-
## File Handling
|
|
126
|
-
|
|
127
|
-
For parameters that accept files (FileData types):
|
|
128
|
-
- Provide a publicly accessible URL (http:// or https://)
|
|
129
|
-
- Example: \`{"image": "https://example.com/photo.jpg"}\`
|
|
130
|
-
- Output url's from one tool may be used as inputs to another.
|
|
131
115
|
`;
|
|
132
116
|
function getUsageInstructions() {
|
|
133
117
|
return isDynamicSpaceMode() ? DYNAMIC_USAGE_INSTRUCTIONS : USAGE_INSTRUCTIONS;
|
|
@@ -137,13 +121,13 @@ export function getDynamicSpaceToolConfig() {
|
|
|
137
121
|
return {
|
|
138
122
|
name: 'dynamic_space',
|
|
139
123
|
description: dynamicMode
|
|
140
|
-
? '
|
|
141
|
-
'Call with no
|
|
142
|
-
: 'Find (semantic/task search), inspect (view parameter schema) and dynamically invoke
|
|
143
|
-
'Call with no
|
|
124
|
+
? 'Perform Tasks with Hugging Face Spaces. Use "discover" to view available Tasks. Examples are Image Generation/Editing, Background Removal, Text to Speech, OCR and many more. ' +
|
|
125
|
+
'Call with no arguments for full usage instructions.'
|
|
126
|
+
: 'Find (semantic/task search), inspect (view parameter schema) and dynamically invoke Hugging Face Spaces. ' +
|
|
127
|
+
'Call with no arguments for full usage instructions.',
|
|
144
128
|
schema: getSpaceArgsSchema(),
|
|
145
129
|
annotations: {
|
|
146
|
-
title: 'Dynamically use
|
|
130
|
+
title: 'Dynamically use Hugging Face Spaces',
|
|
147
131
|
readOnlyHint: false,
|
|
148
132
|
openWorldHint: true,
|
|
149
133
|
},
|
|
@@ -151,11 +135,11 @@ export function getDynamicSpaceToolConfig() {
|
|
|
151
135
|
}
|
|
152
136
|
export const DYNAMIC_SPACE_TOOL_CONFIG = {
|
|
153
137
|
name: 'dynamic_space',
|
|
154
|
-
description: 'Find (semantic/task search), inspect (view parameter schema) and dynamically invoke
|
|
138
|
+
description: 'Find (semantic/task search), inspect (view parameter schema) and dynamically invoke Hugging Face Spaces. ' +
|
|
155
139
|
'Call with no operation for full usage instructions.',
|
|
156
140
|
schema: spaceArgsSchema,
|
|
157
141
|
annotations: {
|
|
158
|
-
title: 'Dynamically use
|
|
142
|
+
title: 'Dynamically use Hugging Face Spaces',
|
|
159
143
|
readOnlyHint: false,
|
|
160
144
|
openWorldHint: true,
|
|
161
145
|
},
|
|
@@ -230,7 +214,7 @@ Call this tool with no operation for full usage instructions.`,
|
|
|
230
214
|
Example:
|
|
231
215
|
\`\`\`json
|
|
232
216
|
{
|
|
233
|
-
"operation": "
|
|
217
|
+
"operation": "${VIEW_PARAMETERS}",
|
|
234
218
|
"space_name": "username/space-name"
|
|
235
219
|
}
|
|
236
220
|
\`\`\``,
|
|
@@ -274,7 +258,7 @@ Example:
|
|
|
274
258
|
}
|
|
275
259
|
\`\`\`
|
|
276
260
|
|
|
277
|
-
Use "
|
|
261
|
+
Use "${VIEW_PARAMETERS}" to see what parameters this space accepts.`,
|
|
278
262
|
totalResults: 0,
|
|
279
263
|
resultsShared: 0,
|
|
280
264
|
isError: true,
|
|
@@ -283,4 +267,4 @@ Use "view_parameters" to see what parameters this space accepts.`,
|
|
|
283
267
|
return await invokeSpace(params.space_name, params.parameters, this.hfToken, extra);
|
|
284
268
|
}
|
|
285
269
|
}
|
|
286
|
-
//# sourceMappingURL=space-tool.js.map
|
|
270
|
+
//# sourceMappingURL=dynamic-space-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-space-tool.js","sourceRoot":"","sources":["../../src/space/dynamic-space-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/space/types.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const VIEW_PARAMETERS = "view_parameters";
|
|
2
3
|
export declare const OPERATION_NAMES: readonly ["find", "view_parameters", "invoke"];
|
|
3
4
|
export declare const DYNAMIC_OPERATION_NAMES: readonly ["discover", "view_parameters", "invoke"];
|
|
4
5
|
export type OperationName = (typeof OPERATION_NAMES)[number];
|
|
5
6
|
export type DynamicOperationName = (typeof DYNAMIC_OPERATION_NAMES)[number];
|
|
7
|
+
export declare const FILE_INPUT_HELP_MESSAGE: string;
|
|
8
|
+
export declare const FILE_HANDLING_TEXT = "For parameters that accept files (FileData, Images, file URL types):\n- Provide a publicly accessible URL (http:// or https://)\n- Example: `{\"image\": \"https://example.com/photo.jpg\"}`\n- URL's generated by one Space can be used as inputs to another Space.";
|
|
6
9
|
export declare function isDynamicSpaceMode(): boolean;
|
|
7
10
|
export declare function getOperationNames(): readonly string[];
|
|
8
11
|
export declare const spaceArgsSchema: z.ZodObject<{
|
|
@@ -81,7 +84,6 @@ export interface JsonSchema {
|
|
|
81
84
|
description?: string;
|
|
82
85
|
[key: string]: unknown;
|
|
83
86
|
}
|
|
84
|
-
export declare const FILE_INPUT_HELP_MESSAGE: string;
|
|
85
87
|
export declare function isFileDataProperty(prop: JsonSchemaProperty): boolean;
|
|
86
88
|
export declare function hasFileData(schema: JsonSchema): boolean;
|
|
87
89
|
export interface InvokeResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/space/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/space/types.ts"],"names":[],"mappings":"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"}
|
package/dist/space/types.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export const
|
|
3
|
-
export const
|
|
2
|
+
export const VIEW_PARAMETERS = 'view_parameters';
|
|
3
|
+
export const OPERATION_NAMES = ['find', VIEW_PARAMETERS, 'invoke'];
|
|
4
|
+
export const DYNAMIC_OPERATION_NAMES = ['discover', VIEW_PARAMETERS, 'invoke'];
|
|
5
|
+
export const FILE_INPUT_HELP_MESSAGE = 'Provide a publicly accessible URL (http:// or https://) for the file input. ' +
|
|
6
|
+
"Previously generated URL's are usable. ";
|
|
7
|
+
export const FILE_HANDLING_TEXT = `For parameters that accept files (FileData, Images, file URL types):
|
|
8
|
+
- Provide a publicly accessible URL (http:// or https://)
|
|
9
|
+
- Example: \`{"image": "https://example.com/photo.jpg"}\`
|
|
10
|
+
- URL's generated by one Space can be used as inputs to another Space.`;
|
|
4
11
|
export function isDynamicSpaceMode() {
|
|
5
12
|
return !!process.env.DYNAMIC_SPACE_DATA;
|
|
6
13
|
}
|
|
@@ -12,8 +19,8 @@ export const spaceArgsSchema = z.object({
|
|
|
12
19
|
space_name: z
|
|
13
20
|
.string()
|
|
14
21
|
.optional()
|
|
15
|
-
.describe(
|
|
16
|
-
parameters: z.string().optional().describe('
|
|
22
|
+
.describe(`Space ID (format: "username/space-name"). Required for operation = ${VIEW_PARAMETERS} or invoke.`),
|
|
23
|
+
parameters: z.string().optional().describe('Required for invoke operation: JSON object string of parameters'),
|
|
17
24
|
search_query: z
|
|
18
25
|
.string()
|
|
19
26
|
.optional()
|
|
@@ -21,18 +28,16 @@ export const spaceArgsSchema = z.object({
|
|
|
21
28
|
limit: z.number().optional().describe('For find operation: Maximum number of results to return (default: 10)'),
|
|
22
29
|
});
|
|
23
30
|
export const dynamicSpaceArgsSchema = z.object({
|
|
24
|
-
operation: z.enum(DYNAMIC_OPERATION_NAMES).optional().describe('Operation to
|
|
31
|
+
operation: z.enum(DYNAMIC_OPERATION_NAMES).optional().describe('Operation to perform.'),
|
|
25
32
|
space_name: z
|
|
26
33
|
.string()
|
|
27
34
|
.optional()
|
|
28
|
-
.describe(
|
|
29
|
-
parameters: z.string().optional().describe('
|
|
35
|
+
.describe(`Space ID (format: "username/space-name"). Required for "${VIEW_PARAMETERS}" and "invoke" operations.`),
|
|
36
|
+
parameters: z.string().optional().describe('JSON object string of parameters. Only used for "invoke" operation.'),
|
|
30
37
|
});
|
|
31
38
|
export function getSpaceArgsSchema() {
|
|
32
39
|
return isDynamicSpaceMode() ? dynamicSpaceArgsSchema : spaceArgsSchema;
|
|
33
40
|
}
|
|
34
|
-
export const FILE_INPUT_HELP_MESSAGE = 'Provide a publicly accessible URL (http:// or https://) for the Gradio file input. ' +
|
|
35
|
-
"Content previously generated by 'invoke' is usable, as well as Hub Repository URLs. ";
|
|
36
41
|
export function isFileDataProperty(prop) {
|
|
37
42
|
return (prop.title === 'ImageData' ||
|
|
38
43
|
prop.title === 'FileData' ||
|
package/dist/space/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/space/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/space/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAU,CAAC;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAU,CAAC;AAOxF,MAAM,CAAC,MAAM,uBAAuB,GACnC,8EAA8E;IAC9E,yCAAyC,CAAC;AAK3C,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;uEAGqC,CAAC;AAKxE,MAAM,UAAU,kBAAkB;IACjC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACzC,CAAC;AAKD,MAAM,UAAU,iBAAiB;IAChC,OAAO,kBAAkB,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC;AACzE,CAAC;AAKD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC/E,UAAU,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sEAAsE,eAAe,aAAa,CAAC;IAC9G,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC7G,YAAY,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,kLAAkL,CAClL;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;CAC9G,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACvF,UAAU,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,eAAe,4BAA4B,CAAC;IAClH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;CACjH,CAAC,CAAC;AAKH,MAAM,UAAU,kBAAkB;IACjC,OAAO,kBAAkB,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,CAAC;AACxE,CAAC;AAqED,MAAM,UAAU,kBAAkB,CAAC,IAAwB;IAC1D,OAAO,CACN,IAAI,CAAC,KAAK,KAAK,WAAW;QAC1B,IAAI,CAAC,KAAK,KAAK,UAAU;QACzB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChE,KAAK,CACL,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC7C,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CallToolResultSchema, type ServerNotification, type ServerRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
3
|
+
export interface GradioCallResult {
|
|
4
|
+
result: typeof CallToolResultSchema._type;
|
|
5
|
+
capturedHeaders: Record<string, string>;
|
|
6
|
+
}
|
|
7
|
+
export interface GradioCallOptions {
|
|
8
|
+
onHeaders?: (headers: Headers) => void;
|
|
9
|
+
logProxiedReplica?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function extractReplicaId(headerValue: string | undefined): string | null;
|
|
12
|
+
export declare function rewriteReplicaUrlsInResult(result: typeof CallToolResultSchema._type, proxiedReplicaHeader: string | undefined): typeof CallToolResultSchema._type;
|
|
13
|
+
export declare function callGradioToolWithHeaders(sseUrl: string, toolName: string, parameters: Record<string, unknown>, hfToken: string | undefined, extra: RequestHandlerExtra<ServerRequest, ServerNotification> | undefined, options?: GradioCallOptions): Promise<GradioCallResult>;
|
|
14
|
+
//# sourceMappingURL=gradio-caller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gradio-caller.d.ts","sourceRoot":"","sources":["../../../src/space/utils/gradio-caller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACvH,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,8CAA8C,CAAC;AAExG,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,OAAO,oBAAoB,CAAC,KAAK,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAEjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAMD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAO/E;AAOD,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,OAAO,oBAAoB,CAAC,KAAK,EACzC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACtC,OAAO,oBAAoB,CAAC,KAAK,CAuCnC;AAMD,wBAAsB,yBAAyB,CAC9C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,SAAS,EACzE,OAAO,GAAE,iBAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAiH3B"}
|