@wix/mcp 1.0.22 → 1.0.24
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/build/bin-standalone.js +1114 -1093
- package/build/bin-standalone.js.map +4 -4
- package/build/cjs/index.cjs +8738 -7238
- package/build/cjs/index.cjs.map +4 -4
- package/build/dts/api-call/index.d.ts +7 -1
- package/build/dts/api-call/index.d.ts.map +1 -1
- package/build/dts/api-call/index.js +115 -39
- package/build/dts/api-call/index.js.map +1 -1
- package/build/dts/api-call/upload-image-tool.d.ts +8 -0
- package/build/dts/api-call/upload-image-tool.d.ts.map +1 -0
- package/build/dts/api-call/upload-image-tool.js +150 -0
- package/build/dts/api-call/upload-image-tool.js.map +1 -0
- package/build/dts/api-call/validation.d.ts +1 -0
- package/build/dts/api-call/validation.d.ts.map +1 -1
- package/build/dts/api-call/validation.js +7 -7
- package/build/dts/api-call/validation.js.map +1 -1
- package/build/dts/bin.d.ts.map +1 -1
- package/build/dts/bin.js.map +1 -1
- package/build/dts/cli-tools/cli.d.ts.map +1 -1
- package/build/dts/cli-tools/cli.js +6 -4
- package/build/dts/cli-tools/cli.js.map +1 -1
- package/build/dts/config/default-config.d.ts +41 -0
- package/build/dts/config/default-config.d.ts.map +1 -0
- package/build/dts/config/default-config.js +169 -0
- package/build/dts/config/default-config.js.map +1 -0
- package/build/dts/docs/create-site-guide.d.ts +1 -1
- package/build/dts/docs/create-site-guide.d.ts.map +1 -1
- package/build/dts/docs/create-site-guide.js +5 -2
- package/build/dts/docs/create-site-guide.js.map +1 -1
- package/build/dts/docs/docs.d.ts +24 -0
- package/build/dts/docs/docs.d.ts.map +1 -1
- package/build/dts/docs/docs.js +117 -167
- package/build/dts/docs/docs.js.map +1 -1
- package/build/dts/docs/fetch-article.d.ts +1 -1
- package/build/dts/docs/fetch-article.d.ts.map +1 -1
- package/build/dts/docs/fetch-article.js +39 -1
- package/build/dts/docs/fetch-article.js.map +1 -1
- package/build/dts/docs/get-to-know.d.ts +16 -2
- package/build/dts/docs/get-to-know.d.ts.map +1 -1
- package/build/dts/docs/get-to-know.js +80 -80
- package/build/dts/docs/get-to-know.js.map +1 -1
- package/build/dts/docs/semanticSearch.d.ts.map +1 -1
- package/build/dts/docs/semanticSearch.js +4 -1
- package/build/dts/docs/semanticSearch.js.map +1 -1
- package/build/dts/docs/semanticSearch.test.js +5 -14
- package/build/dts/docs/semanticSearch.test.js.map +1 -1
- package/build/dts/docs/velo-readme.d.ts.map +1 -1
- package/build/dts/docs/velo-readme.js +1 -1
- package/build/dts/docs/velo-readme.js.map +1 -1
- package/build/dts/index.d.ts +5 -2
- package/build/dts/index.d.ts.map +1 -1
- package/build/dts/index.js +4 -0
- package/build/dts/index.js.map +1 -1
- package/build/dts/infra/logger.d.ts +1 -0
- package/build/dts/infra/logger.d.ts.map +1 -1
- package/build/dts/infra/logger.js +4 -0
- package/build/dts/infra/logger.js.map +1 -1
- package/build/dts/infra/widget-payload.d.ts +11 -0
- package/build/dts/infra/widget-payload.d.ts.map +1 -0
- package/build/dts/infra/widget-payload.js +2 -0
- package/build/dts/infra/widget-payload.js.map +1 -0
- package/build/dts/site-widget-tools/constants.d.ts +4 -0
- package/build/dts/site-widget-tools/constants.d.ts.map +1 -0
- package/build/dts/site-widget-tools/constants.js +6 -0
- package/build/dts/site-widget-tools/constants.js.map +1 -0
- package/build/dts/site-widget-tools/edit-site-tool/index.d.ts +4 -0
- package/build/dts/site-widget-tools/edit-site-tool/index.d.ts.map +1 -0
- package/build/dts/site-widget-tools/edit-site-tool/index.js +171 -0
- package/build/dts/site-widget-tools/edit-site-tool/index.js.map +1 -0
- package/build/dts/site-widget-tools/index.d.ts +4 -0
- package/build/dts/site-widget-tools/index.d.ts.map +1 -0
- package/build/dts/site-widget-tools/index.js +4 -0
- package/build/dts/site-widget-tools/index.js.map +1 -0
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/index.d.ts +4 -0
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/index.d.ts.map +1 -0
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/index.js +177 -0
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/index.js.map +1 -0
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/types.d.ts +52 -0
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/types.d.ts.map +1 -0
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/types.js +2 -0
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/types.js.map +1 -0
- package/build/dts/site-widget-tools/site-builder-tool/index.d.ts +4 -0
- package/build/dts/site-widget-tools/site-builder-tool/index.d.ts.map +1 -0
- package/build/dts/site-widget-tools/site-builder-tool/index.js +157 -0
- package/build/dts/site-widget-tools/site-builder-tool/index.js.map +1 -0
- package/build/dts/support/index.d.ts +1 -1
- package/build/dts/support/index.d.ts.map +1 -1
- package/build/dts/support/index.js +15 -17
- package/build/dts/support/index.js.map +1 -1
- package/build/dts/widget-manifest.d.ts +6 -0
- package/build/dts/widget-manifest.d.ts.map +1 -0
- package/build/dts/widget-manifest.js +19 -0
- package/build/dts/widget-manifest.js.map +1 -0
- package/build/dts/wix-mcp-server.d.ts +18 -3
- package/build/dts/wix-mcp-server.d.ts.map +1 -1
- package/build/dts/wix-mcp-server.js +129 -106
- package/build/dts/wix-mcp-server.js.map +1 -1
- package/build/esm/index.js +8402 -6402
- package/build/esm/index.js.map +4 -4
- package/package.json +49 -25
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { WixMcpServer } from '../wix-mcp-server.js';
|
|
2
2
|
import { McpAuthenticationStrategy } from '../auth/index.js';
|
|
3
|
-
export
|
|
3
|
+
export interface ToolHintsConfig {
|
|
4
|
+
readOnlyHint?: boolean;
|
|
5
|
+
destructiveHint?: boolean;
|
|
6
|
+
openWorldHint?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export { addUploadImageTool } from './upload-image-tool.js';
|
|
9
|
+
export declare function addApiCallTool(server: WixMcpServer, strategy: McpAuthenticationStrategy, allowedTools?: string[], disableTools?: string[], enableTools?: string[], toolDescriptions?: Record<string, string>, toolHints?: Record<string, ToolHintsConfig>): void;
|
|
4
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api-call/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api-call/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAK7D,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AA8B5D,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,yBAAyB,EACnC,YAAY,GAAE,MAAM,EAAwD,EAC5E,YAAY,GAAE,MAAM,EAAO,EAC3B,WAAW,GAAE,MAAM,EAAO,EAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,QAmU5C"}
|
|
@@ -2,33 +2,73 @@ import { z } from 'zod';
|
|
|
2
2
|
import { HttpClient } from '@wix/http-client';
|
|
3
3
|
import { logger } from '../infra/logger.js';
|
|
4
4
|
import { handleWixAPIResponse } from '../tool-utils.js';
|
|
5
|
-
import { isApiUrlAllowed } from './validation.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
import { ALLOWED_HOSTNAMES, isApiUrlAllowed } from './validation.js';
|
|
6
|
+
import { addUploadImageTool } from './upload-image-tool.js';
|
|
7
|
+
import { defaultToolDescriptions } from '../config/default-config.js';
|
|
8
|
+
export { addUploadImageTool } from './upload-image-tool.js';
|
|
9
|
+
const MAX_RESPONSE_SIZE = 50000; // ~50KB cap
|
|
10
|
+
function formatApiResponse(responseData) {
|
|
11
|
+
// Detect if response is HTML (likely wrong endpoint or auth redirect)
|
|
12
|
+
if (typeof responseData === 'string' &&
|
|
13
|
+
responseData.trim().startsWith('<!DOCTYPE')) {
|
|
14
|
+
return {
|
|
15
|
+
text: 'Error: API returned HTML instead of JSON. This usually means the URL is incorrect or points to a web page instead of an API endpoint. Please verify the URL.',
|
|
16
|
+
isError: true
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
let responseText = JSON.stringify(responseData);
|
|
20
|
+
if (responseText.length > MAX_RESPONSE_SIZE) {
|
|
21
|
+
responseText =
|
|
22
|
+
responseText.slice(0, MAX_RESPONSE_SIZE) +
|
|
23
|
+
`\n...[TRUNCATED - response was ${responseText.length} chars, showing first ${MAX_RESPONSE_SIZE}]`;
|
|
24
|
+
}
|
|
25
|
+
return { text: responseText, isError: false };
|
|
26
|
+
}
|
|
27
|
+
export function addApiCallTool(server, strategy, allowedTools = ['CallWixSiteAPI', 'ListWixSites', 'ManageWixSite'], disableTools = [], enableTools = [], toolDescriptions, toolHints) {
|
|
28
|
+
// Compute effective allowed tools: (default + enableTools) - disableTools
|
|
29
|
+
const effectiveAllowedTools = [
|
|
30
|
+
...new Set([...allowedTools, ...enableTools])
|
|
31
|
+
].filter((tool) => !disableTools.includes(tool));
|
|
32
|
+
// Helper to get tool hints with defaults
|
|
33
|
+
const getHints = (toolName, defaults) => ({
|
|
34
|
+
readOnlyHint: toolHints?.[toolName]?.readOnlyHint ?? defaults.readOnlyHint,
|
|
35
|
+
destructiveHint: toolHints?.[toolName]?.destructiveHint ?? defaults.destructiveHint,
|
|
36
|
+
openWorldHint: toolHints?.[toolName]?.openWorldHint ?? defaults.openWorldHint
|
|
37
|
+
});
|
|
38
|
+
// Helper to get description (custom or default)
|
|
39
|
+
const getDescription = (toolName, defaultDesc) => toolDescriptions?.[toolName] ?? defaultDesc;
|
|
40
|
+
if (effectiveAllowedTools.includes('CallWixSiteAPI') &&
|
|
41
|
+
!disableTools.includes('CallWixSiteAPI')) {
|
|
42
|
+
server.tool('CallWixSiteAPI', getDescription('CallWixSiteAPI', defaultToolDescriptions.CallWixSiteAPI), {
|
|
16
43
|
siteId: z
|
|
17
44
|
.string()
|
|
18
45
|
.describe('The id of the site selected using site selection tool'),
|
|
19
46
|
url: z
|
|
20
47
|
.string()
|
|
21
48
|
.url()
|
|
22
|
-
.describe(
|
|
49
|
+
.describe([
|
|
50
|
+
'The url of the api to call - ALWAYS get the API url from the Wix REST docs or from the conversation context, the URL MUST BE ABSOLUTE URL',
|
|
51
|
+
'NEVER guess the API url, ALWAYS get it from the conversation context, i.e from the user prompt or from the "WixREADME" tool or from the "SearchWixRESTDocumentation" tool or from the "ReadFullDocsArticle" tool',
|
|
52
|
+
`Allowed API urls are: ${ALLOWED_HOSTNAMES.join(', ')}`,
|
|
53
|
+
`Docs urls like https://dev.wix.com/docs/... are not API urls, if you want to read the docs, use the "ReadFullDocsArticle" tool`
|
|
54
|
+
].join('\n')),
|
|
23
55
|
method: z
|
|
24
56
|
.string()
|
|
25
57
|
.describe('The HTTP method to use for the API call (e.g. GET, POST, PUT, DELETE)'),
|
|
26
58
|
body: z
|
|
27
|
-
.
|
|
59
|
+
.object({})
|
|
60
|
+
.passthrough()
|
|
28
61
|
.optional()
|
|
29
|
-
.describe('A
|
|
30
|
-
},
|
|
31
|
-
|
|
62
|
+
.describe('The request body object. YOU MUST NEVER MAKE UP A BODY - this should be based on the conversation context, i.e from the user prompt or from the "WixREADME" tool or from the "SearchWixRESTDocumentation" tool or from the "ReadFullDocsArticle" tool or from the "ReadFullDocsMethodSchema" tool - i.e based on the API docs. YOU MUST NEVER ASSUME YOU KNOW WHAT THE SCHEMA IS WITHOUT CONCRETE EXAMPLES OR SCHEMA DEFINITIONS FROM THE CONVERSATION CONTEXT.')
|
|
63
|
+
}, getHints('CallWixSiteAPI', {
|
|
64
|
+
readOnlyHint: false,
|
|
65
|
+
destructiveHint: true,
|
|
66
|
+
openWorldHint: false
|
|
67
|
+
}), async ({ url, body, method, siteId }, { httpClient, setToolBiParams }) => {
|
|
68
|
+
const requestHeaders = {
|
|
69
|
+
...(await strategy.getSiteAuthHeaders(siteId)),
|
|
70
|
+
...(body ? { 'Content-Type': 'application/json' } : {})
|
|
71
|
+
};
|
|
32
72
|
const { isAllowed, error: urlError } = isApiUrlAllowed(url);
|
|
33
73
|
if (!isAllowed) {
|
|
34
74
|
return {
|
|
@@ -45,20 +85,29 @@ export function addApiCallTool(server, strategy, allowedTools = ['CallWixSiteAPI
|
|
|
45
85
|
const response = await httpClient.request({
|
|
46
86
|
url,
|
|
47
87
|
method: method,
|
|
48
|
-
headers:
|
|
49
|
-
...(await strategy.getSiteAuthHeaders(siteId)),
|
|
50
|
-
...(body ? { 'Content-Type': 'application/json' } : {})
|
|
51
|
-
},
|
|
88
|
+
headers: requestHeaders,
|
|
52
89
|
data: method === 'GET' ? undefined : body
|
|
53
90
|
});
|
|
54
91
|
const requestId = response.headers?.['x-wix-request-id'];
|
|
55
92
|
setToolBiParams({ requestId, siteId });
|
|
56
93
|
const responseData = await handleWixAPIResponse(response);
|
|
94
|
+
const formatted = formatApiResponse(responseData);
|
|
95
|
+
if (formatted.isError) {
|
|
96
|
+
return {
|
|
97
|
+
content: [
|
|
98
|
+
{
|
|
99
|
+
type: 'text',
|
|
100
|
+
text: formatted.text
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
isError: true
|
|
104
|
+
};
|
|
105
|
+
}
|
|
57
106
|
return {
|
|
58
107
|
content: [
|
|
59
108
|
{
|
|
60
109
|
type: 'text',
|
|
61
|
-
text: `Wix Site API call successful: ${
|
|
110
|
+
text: `Wix Site API call successful: ${formatted.text}`
|
|
62
111
|
}
|
|
63
112
|
]
|
|
64
113
|
};
|
|
@@ -69,9 +118,9 @@ export function addApiCallTool(server, strategy, allowedTools = ['CallWixSiteAPI
|
|
|
69
118
|
requestId = error.requestId;
|
|
70
119
|
}
|
|
71
120
|
setToolBiParams({ requestId, siteId });
|
|
121
|
+
const response = error.response;
|
|
72
122
|
const errorMessage = `Failed to call Wix Site API: ${error}. ${requestId ? `Request ID: ${requestId}` : ''}`;
|
|
73
123
|
logger.error(errorMessage);
|
|
74
|
-
const response = error.response;
|
|
75
124
|
if (!response) {
|
|
76
125
|
throw new Error(errorMessage);
|
|
77
126
|
}
|
|
@@ -79,15 +128,20 @@ export function addApiCallTool(server, strategy, allowedTools = ['CallWixSiteAPI
|
|
|
79
128
|
}
|
|
80
129
|
});
|
|
81
130
|
}
|
|
82
|
-
if (
|
|
83
|
-
|
|
131
|
+
if (effectiveAllowedTools.includes('ListWixSites') &&
|
|
132
|
+
!disableTools.includes('ListWixSites')) {
|
|
133
|
+
server.tool('ListWixSites', getDescription('ListWixSites', defaultToolDescriptions.ListWixSites), {
|
|
84
134
|
nameSearch: z
|
|
85
135
|
.string()
|
|
86
136
|
.optional()
|
|
87
137
|
.describe('optional filer by name, if not provided all sites will be returned'),
|
|
88
138
|
// Hack for Cursor ignoring tools with no params (when nameSearch is optional)
|
|
89
139
|
alwaysTrue: z.boolean().describe('Always pass true to this parameter')
|
|
90
|
-
},
|
|
140
|
+
}, getHints('ListWixSites', {
|
|
141
|
+
readOnlyHint: true,
|
|
142
|
+
destructiveHint: false,
|
|
143
|
+
openWorldHint: false
|
|
144
|
+
}), async ({ nameSearch }, { httpClient }) => {
|
|
91
145
|
const sitesRes = await httpClient.post('https://www.wixapis.com/site-list/v2/sites/query', {
|
|
92
146
|
query: {
|
|
93
147
|
cursorPaging: { limit: 21 },
|
|
@@ -117,21 +171,19 @@ export function addApiCallTool(server, strategy, allowedTools = ['CallWixSiteAPI
|
|
|
117
171
|
content: [
|
|
118
172
|
{
|
|
119
173
|
type: 'text',
|
|
120
|
-
text:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
'If more than 20 are found you should list all 20 and suggest to search by the name of the site they are looking for'
|
|
174
|
+
text: [
|
|
175
|
+
JSON.stringify(result),
|
|
176
|
+
'if there is more than one site returned, the user should pick one from a list, list the sites (only name) for the user and ask them to pick one, ' +
|
|
177
|
+
'If more than 20 are found you should list all 20 and suggest to search by the name of the site they are looking for'
|
|
178
|
+
].join('\n\n')
|
|
126
179
|
}
|
|
127
180
|
]
|
|
128
181
|
};
|
|
129
182
|
});
|
|
130
183
|
}
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
You should ALWAYS check the rest docs - "SearchWixRESTDocumentation" for the specific API you want to call, don't just call it without knowing what it does, CHECK THE DOCS`, {
|
|
184
|
+
if (effectiveAllowedTools.includes('ManageWixSite') &&
|
|
185
|
+
!disableTools.includes('ManageWixSite')) {
|
|
186
|
+
server.tool('ManageWixSite', getDescription('ManageWixSite', defaultToolDescriptions.ManageWixSite), {
|
|
135
187
|
url: z
|
|
136
188
|
.string()
|
|
137
189
|
.url()
|
|
@@ -140,10 +192,15 @@ export function addApiCallTool(server, strategy, allowedTools = ['CallWixSiteAPI
|
|
|
140
192
|
.string()
|
|
141
193
|
.describe('The HTTP method to use for the API call (e.g. GET, POST, PUT, DELETE)'),
|
|
142
194
|
body: z
|
|
143
|
-
.
|
|
195
|
+
.object({})
|
|
196
|
+
.passthrough()
|
|
144
197
|
.optional()
|
|
145
|
-
.describe('A
|
|
146
|
-
},
|
|
198
|
+
.describe('The request body object. YOU MUST NEVER MAKE UP A BODY - this should be based on the conversation context, i.e from the user prompt or from the "WixREADME" tool or from the "SearchWixRESTDocumentation" tool or from the "ReadFullDocsArticle" tool or from the "ReadFullDocsMethodSchema" tool - i.e based on the API docs. YOU MUST NEVER ASSUME YOU KNOW WHAT THE SCHEMA IS WITHOUT CONCRETE EXAMPLES OR SCHEMA DEFINITIONS FROM THE CONVERSATION CONTEXT.')
|
|
199
|
+
}, getHints('ManageWixSite', {
|
|
200
|
+
readOnlyHint: false,
|
|
201
|
+
destructiveHint: true,
|
|
202
|
+
openWorldHint: false
|
|
203
|
+
}), async ({ url, body, method }, { httpClient }) => {
|
|
147
204
|
logger.log(`Calling Wix Account level API: ${url}, body: ${JSON.stringify(body)}`);
|
|
148
205
|
const { isAllowed, error: urlError } = isApiUrlAllowed(url);
|
|
149
206
|
if (!isAllowed) {
|
|
@@ -169,11 +226,23 @@ export function addApiCallTool(server, strategy, allowedTools = ['CallWixSiteAPI
|
|
|
169
226
|
data: method === 'GET' ? undefined : body
|
|
170
227
|
});
|
|
171
228
|
const responseData = await handleWixAPIResponse(response);
|
|
229
|
+
const formatted = formatApiResponse(responseData);
|
|
230
|
+
if (formatted.isError) {
|
|
231
|
+
return {
|
|
232
|
+
content: [
|
|
233
|
+
{
|
|
234
|
+
type: 'text',
|
|
235
|
+
text: formatted.text
|
|
236
|
+
}
|
|
237
|
+
],
|
|
238
|
+
isError: true
|
|
239
|
+
};
|
|
240
|
+
}
|
|
172
241
|
return {
|
|
173
242
|
content: [
|
|
174
243
|
{
|
|
175
244
|
type: 'text',
|
|
176
|
-
text: `Wix Account API call successful: ${
|
|
245
|
+
text: `Wix Account API call successful: ${formatted.text}`
|
|
177
246
|
}
|
|
178
247
|
]
|
|
179
248
|
};
|
|
@@ -188,5 +257,12 @@ export function addApiCallTool(server, strategy, allowedTools = ['CallWixSiteAPI
|
|
|
188
257
|
}
|
|
189
258
|
});
|
|
190
259
|
}
|
|
260
|
+
if (effectiveAllowedTools.includes('UploadImageToWixSite') &&
|
|
261
|
+
!disableTools.includes('UploadImageToWixSite')) {
|
|
262
|
+
addUploadImageTool(server, strategy, {
|
|
263
|
+
description: getDescription('UploadImageToWixSite', ''),
|
|
264
|
+
hints: toolHints?.['UploadImageToWixSite']
|
|
265
|
+
});
|
|
266
|
+
}
|
|
191
267
|
}
|
|
192
268
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api-call/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api-call/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { WixMcpServer } from '../wix-mcp-server.js';
|
|
2
|
+
import { McpAuthenticationStrategy } from '../auth/index.js';
|
|
3
|
+
import type { ToolHintsConfig } from './index.js';
|
|
4
|
+
export declare function addUploadImageTool(server: WixMcpServer, strategy: McpAuthenticationStrategy, options?: {
|
|
5
|
+
description?: string;
|
|
6
|
+
hints?: ToolHintsConfig;
|
|
7
|
+
}): void;
|
|
8
|
+
//# sourceMappingURL=upload-image-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-image-tool.d.ts","sourceRoot":"","sources":["../../../src/api-call/upload-image-tool.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyDlD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,yBAAyB,EACnC,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,QA4JF"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upload image tool for Wix Media Manager.
|
|
3
|
+
*
|
|
4
|
+
* Uses OpenAI's file params pattern for accepting user-uploaded files.
|
|
5
|
+
* @see https://developers.openai.com/apps-sdk/build/mcp-server#files-out-file-params
|
|
6
|
+
* @see https://developers.openai.com/apps-sdk/reference
|
|
7
|
+
*/
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
import { logger } from '../infra/logger.js';
|
|
10
|
+
import { defaultToolDescriptions } from '../config/default-config.js';
|
|
11
|
+
const TOOL_NAME = 'UploadImageToWixSite';
|
|
12
|
+
const POLL_TIMEOUT_MS = 10000;
|
|
13
|
+
const POLL_INTERVAL_MS = 1000;
|
|
14
|
+
/**
|
|
15
|
+
* Polls the Media Manager API until the file status becomes READY or timeout is reached.
|
|
16
|
+
*/
|
|
17
|
+
async function waitForFileReady(httpClient, fileId, authHeaders, timeoutMs = POLL_TIMEOUT_MS) {
|
|
18
|
+
const startTime = Date.now();
|
|
19
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
20
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
21
|
+
try {
|
|
22
|
+
const response = await httpClient.get(`https://www.wixapis.com/site-media/v1/files/get-file-by-id?fileId=${encodeURIComponent(fileId)}`, { headers: authHeaders });
|
|
23
|
+
const file = response.data?.file;
|
|
24
|
+
if (file && file.operationStatus !== 'PENDING') {
|
|
25
|
+
return file;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// If status check fails, return null to use original file data
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return null; // Timeout reached
|
|
34
|
+
}
|
|
35
|
+
export function addUploadImageTool(server, strategy, options) {
|
|
36
|
+
const description = options?.description ?? defaultToolDescriptions.UploadImageToWixSite;
|
|
37
|
+
const hints = {
|
|
38
|
+
readOnlyHint: options?.hints?.readOnlyHint ?? false,
|
|
39
|
+
destructiveHint: options?.hints?.destructiveHint ?? false,
|
|
40
|
+
openWorldHint: options?.hints?.openWorldHint ?? false
|
|
41
|
+
};
|
|
42
|
+
server.registerTool(TOOL_NAME, {
|
|
43
|
+
title: 'Upload Image to Wix Site',
|
|
44
|
+
description,
|
|
45
|
+
inputSchema: {
|
|
46
|
+
siteId: z.string().describe('The ID of the Wix site to upload to'),
|
|
47
|
+
image: z
|
|
48
|
+
.object({
|
|
49
|
+
download_url: z.string().url(),
|
|
50
|
+
file_id: z.string()
|
|
51
|
+
})
|
|
52
|
+
.describe('The image file provided by the user'),
|
|
53
|
+
displayName: z
|
|
54
|
+
.string()
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('Optional display name for the file in Media Manager. If not provided, uses the original filename.')
|
|
57
|
+
},
|
|
58
|
+
_meta: {
|
|
59
|
+
'openai/fileParams': ['image'],
|
|
60
|
+
'openai/toolInvocation/invoking': 'Uploading image to Wix Media Manager...',
|
|
61
|
+
'openai/toolInvocation/invoked': 'Image uploaded successfully'
|
|
62
|
+
},
|
|
63
|
+
annotations: hints
|
|
64
|
+
}, async ({ siteId, image, displayName }, { httpClient, setToolBiParams }) => {
|
|
65
|
+
logger.log(`Uploading image to Wix site: ${siteId}, file_id: ${image.file_id}`);
|
|
66
|
+
setToolBiParams({ siteId });
|
|
67
|
+
try {
|
|
68
|
+
// Import the file from the download URL to Wix Media Manager
|
|
69
|
+
const importResponse = await httpClient.post('https://www.wixapis.com/site-media/v1/files/import', {
|
|
70
|
+
url: image.download_url,
|
|
71
|
+
...(displayName ? { displayName } : {})
|
|
72
|
+
}, {
|
|
73
|
+
headers: {
|
|
74
|
+
...(await strategy.getSiteAuthHeaders(siteId)),
|
|
75
|
+
'Content-Type': 'application/json'
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
let file = importResponse.data?.file;
|
|
79
|
+
if (!file) {
|
|
80
|
+
return {
|
|
81
|
+
isError: true,
|
|
82
|
+
content: [
|
|
83
|
+
{
|
|
84
|
+
type: 'text',
|
|
85
|
+
text: 'Failed to upload image: No file returned from Wix API'
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
// Poll for READY status if still PENDING
|
|
91
|
+
if (file.operationStatus === 'PENDING') {
|
|
92
|
+
const authHeaders = await strategy.getSiteAuthHeaders(siteId);
|
|
93
|
+
const updatedFile = await waitForFileReady(httpClient, file.id, authHeaders);
|
|
94
|
+
if (updatedFile) {
|
|
95
|
+
file = updatedFile;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const result = {
|
|
99
|
+
id: file.id,
|
|
100
|
+
displayName: file.displayName,
|
|
101
|
+
url: file.url,
|
|
102
|
+
operationStatus: file.operationStatus,
|
|
103
|
+
mediaType: file.mediaType,
|
|
104
|
+
sourceUrl: file.sourceUrl,
|
|
105
|
+
...(file.media?.image?.image
|
|
106
|
+
? {
|
|
107
|
+
width: file.media.image.image.width,
|
|
108
|
+
height: file.media.image.image.height
|
|
109
|
+
}
|
|
110
|
+
: {})
|
|
111
|
+
};
|
|
112
|
+
logger.log(`Image uploaded successfully: ${JSON.stringify(result)}`);
|
|
113
|
+
// Build response text with helpful information
|
|
114
|
+
let responseText = `Image uploaded successfully!\n\n`;
|
|
115
|
+
responseText += `**Media ID:** ${result.id}\n`;
|
|
116
|
+
responseText += `**URL:** ${result.url}\n`;
|
|
117
|
+
responseText += `**Status:** ${result.operationStatus}\n`;
|
|
118
|
+
if (result.width && result.height) {
|
|
119
|
+
responseText += `**Dimensions:** ${result.width}x${result.height}\n`;
|
|
120
|
+
}
|
|
121
|
+
if (result.operationStatus === 'PENDING') {
|
|
122
|
+
responseText += `\n**Note:** The file is still being processed (timeout reached). `;
|
|
123
|
+
responseText += `You can use the URL immediately, but some operations may require waiting for status to become READY.`;
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
content: [
|
|
127
|
+
{
|
|
128
|
+
type: 'text',
|
|
129
|
+
text: responseText
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
structuredContent: result
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
const errorMessage = `Failed to upload image to Wix: ${error}`;
|
|
137
|
+
logger.error(errorMessage);
|
|
138
|
+
return {
|
|
139
|
+
isError: true,
|
|
140
|
+
content: [
|
|
141
|
+
{
|
|
142
|
+
type: 'text',
|
|
143
|
+
text: errorMessage
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=upload-image-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-image-tool.js","sourceRoot":"","sources":["../../../src/api-call/upload-image-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/api-call/validation.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM;;;;;;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/api-call/validation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,UAM7B,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM;;;;;;EA2B1C"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export const ALLOWED_HOSTNAMES = [
|
|
2
|
+
'wix.com',
|
|
3
|
+
'dev.wix.com',
|
|
4
|
+
'manage.wix.com',
|
|
5
|
+
'editor.wix.com',
|
|
6
|
+
'wixapis.com'
|
|
7
|
+
];
|
|
1
8
|
export function isApiUrlAllowed(url) {
|
|
2
9
|
let parsedUrl;
|
|
3
10
|
try {
|
|
@@ -9,13 +16,6 @@ export function isApiUrlAllowed(url) {
|
|
|
9
16
|
error: `Invalid URL format: ${url}`
|
|
10
17
|
};
|
|
11
18
|
}
|
|
12
|
-
const ALLOWED_HOSTNAMES = [
|
|
13
|
-
'wix.com',
|
|
14
|
-
'dev.wix.com',
|
|
15
|
-
'manage.wix.com',
|
|
16
|
-
'editor.wix.com',
|
|
17
|
-
'wixapis.com'
|
|
18
|
-
];
|
|
19
19
|
const hostname = parsedUrl.hostname.replace('www.', '');
|
|
20
20
|
const isAllowedHostname = ALLOWED_HOSTNAMES.some((domain) => hostname === domain);
|
|
21
21
|
if (!isAllowedHostname) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/api-call/validation.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,SAAc,CAAC;IAEnB,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,uBAAuB,GAAG,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/api-call/validation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;CACd,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,SAAc,CAAC;IAEnB,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,uBAAuB,GAAG,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAC9C,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,KAAK,MAAM,CAChC,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,2BAA2B,QAAQ,kDAAkD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC3H,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
|
package/build/dts/bin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAmB3B,QAAA,MAAM,YAAY,6FAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAmB3B,QAAA,MAAM,YAAY,6FAAiC,CAAC;AAEpD,QAAA,MAAM,kBAAkB,0HAOd,CAAC;AAEX,KAAK,IAAI,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChF,eAAO,MAAM,aAAa,EAAE,IAAI,EAA0B,CAAC"}
|
package/build/dts/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAE3B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAY,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAW,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/cli-tools/cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,eAAe,qCAAsC,CAAC;AACnE,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,YAAY,GAAE,OAAO,EAAoB,EACzC,QAAQ,GAAE,OAAe,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/cli-tools/cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,eAAe,qCAAsC,CAAC;AACnE,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,YAAY,GAAE,OAAO,EAAoB,EACzC,QAAQ,GAAE,OAAe,QA4J1B"}
|
|
@@ -112,10 +112,12 @@ export function addCliTools(server, allowedTools = ['CLI_COMMAND'], isWixOne = f
|
|
|
112
112
|
logger.log(`RunWixCliCommand: stderr: ${stderr}`);
|
|
113
113
|
return {
|
|
114
114
|
content: [
|
|
115
|
-
{
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
115
|
+
{
|
|
116
|
+
type: 'text',
|
|
117
|
+
text: stderr
|
|
118
|
+
? [stdout, `Error: ${stderr}`].join('\n\n')
|
|
119
|
+
: stdout
|
|
120
|
+
}
|
|
119
121
|
]
|
|
120
122
|
};
|
|
121
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli-tools/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli-tools/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,aAAa,CAAU,CAAC;AAGnE,MAAM,UAAU,WAAW,CACzB,MAAoB,EACpB,eAA0B,CAAC,aAAa,CAAC,EACzC,WAAoB,KAAK;IAEzB,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB;;;;;;;;;iFAS2E,EAC3E;YACE,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CAAC,yDAAyD,CAAC;YACtE,aAAa,EAAE,CAAC;iBACb,IAAI,CAAC;gBACJ,gBAAgB;gBAChB,kBAAkB;gBAClB,uBAAuB;gBACvB,iBAAiB;gBACjB,YAAY;gBACZ,WAAW;gBACX,OAAO;gBACP,gBAAgB;aACjB,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CACP,iGAAiG,CAClG;YACH,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,6HAA6H,CAC9H;YACH,YAAY,EAAE,CAAC;iBACZ,OAAO,EAAE;iBACT,QAAQ,CACP,0FAA0F,CAC3F;YACH,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;iBACjC,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC;iBAChC,QAAQ,CACP,qNAAqN,CACtN;SACJ,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,GAAG,CACR,8BAA8B,OAAO,cAAc,OAAO,oBAAoB,aAAa,oBAAoB,aAAa,EAAE,CAC/H,CAAC;YACF,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE,uEAAuE;6BAC9E;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE,uEAAuE;6BAC9E;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,gDAAgD;gBAChD,WAAW,GAAG,KAAK,CAAC;gBACpB,WAAW,GAAG;oBACZ,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;oBAC5B,KAAK;oBACL,UAAU;oBACV,IAAI;oBACJ,aAAa;oBACb,IAAI;oBACJ,aAAa;oBACb,QAAQ;iBACT,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC9B,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,QAAQ,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBACtC,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,CACR,8BAA8B,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACrE,CAAC;gBAEF,uBAAuB;gBACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAC9C,WAAW,EACX,WAAW,EACX;oBACE,GAAG,EAAE,OAAO;oBACZ,SAAS,EAAE,IAAI;oBACf,GAAG,EAAE;wBACH,GAAG,OAAO,CAAC,GAAG;qBACf;oBACD,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,mBAAmB;oBAC3C,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,oBAAoB;iBACjD,CACF,CAAC;gBAEF,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACnB,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC;wBAC9D,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,GAAG,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;gBAElD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,MAAM;gCACV,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gCAC3C,CAAC,CAAC,MAAM;yBACX;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;gBAE1D,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;oBAC7D,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|