@wix/mcp 1.0.74 → 1.0.76
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 +83500 -12272
- package/build/cjs/index.cjs +41 -14
- package/build/cjs/toolkit.cjs +41 -14
- package/build/dts/docs/searchFormatting.d.ts +1 -0
- package/build/dts/docs/searchFormatting.js +49 -14
- package/build/dts/index.d.ts +1 -0
- package/build/dts/index.js +0 -1
- package/build/dts/infra/tool-bi.d.ts +4 -4
- package/build/dts/infra/tool-bi.js +1 -1
- package/build/dts/toolkit-entry.d.cts +410 -0
- package/build/dts/toolkit-entry.d.ts +409 -19
- package/build/dts/toolkit-entry.js +0 -1
- package/build/dts/toolkit-types.d.ts +31 -0
- package/build/dts/toolkit-types.js +12 -0
- package/build/dts/toolkit.d.ts +5 -5
- package/build/esm/index.js +41 -14
- package/build/esm/toolkit.js +41 -14
- package/package.json +26 -19
- package/build/bin-standalone.js.map +0 -7
- package/build/cjs/index.cjs.map +0 -7
- package/build/cjs/toolkit.cjs.map +0 -7
- package/build/dts/api-call/index.d.ts.map +0 -1
- package/build/dts/api-call/index.js.map +0 -1
- package/build/dts/api-call/upload-image-tool.d.ts.map +0 -1
- package/build/dts/api-call/upload-image-tool.js.map +0 -1
- package/build/dts/api-call/upload-image-tool.test.d.ts +0 -2
- package/build/dts/api-call/upload-image-tool.test.d.ts.map +0 -1
- package/build/dts/api-call/upload-image-tool.test.js +0 -217
- package/build/dts/api-call/upload-image-tool.test.js.map +0 -1
- package/build/dts/api-call/upload-image-utils.d.ts.map +0 -1
- package/build/dts/api-call/upload-image-utils.js.map +0 -1
- package/build/dts/api-call/upload-image-utils.test.d.ts +0 -2
- package/build/dts/api-call/upload-image-utils.test.d.ts.map +0 -1
- package/build/dts/api-call/upload-image-utils.test.js +0 -121
- package/build/dts/api-call/upload-image-utils.test.js.map +0 -1
- package/build/dts/api-call/validation.d.ts.map +0 -1
- package/build/dts/api-call/validation.js.map +0 -1
- package/build/dts/api-call/validation.test.d.ts +0 -2
- package/build/dts/api-call/validation.test.d.ts.map +0 -1
- package/build/dts/api-call/validation.test.js +0 -42
- package/build/dts/api-call/validation.test.js.map +0 -1
- package/build/dts/auth/auth-error-handling.test.d.ts +0 -2
- package/build/dts/auth/auth-error-handling.test.d.ts.map +0 -1
- package/build/dts/auth/auth-error-handling.test.js +0 -347
- package/build/dts/auth/auth-error-handling.test.js.map +0 -1
- package/build/dts/auth/index.d.ts.map +0 -1
- package/build/dts/auth/index.js.map +0 -1
- package/build/dts/bin.d.ts.map +0 -1
- package/build/dts/bin.js.map +0 -1
- package/build/dts/cli-tools/account-auth-strategy.d.ts.map +0 -1
- package/build/dts/cli-tools/account-auth-strategy.js.map +0 -1
- package/build/dts/cli-tools/account-token-store.d.ts.map +0 -1
- package/build/dts/cli-tools/account-token-store.js.map +0 -1
- package/build/dts/cli-tools/cli.d.ts.map +0 -1
- package/build/dts/cli-tools/cli.js.map +0 -1
- package/build/dts/cli-tools/utils.d.ts.map +0 -1
- package/build/dts/cli-tools/utils.js.map +0 -1
- package/build/dts/code-mode/index.d.ts.map +0 -1
- package/build/dts/code-mode/index.js.map +0 -1
- package/build/dts/code-mode/index.test.d.ts +0 -2
- package/build/dts/code-mode/index.test.d.ts.map +0 -1
- package/build/dts/code-mode/index.test.js +0 -342
- package/build/dts/code-mode/index.test.js.map +0 -1
- package/build/dts/code-mode/truncate-response.d.ts.map +0 -1
- package/build/dts/code-mode/truncate-response.js.map +0 -1
- package/build/dts/code-mode/truncate-response.test.d.ts +0 -2
- package/build/dts/code-mode/truncate-response.test.d.ts.map +0 -1
- package/build/dts/code-mode/truncate-response.test.js +0 -32
- package/build/dts/code-mode/truncate-response.test.js.map +0 -1
- package/build/dts/code-mode/validation.d.ts.map +0 -1
- package/build/dts/code-mode/validation.js.map +0 -1
- package/build/dts/code-mode/validation.test.d.ts +0 -2
- package/build/dts/code-mode/validation.test.d.ts.map +0 -1
- package/build/dts/code-mode/validation.test.js +0 -72
- package/build/dts/code-mode/validation.test.js.map +0 -1
- package/build/dts/config/default-config.bulk-preference.test.d.ts +0 -2
- package/build/dts/config/default-config.bulk-preference.test.d.ts.map +0 -1
- package/build/dts/config/default-config.bulk-preference.test.js +0 -42
- package/build/dts/config/default-config.bulk-preference.test.js.map +0 -1
- package/build/dts/config/default-config.d.ts.map +0 -1
- package/build/dts/config/default-config.execute-orchestration.test.d.ts +0 -2
- package/build/dts/config/default-config.execute-orchestration.test.d.ts.map +0 -1
- package/build/dts/config/default-config.execute-orchestration.test.js +0 -40
- package/build/dts/config/default-config.execute-orchestration.test.js.map +0 -1
- package/build/dts/config/default-config.js.map +0 -1
- package/build/dts/config/default-config.readme.test.d.ts +0 -2
- package/build/dts/config/default-config.readme.test.d.ts.map +0 -1
- package/build/dts/config/default-config.readme.test.js +0 -84
- package/build/dts/config/default-config.readme.test.js.map +0 -1
- package/build/dts/config/default-config.searchspec-goal.test.d.ts +0 -2
- package/build/dts/config/default-config.searchspec-goal.test.d.ts.map +0 -1
- package/build/dts/config/default-config.searchspec-goal.test.js +0 -30
- package/build/dts/config/default-config.searchspec-goal.test.js.map +0 -1
- package/build/dts/config/param-descriptions.d.ts.map +0 -1
- package/build/dts/config/param-descriptions.js.map +0 -1
- package/build/dts/constants.d.ts.map +0 -1
- package/build/dts/constants.js.map +0 -1
- package/build/dts/docs/browse-menu.d.ts.map +0 -1
- package/build/dts/docs/browse-menu.js.map +0 -1
- package/build/dts/docs/browse-menu.test.d.ts +0 -2
- package/build/dts/docs/browse-menu.test.d.ts.map +0 -1
- package/build/dts/docs/browse-menu.test.js +0 -66
- package/build/dts/docs/browse-menu.test.js.map +0 -1
- package/build/dts/docs/browse-tool.test.d.ts +0 -2
- package/build/dts/docs/browse-tool.test.d.ts.map +0 -1
- package/build/dts/docs/browse-tool.test.js +0 -77
- package/build/dts/docs/browse-tool.test.js.map +0 -1
- package/build/dts/docs/create-site-guide.d.ts.map +0 -1
- package/build/dts/docs/create-site-guide.js.map +0 -1
- package/build/dts/docs/docs.d.ts.map +0 -1
- package/build/dts/docs/docs.js.map +0 -1
- package/build/dts/docs/fetch-article.d.ts.map +0 -1
- package/build/dts/docs/fetch-article.js.map +0 -1
- package/build/dts/docs/fetch-article.test.d.ts +0 -2
- package/build/dts/docs/fetch-article.test.d.ts.map +0 -1
- package/build/dts/docs/fetch-article.test.js +0 -93
- package/build/dts/docs/fetch-article.test.js.map +0 -1
- package/build/dts/docs/fetch-skills.d.ts.map +0 -1
- package/build/dts/docs/fetch-skills.js.map +0 -1
- package/build/dts/docs/fetch-skills.test.d.ts +0 -2
- package/build/dts/docs/fetch-skills.test.d.ts.map +0 -1
- package/build/dts/docs/fetch-skills.test.js +0 -140
- package/build/dts/docs/fetch-skills.test.js.map +0 -1
- package/build/dts/docs/get-to-know.d.ts.map +0 -1
- package/build/dts/docs/get-to-know.js.map +0 -1
- package/build/dts/docs/get-to-know.test.d.ts +0 -2
- package/build/dts/docs/get-to-know.test.d.ts.map +0 -1
- package/build/dts/docs/get-to-know.test.js +0 -152
- package/build/dts/docs/get-to-know.test.js.map +0 -1
- package/build/dts/docs/long-content.d.ts.map +0 -1
- package/build/dts/docs/long-content.js.map +0 -1
- package/build/dts/docs/normalize-menu-content.d.ts.map +0 -1
- package/build/dts/docs/normalize-menu-content.js.map +0 -1
- package/build/dts/docs/searchFormatting.d.ts.map +0 -1
- package/build/dts/docs/searchFormatting.js.map +0 -1
- package/build/dts/docs/searchFormatting.test.d.ts +0 -2
- package/build/dts/docs/searchFormatting.test.d.ts.map +0 -1
- package/build/dts/docs/searchFormatting.test.js +0 -39
- package/build/dts/docs/searchFormatting.test.js.map +0 -1
- package/build/dts/docs/semanticSearch.d.ts.map +0 -1
- package/build/dts/docs/semanticSearch.js.map +0 -1
- package/build/dts/docs/semanticSearch.test.d.ts +0 -2
- package/build/dts/docs/semanticSearch.test.d.ts.map +0 -1
- package/build/dts/docs/semanticSearch.test.js +0 -923
- package/build/dts/docs/semanticSearch.test.js.map +0 -1
- package/build/dts/docs/velo-readme.d.ts.map +0 -1
- package/build/dts/docs/velo-readme.js.map +0 -1
- package/build/dts/import-claude-design-tool/banner.d.ts.map +0 -1
- package/build/dts/import-claude-design-tool/banner.js.map +0 -1
- package/build/dts/import-claude-design-tool/constants.d.ts.map +0 -1
- package/build/dts/import-claude-design-tool/constants.js.map +0 -1
- package/build/dts/import-claude-design-tool/index.d.ts.map +0 -1
- package/build/dts/import-claude-design-tool/index.js.map +0 -1
- package/build/dts/import-claude-design-tool/index.test.d.ts +0 -2
- package/build/dts/import-claude-design-tool/index.test.d.ts.map +0 -1
- package/build/dts/import-claude-design-tool/index.test.js +0 -329
- package/build/dts/import-claude-design-tool/index.test.js.map +0 -1
- package/build/dts/import-claude-design-tool/sanitize.d.ts.map +0 -1
- package/build/dts/import-claude-design-tool/sanitize.js.map +0 -1
- package/build/dts/import-claude-design-tool/wixstro-client.d.ts.map +0 -1
- package/build/dts/import-claude-design-tool/wixstro-client.js.map +0 -1
- package/build/dts/index.d.ts.map +0 -1
- package/build/dts/index.js.map +0 -1
- package/build/dts/infra/bi-logger.d.ts.map +0 -1
- package/build/dts/infra/bi-logger.js.map +0 -1
- package/build/dts/infra/environment.d.ts.map +0 -1
- package/build/dts/infra/environment.js.map +0 -1
- package/build/dts/infra/file-logger.d.ts.map +0 -1
- package/build/dts/infra/file-logger.js.map +0 -1
- package/build/dts/infra/logger.d.ts.map +0 -1
- package/build/dts/infra/logger.js.map +0 -1
- package/build/dts/infra/panorama.d.ts.map +0 -1
- package/build/dts/infra/panorama.js.map +0 -1
- package/build/dts/infra/response-size-limits.d.ts.map +0 -1
- package/build/dts/infra/response-size-limits.js.map +0 -1
- package/build/dts/infra/sentry.d.ts.map +0 -1
- package/build/dts/infra/sentry.js.map +0 -1
- package/build/dts/infra/tool-bi.d.ts.map +0 -1
- package/build/dts/infra/tool-bi.js.map +0 -1
- package/build/dts/infra/widget-payload.d.ts.map +0 -1
- package/build/dts/infra/widget-payload.js.map +0 -1
- package/build/dts/resources/docs.d.ts.map +0 -1
- package/build/dts/resources/docs.js.map +0 -1
- package/build/dts/site-widget-tools/claim-site-tool/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/claim-site-tool/index.js.map +0 -1
- package/build/dts/site-widget-tools/constants.d.ts.map +0 -1
- package/build/dts/site-widget-tools/constants.js.map +0 -1
- package/build/dts/site-widget-tools/create-site-from-template-tool/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/create-site-from-template-tool/index.js.map +0 -1
- package/build/dts/site-widget-tools/edit-site-tool/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/edit-site-tool/index.js.map +0 -1
- package/build/dts/site-widget-tools/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/index.js.map +0 -1
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/pull-site-creation-job-tool/index.js.map +0 -1
- package/build/dts/site-widget-tools/search-site-templates-tool/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/search-site-templates-tool/index.js.map +0 -1
- package/build/dts/site-widget-tools/site-builder-tool/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/site-builder-tool/index.js.map +0 -1
- package/build/dts/site-widget-tools/site-builder-tool/index.test.d.ts +0 -2
- package/build/dts/site-widget-tools/site-builder-tool/index.test.d.ts.map +0 -1
- package/build/dts/site-widget-tools/site-builder-tool/index.test.js +0 -46
- package/build/dts/site-widget-tools/site-builder-tool/index.test.js.map +0 -1
- package/build/dts/site-widget-tools/site-creation-tool/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/site-creation-tool/index.js.map +0 -1
- package/build/dts/site-widget-tools/site-creation-tool/index.test.d.ts +0 -2
- package/build/dts/site-widget-tools/site-creation-tool/index.test.d.ts.map +0 -1
- package/build/dts/site-widget-tools/site-creation-tool/index.test.js +0 -57
- package/build/dts/site-widget-tools/site-creation-tool/index.test.js.map +0 -1
- package/build/dts/site-widget-tools/suggested-domain-tool/index.d.ts.map +0 -1
- package/build/dts/site-widget-tools/suggested-domain-tool/index.js.map +0 -1
- package/build/dts/site-widget-tools/types.d.ts.map +0 -1
- package/build/dts/site-widget-tools/types.js.map +0 -1
- package/build/dts/site-widget-tools/utils.d.ts.map +0 -1
- package/build/dts/site-widget-tools/utils.js.map +0 -1
- package/build/dts/support/index.d.ts.map +0 -1
- package/build/dts/support/index.js.map +0 -1
- package/build/dts/tool-bi-reporting.test.d.ts +0 -2
- package/build/dts/tool-bi-reporting.test.d.ts.map +0 -1
- package/build/dts/tool-bi-reporting.test.js +0 -219
- package/build/dts/tool-bi-reporting.test.js.map +0 -1
- package/build/dts/tool-utils.d.ts.map +0 -1
- package/build/dts/tool-utils.js.map +0 -1
- package/build/dts/tool-utils.spec.d.ts +0 -2
- package/build/dts/tool-utils.spec.d.ts.map +0 -1
- package/build/dts/tool-utils.spec.js +0 -98
- package/build/dts/tool-utils.spec.js.map +0 -1
- package/build/dts/toolkit-entry.d.ts.map +0 -1
- package/build/dts/toolkit-entry.js.map +0 -1
- package/build/dts/toolkit-json-schema.test.d.ts +0 -2
- package/build/dts/toolkit-json-schema.test.d.ts.map +0 -1
- package/build/dts/toolkit-json-schema.test.js +0 -36
- package/build/dts/toolkit-json-schema.test.js.map +0 -1
- package/build/dts/toolkit.d.ts.map +0 -1
- package/build/dts/toolkit.js.map +0 -1
- package/build/dts/toolkit.test.d.ts +0 -2
- package/build/dts/toolkit.test.d.ts.map +0 -1
- package/build/dts/toolkit.test.js +0 -691
- package/build/dts/toolkit.test.js.map +0 -1
- package/build/dts/widget-manifest.d.ts.map +0 -1
- package/build/dts/widget-manifest.js.map +0 -1
- package/build/dts/wix-fetch-error.d.ts.map +0 -1
- package/build/dts/wix-fetch-error.js.map +0 -1
- package/build/dts/wix-mcp-server.d.ts.map +0 -1
- package/build/dts/wix-mcp-server.js.map +0 -1
- package/build/dts/wixel/api.d.ts.map +0 -1
- package/build/dts/wixel/api.js.map +0 -1
- package/build/dts/wixel/constants.d.ts.map +0 -1
- package/build/dts/wixel/constants.js.map +0 -1
- package/build/dts/wixel/external-agent-api.d.ts.map +0 -1
- package/build/dts/wixel/external-agent-api.js.map +0 -1
- package/build/dts/wixel/get-wixel-asset-tool.d.ts.map +0 -1
- package/build/dts/wixel/get-wixel-asset-tool.js.map +0 -1
- package/build/dts/wixel/get-wixel-job-status-tool.d.ts.map +0 -1
- package/build/dts/wixel/get-wixel-job-status-tool.js.map +0 -1
- package/build/dts/wixel/get-wixel-project-assets-tool.d.ts.map +0 -1
- package/build/dts/wixel/get-wixel-project-assets-tool.js.map +0 -1
- package/build/dts/wixel/index.d.ts.map +0 -1
- package/build/dts/wixel/index.js.map +0 -1
- package/build/dts/wixel/mark-wixel-job-as-fulfilled-tool.d.ts.map +0 -1
- package/build/dts/wixel/mark-wixel-job-as-fulfilled-tool.js.map +0 -1
- package/build/dts/wixel/open-headless-wixel-project-tool.d.ts.map +0 -1
- package/build/dts/wixel/open-headless-wixel-project-tool.js.map +0 -1
- package/build/dts/wixel/pull-headless-wixel-job-tool.d.ts.map +0 -1
- package/build/dts/wixel/pull-headless-wixel-job-tool.js.map +0 -1
- package/build/dts/wixel/update-headless-wixel-job-tool.d.ts.map +0 -1
- package/build/dts/wixel/update-headless-wixel-job-tool.js.map +0 -1
- package/build/dts/wixel/utils.d.ts.map +0 -1
- package/build/dts/wixel/utils.js.map +0 -1
- package/build/dts/wixel/wixel-bi.d.ts.map +0 -1
- package/build/dts/wixel/wixel-bi.js.map +0 -1
- package/build/dts/wixel/wixel-bi.test.d.ts +0 -2
- package/build/dts/wixel/wixel-bi.test.d.ts.map +0 -1
- package/build/dts/wixel/wixel-bi.test.js +0 -35
- package/build/dts/wixel/wixel-bi.test.js.map +0 -1
- package/build/dts/wixel/wixel-session-tools.d.ts.map +0 -1
- package/build/dts/wixel/wixel-session-tools.js.map +0 -1
- package/build/dts/wixel/wixel-session-tools.test.d.ts +0 -2
- package/build/dts/wixel/wixel-session-tools.test.d.ts.map +0 -1
- package/build/dts/wixel/wixel-session-tools.test.js +0 -143
- package/build/dts/wixel/wixel-session-tools.test.js.map +0 -1
- package/build/esm/index.js.map +0 -7
- package/build/esm/toolkit.js.map +0 -7
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test, vi } from 'vitest';
|
|
2
|
-
import { addCodeModeTools, addExecuteCodeModeTool } from './index.js';
|
|
3
|
-
import { EXECUTE_FUNCTION_EXPRESSION_HINT } from './validation.js';
|
|
4
|
-
import { defaultToolDescriptions } from '../config/default-config.js';
|
|
5
|
-
function createCapturingServer() {
|
|
6
|
-
const names = [];
|
|
7
|
-
const schemas = {};
|
|
8
|
-
const callbacks = {};
|
|
9
|
-
const server = {
|
|
10
|
-
tool: (name, _description, schema, ...rest) => {
|
|
11
|
-
names.push(name);
|
|
12
|
-
schemas[name] = schema;
|
|
13
|
-
const callback = rest.find((arg) => typeof arg === 'function');
|
|
14
|
-
if (callback) {
|
|
15
|
-
callbacks[name] = callback;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
return { server, names, schemas, callbacks };
|
|
20
|
-
}
|
|
21
|
-
const authStrategy = {
|
|
22
|
-
getAccountAuthHeaders: async () => ({ Authorization: 'Bearer account' }),
|
|
23
|
-
getSiteAuthHeaders: async () => ({ Authorization: 'Bearer site' })
|
|
24
|
-
};
|
|
25
|
-
describe('addCodeModeTools', () => {
|
|
26
|
-
test('registers search and execute tools by default', async () => {
|
|
27
|
-
const fetchMock = vi
|
|
28
|
-
.spyOn(globalThis, 'fetch')
|
|
29
|
-
.mockResolvedValue(Response.json({ result: 'business-solutions [1 resources]: stores' }));
|
|
30
|
-
const { server, names } = createCapturingServer();
|
|
31
|
-
await addCodeModeTools(server, {
|
|
32
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
33
|
-
authStrategy
|
|
34
|
-
});
|
|
35
|
-
expect(names).toEqual(['SearchWixAPISpec', 'ExecuteWixAPI']);
|
|
36
|
-
expect(fetchMock).toHaveBeenCalledWith('https://mcp.wix.com/api/code-mode/category-tree', { headers: { Authorization: 'Bearer account' } });
|
|
37
|
-
fetchMock.mockRestore();
|
|
38
|
-
});
|
|
39
|
-
test('falls back to the legacy search snippet when the category-tree endpoint is missing', async () => {
|
|
40
|
-
const fetchMock = vi
|
|
41
|
-
.spyOn(globalThis, 'fetch')
|
|
42
|
-
.mockImplementation(async (url) => String(url).endsWith('/api/code-mode/category-tree')
|
|
43
|
-
? new Response('Not Found', { status: 404 })
|
|
44
|
-
: Response.json({
|
|
45
|
-
result: 'business-solutions [1 resources]: stores'
|
|
46
|
-
}));
|
|
47
|
-
const { server, names } = createCapturingServer();
|
|
48
|
-
await addCodeModeTools(server, {
|
|
49
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
50
|
-
authStrategy
|
|
51
|
-
});
|
|
52
|
-
expect(names).toEqual(['SearchWixAPISpec', 'ExecuteWixAPI']);
|
|
53
|
-
expect(fetchMock).toHaveBeenCalledWith('https://mcp.wix.com/api/code-mode/search', expect.objectContaining({ method: 'POST' }));
|
|
54
|
-
fetchMock.mockRestore();
|
|
55
|
-
});
|
|
56
|
-
test('respects disableTools for code-mode tools', async () => {
|
|
57
|
-
const fetchMock = vi.spyOn(globalThis, 'fetch');
|
|
58
|
-
const { server, names } = createCapturingServer();
|
|
59
|
-
await addCodeModeTools(server, {
|
|
60
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
61
|
-
authStrategy,
|
|
62
|
-
disableTools: ['SearchWixAPISpec', 'ExecuteWixAPI']
|
|
63
|
-
});
|
|
64
|
-
expect(names).toEqual([]);
|
|
65
|
-
expect(fetchMock).not.toHaveBeenCalled();
|
|
66
|
-
fetchMock.mockRestore();
|
|
67
|
-
});
|
|
68
|
-
test('can register only the execute tool', async () => {
|
|
69
|
-
const fetchMock = vi.spyOn(globalThis, 'fetch');
|
|
70
|
-
const { server, names } = createCapturingServer();
|
|
71
|
-
await addCodeModeTools(server, {
|
|
72
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
73
|
-
authStrategy,
|
|
74
|
-
disableTools: ['SearchWixAPISpec']
|
|
75
|
-
});
|
|
76
|
-
expect(names).toEqual(['ExecuteWixAPI']);
|
|
77
|
-
expect(fetchMock).not.toHaveBeenCalled();
|
|
78
|
-
fetchMock.mockRestore();
|
|
79
|
-
});
|
|
80
|
-
test('ExecuteWixAPI includes required metadata parameters', async () => {
|
|
81
|
-
const fetchMock = vi.spyOn(globalThis, 'fetch');
|
|
82
|
-
const { server, schemas } = createCapturingServer();
|
|
83
|
-
await addCodeModeTools(server, {
|
|
84
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
85
|
-
authStrategy,
|
|
86
|
-
disableTools: ['SearchWixAPISpec']
|
|
87
|
-
});
|
|
88
|
-
expect(Object.keys(schemas.ExecuteWixAPI)).toEqual(['code', 'reason', 'hasMutations', 'sourceDocUrls', 'siteId']);
|
|
89
|
-
fetchMock.mockRestore();
|
|
90
|
-
});
|
|
91
|
-
test('ExecuteWixAPI returns a valid hint response before auth or network for invalid code', async () => {
|
|
92
|
-
const fetchMock = vi.spyOn(globalThis, 'fetch');
|
|
93
|
-
const getAccountAuthHeaders = vi.fn(async () => ({
|
|
94
|
-
Authorization: 'Bearer account'
|
|
95
|
-
}));
|
|
96
|
-
const getSiteAuthHeaders = vi.fn(async () => ({
|
|
97
|
-
Authorization: 'Bearer site'
|
|
98
|
-
}));
|
|
99
|
-
const { server, callbacks } = createCapturingServer();
|
|
100
|
-
addExecuteCodeModeTool(server, {
|
|
101
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
102
|
-
authStrategy: {
|
|
103
|
-
getAccountAuthHeaders,
|
|
104
|
-
getSiteAuthHeaders
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
const result = (await callbacks.ExecuteWixAPI({
|
|
108
|
-
code: 'const response = await wix.request({ method: "GET", url: "/x" }); return response;',
|
|
109
|
-
reason: 'test invalid code handling',
|
|
110
|
-
hasMutations: false,
|
|
111
|
-
sourceDocUrls: []
|
|
112
|
-
}));
|
|
113
|
-
expect(result.isError).toBeUndefined();
|
|
114
|
-
expect(result.content[0].text).toBe(EXECUTE_FUNCTION_EXPRESSION_HINT);
|
|
115
|
-
expect(getAccountAuthHeaders).not.toHaveBeenCalled();
|
|
116
|
-
expect(getSiteAuthHeaders).not.toHaveBeenCalled();
|
|
117
|
-
expect(fetchMock).not.toHaveBeenCalled();
|
|
118
|
-
fetchMock.mockRestore();
|
|
119
|
-
});
|
|
120
|
-
test('ExecuteWixAPI description defines complete and multi-site orchestration', () => {
|
|
121
|
-
const description = defaultToolDescriptions.ExecuteWixAPI;
|
|
122
|
-
expect(description).toContain('PLAN ONE COMPLETE INVOCATION');
|
|
123
|
-
expect(description).toContain('Include every foreseeable lookup, mutation, dependent follow-up, requested verification');
|
|
124
|
-
expect(description).toContain('genuinely new information');
|
|
125
|
-
expect(description).toContain('siteId?: string;');
|
|
126
|
-
expect(description).toContain('Never invoke ExecuteWixAPI once per site');
|
|
127
|
-
expect(description).toContain('paginating the Sites API when necessary');
|
|
128
|
-
});
|
|
129
|
-
test('ExecuteWixAPI describes file and export limits', async () => {
|
|
130
|
-
const fetchMock = vi.spyOn(globalThis, 'fetch');
|
|
131
|
-
const { server, schemas } = createCapturingServer();
|
|
132
|
-
await addCodeModeTools(server, {
|
|
133
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
134
|
-
authStrategy,
|
|
135
|
-
disableTools: ['SearchWixAPISpec']
|
|
136
|
-
});
|
|
137
|
-
const description = defaultToolDescriptions.ExecuteWixAPI;
|
|
138
|
-
expect(description).toContain('Node.js modules, filesystem access');
|
|
139
|
-
expect(description).toContain('separate host file tools');
|
|
140
|
-
expect(description).toContain('do not claim ExecuteWixAPI created a file');
|
|
141
|
-
const schema = schemas.ExecuteWixAPI;
|
|
142
|
-
const codeDescription = schema.code.description ?? schema.code._def?.description ?? '';
|
|
143
|
-
expect(codeDescription).toContain('Do not import Node.js built-ins');
|
|
144
|
-
expect(codeDescription).toContain('ExecuteWixAPI only returns data');
|
|
145
|
-
fetchMock.mockRestore();
|
|
146
|
-
});
|
|
147
|
-
test('SearchWixAPISpec sends the caller credential on the loopback call', async () => {
|
|
148
|
-
const fetchMock = vi
|
|
149
|
-
.spyOn(globalThis, 'fetch')
|
|
150
|
-
.mockImplementation(async () => Response.json({ result: 'ok' }));
|
|
151
|
-
const { server, callbacks } = createCapturingServer();
|
|
152
|
-
await addCodeModeTools(server, {
|
|
153
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
154
|
-
authStrategy
|
|
155
|
-
});
|
|
156
|
-
await callbacks.SearchWixAPISpec({ code: 'async () => 1', reason: 'test' });
|
|
157
|
-
const [url, init] = fetchMock.mock.calls.at(-1);
|
|
158
|
-
expect(url).toBe('https://mcp.wix.com/api/code-mode/search');
|
|
159
|
-
expect(init.headers).toMatchObject({ Authorization: 'Bearer account' });
|
|
160
|
-
fetchMock.mockRestore();
|
|
161
|
-
});
|
|
162
|
-
test('SearchWixAPISpec still works when the session has no credential', async () => {
|
|
163
|
-
const fetchMock = vi
|
|
164
|
-
.spyOn(globalThis, 'fetch')
|
|
165
|
-
.mockImplementation(async () => Response.json({ result: 'ok' }));
|
|
166
|
-
const { server, callbacks } = createCapturingServer();
|
|
167
|
-
// Anonymous sessions throw from getAccountAuthHeaders by design — search
|
|
168
|
-
// must degrade to an unauthenticated call, not fail.
|
|
169
|
-
await addCodeModeTools(server, {
|
|
170
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
171
|
-
authStrategy: {
|
|
172
|
-
getAccountAuthHeaders: async () => {
|
|
173
|
-
throw new Error('Authentication required');
|
|
174
|
-
},
|
|
175
|
-
getSiteAuthHeaders: async () => {
|
|
176
|
-
throw new Error('Authentication required');
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
const result = (await callbacks.SearchWixAPISpec({
|
|
181
|
-
code: 'async () => 1',
|
|
182
|
-
reason: 'test'
|
|
183
|
-
}));
|
|
184
|
-
const [, init] = fetchMock.mock.calls.at(-1);
|
|
185
|
-
expect(init.headers).not.toHaveProperty('Authorization');
|
|
186
|
-
expect(result.isError).toBeUndefined();
|
|
187
|
-
fetchMock.mockRestore();
|
|
188
|
-
});
|
|
189
|
-
test('SearchWixAPISpec includes required reason parameter', async () => {
|
|
190
|
-
const fetchMock = vi
|
|
191
|
-
.spyOn(globalThis, 'fetch')
|
|
192
|
-
.mockResolvedValue(Response.json({ result: 'business-solutions [1 resources]: stores' }));
|
|
193
|
-
const { server, schemas } = createCapturingServer();
|
|
194
|
-
await addCodeModeTools(server, {
|
|
195
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
196
|
-
authStrategy
|
|
197
|
-
});
|
|
198
|
-
expect(Object.keys(schemas.SearchWixAPISpec)).toEqual(['code', 'reason']);
|
|
199
|
-
fetchMock.mockRestore();
|
|
200
|
-
});
|
|
201
|
-
test('SearchWixAPISpec description teaches URL-first schema inspection', () => {
|
|
202
|
-
const description = defaultToolDescriptions.SearchWixAPISpec;
|
|
203
|
-
expect(description).toContain('docsUrl');
|
|
204
|
-
expect(description).toContain('Inspect one method schema by exact docs URL');
|
|
205
|
-
expect(description).toContain('call `getResourceSchemaByUrl(methodDocsUrl)` in this tool');
|
|
206
|
-
expect(description).toContain('lightIndex.find');
|
|
207
|
-
expect(description).toContain('updatedAt');
|
|
208
|
-
expect(description).toContain('method.publicUrl');
|
|
209
|
-
expect(description).toContain('Do not use `method.servers[0]`');
|
|
210
|
-
expect(description).not.toContain('lightIndex.resources');
|
|
211
|
-
});
|
|
212
|
-
});
|
|
213
|
-
describe('addExecuteCodeModeTool — visitor mode', () => {
|
|
214
|
-
test('registers ExecuteWixAPI with a visitorToken param and no siteId param', () => {
|
|
215
|
-
const { server, names, schemas } = createCapturingServer();
|
|
216
|
-
addExecuteCodeModeTool(server, {
|
|
217
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
218
|
-
visitor: { siteId: 'meta-site-1' }
|
|
219
|
-
});
|
|
220
|
-
expect(names).toEqual(['ExecuteWixAPI']);
|
|
221
|
-
expect(Object.keys(schemas.ExecuteWixAPI)).toEqual([
|
|
222
|
-
'code',
|
|
223
|
-
'reason',
|
|
224
|
-
'hasMutations',
|
|
225
|
-
'sourceDocUrls',
|
|
226
|
-
'visitorToken'
|
|
227
|
-
]);
|
|
228
|
-
});
|
|
229
|
-
test('respects disableTools', () => {
|
|
230
|
-
const { server, names } = createCapturingServer();
|
|
231
|
-
addExecuteCodeModeTool(server, {
|
|
232
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
233
|
-
visitor: { siteId: 'meta-site-1' },
|
|
234
|
-
disableTools: ['ExecuteWixAPI']
|
|
235
|
-
});
|
|
236
|
-
expect(names).toEqual([]);
|
|
237
|
-
});
|
|
238
|
-
test('sends the visitor token as siteToken + accountToken with the pinned siteId', async () => {
|
|
239
|
-
const fetchMock = vi
|
|
240
|
-
.spyOn(globalThis, 'fetch')
|
|
241
|
-
.mockResolvedValue(Response.json({ result: { ok: true } }));
|
|
242
|
-
const { server, callbacks } = createCapturingServer();
|
|
243
|
-
addExecuteCodeModeTool(server, {
|
|
244
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
245
|
-
visitor: { siteId: 'meta-site-1' }
|
|
246
|
-
});
|
|
247
|
-
await callbacks.ExecuteWixAPI({
|
|
248
|
-
code: 'async () => 1',
|
|
249
|
-
reason: 'test',
|
|
250
|
-
hasMutations: false,
|
|
251
|
-
sourceDocUrls: [],
|
|
252
|
-
visitorToken: 'visitor-abc'
|
|
253
|
-
});
|
|
254
|
-
expect(fetchMock).toHaveBeenCalledWith('https://mcp.wix.com/api/code-mode/execute', expect.objectContaining({ method: 'POST' }));
|
|
255
|
-
const body = JSON.parse(fetchMock.mock.calls[0][1].body);
|
|
256
|
-
expect(body).toMatchObject({
|
|
257
|
-
code: 'async () => 1',
|
|
258
|
-
siteId: 'meta-site-1',
|
|
259
|
-
siteToken: 'visitor-abc',
|
|
260
|
-
accountToken: 'visitor-abc'
|
|
261
|
-
});
|
|
262
|
-
fetchMock.mockRestore();
|
|
263
|
-
});
|
|
264
|
-
test('surfaces a regenerate-token hint on an auth error status', async () => {
|
|
265
|
-
const fetchMock = vi
|
|
266
|
-
.spyOn(globalThis, 'fetch')
|
|
267
|
-
.mockResolvedValue(Response.json({ authErrorStatus: 401 }));
|
|
268
|
-
const { server, callbacks } = createCapturingServer();
|
|
269
|
-
addExecuteCodeModeTool(server, {
|
|
270
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
271
|
-
visitor: { siteId: 'meta-site-1' }
|
|
272
|
-
});
|
|
273
|
-
const result = (await callbacks.ExecuteWixAPI({
|
|
274
|
-
code: 'async () => 1',
|
|
275
|
-
reason: 'test',
|
|
276
|
-
hasMutations: false,
|
|
277
|
-
sourceDocUrls: [],
|
|
278
|
-
visitorToken: 'expired'
|
|
279
|
-
}));
|
|
280
|
-
expect(result.isError).toBe(true);
|
|
281
|
-
expect(result.content[0].text).toContain('GenerateVisitorToken');
|
|
282
|
-
fetchMock.mockRestore();
|
|
283
|
-
});
|
|
284
|
-
});
|
|
285
|
-
describe('addExecuteCodeModeTool — BI identity forwarded to the runtime', () => {
|
|
286
|
-
/** Runs ExecuteWixAPI and returns the parsed POST body. */
|
|
287
|
-
async function executeAndReadBody(decorate, extra) {
|
|
288
|
-
const fetchMock = vi
|
|
289
|
-
.spyOn(globalThis, 'fetch')
|
|
290
|
-
.mockResolvedValue(Response.json({ result: { ok: true } }));
|
|
291
|
-
const { server, callbacks } = createCapturingServer();
|
|
292
|
-
decorate?.(server);
|
|
293
|
-
addExecuteCodeModeTool(server, {
|
|
294
|
-
codeModeBaseUrl: 'https://mcp.wix.com',
|
|
295
|
-
authStrategy
|
|
296
|
-
});
|
|
297
|
-
await callbacks.ExecuteWixAPI({
|
|
298
|
-
code: 'async () => 1',
|
|
299
|
-
reason: 'test',
|
|
300
|
-
hasMutations: false,
|
|
301
|
-
sourceDocUrls: [],
|
|
302
|
-
siteId: 'site-1'
|
|
303
|
-
}, extra);
|
|
304
|
-
const body = JSON.parse(fetchMock.mock.calls[0][1].body);
|
|
305
|
-
fetchMock.mockRestore();
|
|
306
|
-
return body;
|
|
307
|
-
}
|
|
308
|
-
test('forwards userId/sessionId/clientName so api-call BI can route', async () => {
|
|
309
|
-
const body = await executeAndReadBody((server) => {
|
|
310
|
-
server.getUserId = () => 'user-7';
|
|
311
|
-
server.getSessionId = () => 'session-42';
|
|
312
|
-
server.server = {
|
|
313
|
-
getClientVersion: () => ({ name: 'claude-code', version: '1' })
|
|
314
|
-
};
|
|
315
|
-
});
|
|
316
|
-
expect(body).toMatchObject({
|
|
317
|
-
userId: 'user-7',
|
|
318
|
-
sessionId: 'session-42',
|
|
319
|
-
clientName: 'claude-code'
|
|
320
|
-
});
|
|
321
|
-
});
|
|
322
|
-
// toolInvocationId is per-invocation, so unlike the others it can only come
|
|
323
|
-
// from `extra` — it is what joins the runtime's api-call rows to this tool row.
|
|
324
|
-
test('forwards toolInvocationId from extra', async () => {
|
|
325
|
-
const body = await executeAndReadBody(undefined, {
|
|
326
|
-
toolInvocationId: 'invocation-3'
|
|
327
|
-
});
|
|
328
|
-
expect(body.toolInvocationId).toBe('invocation-3');
|
|
329
|
-
});
|
|
330
|
-
test('omits identity instead of throwing on a duck-typed server', async () => {
|
|
331
|
-
// The toolkit's capturing server implements only tool()/registerTool() —
|
|
332
|
-
// a missing accessor must not fail the tool call.
|
|
333
|
-
const body = await executeAndReadBody();
|
|
334
|
-
expect(body.userId).toBeUndefined();
|
|
335
|
-
expect(body.sessionId).toBeUndefined();
|
|
336
|
-
expect(body.clientName).toBeUndefined();
|
|
337
|
-
// No extra at all — a callback invoked without it must not throw.
|
|
338
|
-
expect(body.toolInvocationId).toBeUndefined();
|
|
339
|
-
expect(body.code).toBe('async () => 1');
|
|
340
|
-
});
|
|
341
|
-
});
|
|
342
|
-
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/code-mode/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-response.d.ts","sourceRoot":"","sources":["../../../src/code-mode/truncate-response.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,MAA0B,GACnC,MAAM,CAcR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-response.js","sourceRoot":"","sources":["../../../src/code-mode/truncate-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,WAAmB,iBAAiB;IAEpC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE7E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IAEpE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;QACzC,OAAO,IAAI,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC;IAE9D,OAAO,GAAG,SAAS,wCAAwC,eAAe,CAAC,cAAc,EAAE,mBAAmB,WAAW,CAAC,cAAc,EAAE,0CAA0C,CAAC;AACvL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-response.test.d.ts","sourceRoot":"","sources":["../../../src/code-mode/truncate-response.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from 'vitest';
|
|
2
|
-
import { truncateResponse } from './truncate-response.js';
|
|
3
|
-
import { MAX_ALLOWED_RESPONSE_CHARS } from '../infra/response-size-limits.js';
|
|
4
|
-
describe('truncateResponse', () => {
|
|
5
|
-
test('returns short content unchanged', () => {
|
|
6
|
-
expect(truncateResponse({ a: 1 })).toBe(JSON.stringify({ a: 1 }));
|
|
7
|
-
});
|
|
8
|
-
test('truncates at the default 24,000-char limit when no override is passed', () => {
|
|
9
|
-
const text = 'x'.repeat(30000);
|
|
10
|
-
const result = truncateResponse(text);
|
|
11
|
-
expect(result.startsWith('x'.repeat(24000))).toBe(true);
|
|
12
|
-
expect(result).toContain('--- TRUNCATED ---');
|
|
13
|
-
expect(result).toContain('limit: 6,000');
|
|
14
|
-
});
|
|
15
|
-
test('honors a caller-supplied maxChars below the default', () => {
|
|
16
|
-
const text = 'x'.repeat(1000);
|
|
17
|
-
const result = truncateResponse(text, 500);
|
|
18
|
-
expect(result.startsWith('x'.repeat(500))).toBe(true);
|
|
19
|
-
expect(result).toContain('--- TRUNCATED ---');
|
|
20
|
-
});
|
|
21
|
-
test('does not truncate when maxChars covers the full content', () => {
|
|
22
|
-
const text = 'x'.repeat(1000);
|
|
23
|
-
expect(truncateResponse(text, 5000)).toBe(text);
|
|
24
|
-
});
|
|
25
|
-
test('clamps a caller-supplied maxChars above MAX_ALLOWED_RESPONSE_CHARS', () => {
|
|
26
|
-
const text = 'x'.repeat(MAX_ALLOWED_RESPONSE_CHARS + 1000);
|
|
27
|
-
const result = truncateResponse(text, Number.MAX_SAFE_INTEGER);
|
|
28
|
-
expect(result.startsWith('x'.repeat(MAX_ALLOWED_RESPONSE_CHARS))).toBe(true);
|
|
29
|
-
expect(result.length).toBeLessThan(text.length);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=truncate-response.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-response.test.js","sourceRoot":"","sources":["../../../src/code-mode/truncate-response.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;QACjF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAE3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC9E,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAE/D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CACpE,IAAI,CACL,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/code-mode/validation.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gCAAgC,QAG8D,CAAC;AAE5G,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAsBtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/code-mode/validation.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6EAA6E;AAC7E,6DAA6D;AAC7D,8EAA8E;AAC9E,qEAAqE;AACrE,MAAM,CAAC,MAAM,gCAAgC,GAC3C,uEAAuE;IACvE,mKAAmK;IACnK,yGAAyG,CAAC;AAO5G,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACxC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;QAC9B,CAAC,CAAC,OAAO,CAAC;IACZ,MAAM,yBAAyB,GAC7B,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC;QACpD,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1C,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,6BAA6B,GACjC,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC;QAC/C,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE5B,IACE,CAAC,yBAAyB;QAC1B,yBAAyB;QACzB,6BAA6B,EAC7B,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.test.d.ts","sourceRoot":"","sources":["../../../src/code-mode/validation.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { describe, test, expect } from 'vitest';
|
|
2
|
-
import { validateExecuteCode, EXECUTE_FUNCTION_EXPRESSION_HINT } from './validation.js';
|
|
3
|
-
describe('validateExecuteCode()', () => {
|
|
4
|
-
describe('valid async function expressions', () => {
|
|
5
|
-
test('anonymous async function', () => {
|
|
6
|
-
expect(validateExecuteCode('async function() {}')).toEqual({
|
|
7
|
-
isValid: true
|
|
8
|
-
});
|
|
9
|
-
});
|
|
10
|
-
test('named async function', () => {
|
|
11
|
-
expect(validateExecuteCode('async function foo() {}')).toEqual({
|
|
12
|
-
isValid: true
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
test('arrow function with block body', () => {
|
|
16
|
-
expect(validateExecuteCode('async () => {}')).toEqual({ isValid: true });
|
|
17
|
-
});
|
|
18
|
-
test('arrow function with concise body', () => {
|
|
19
|
-
expect(validateExecuteCode('async () => 1')).toEqual({ isValid: true });
|
|
20
|
-
});
|
|
21
|
-
test('arrow function with a single parameter', () => {
|
|
22
|
-
expect(validateExecuteCode('async (x) => {}')).toEqual({ isValid: true });
|
|
23
|
-
});
|
|
24
|
-
test('arrow function with multiple parameters', () => {
|
|
25
|
-
expect(validateExecuteCode('async (a, b) => {}')).toEqual({
|
|
26
|
-
isValid: true
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
test('parenthesized arrow function', () => {
|
|
30
|
-
expect(validateExecuteCode('(async () => {})')).toEqual({
|
|
31
|
-
isValid: true
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
test('multi-line anonymous async function', () => {
|
|
35
|
-
const code = `async function() {
|
|
36
|
-
const response = await wix.request({ method: 'GET', url: '/x' });
|
|
37
|
-
return response.data;
|
|
38
|
-
}`;
|
|
39
|
-
expect(validateExecuteCode(code)).toEqual({ isValid: true });
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
// Each case below is a real failure shape pulled from the last 10 rejected
|
|
43
|
-
// ExecuteWixAPI calls (events.dbo.users_39, evid=1607).
|
|
44
|
-
describe('invalid code (real failure shapes)', () => {
|
|
45
|
-
const expectInvalid = (code) => expect(validateExecuteCode(code)).toEqual({
|
|
46
|
-
isValid: false,
|
|
47
|
-
error: EXECUTE_FUNCTION_EXPRESSION_HINT
|
|
48
|
-
});
|
|
49
|
-
test('top-level script body with const/await/return', () => {
|
|
50
|
-
expectInvalid('const response = await wix.request({ method: "GET", url: "https://www.wixapis.com/site-properties/v4/properties" }); return response;');
|
|
51
|
-
});
|
|
52
|
-
test('script body with a chained .catch()', () => {
|
|
53
|
-
expectInvalid('const methods = await wix.request({ method: "GET", url: "https://www.wixapis.com/promote/v1/url-redirects" }).catch(e => ({ error: String(e) })); return methods;');
|
|
54
|
-
});
|
|
55
|
-
test('script body using dynamic import', () => {
|
|
56
|
-
expectInvalid('const { products } = await import("wix-stores.v3"); const result = await products.updateProduct("id", { revision: "2" }); return result;');
|
|
57
|
-
});
|
|
58
|
-
test('script body starting with a leading newline', () => {
|
|
59
|
-
expectInvalid('\nconst response = await wix.request({\n method: "GET",\n url: "https://www.wixapis.com/analytics/v2/site-analytics/data"\n});\nreturn response;\n');
|
|
60
|
-
});
|
|
61
|
-
test('named function followed by self-invocation', () => {
|
|
62
|
-
expectInvalid('async function main() { const response = await wix.request({ method: "POST", url: "https://www.wixapis.com/members/v1/members/query" }); return response; } return main();');
|
|
63
|
-
});
|
|
64
|
-
test('IIFE self-invocation', () => {
|
|
65
|
-
expectInvalid('(async () => { const r = await wix.request({ method: "GET", url: "/x" }); return r; })()');
|
|
66
|
-
});
|
|
67
|
-
test('non-code garbage string', () => {
|
|
68
|
-
expectInvalid('GSC-shiatsu-check');
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
//# sourceMappingURL=validation.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../../src/code-mode/validation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-config.bulk-preference.test.d.ts","sourceRoot":"","sources":["../../../src/config/default-config.bulk-preference.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { defaultToolDescriptions } from './default-config.js';
|
|
3
|
-
import { paramDescriptions } from './param-descriptions.js';
|
|
4
|
-
describe('bulk preference guidance', () => {
|
|
5
|
-
const execute = defaultToolDescriptions.ExecuteWixAPI;
|
|
6
|
-
const restSearchTerm = paramDescriptions.SearchWixRESTDocumentation.searchTerm;
|
|
7
|
-
describe('ExecuteWixAPI', () => {
|
|
8
|
-
it('tells the agent to prefer the bulk method over a loop', () => {
|
|
9
|
-
expect(execute).toContain('PREFER BULK ENDPOINTS');
|
|
10
|
-
expect(execute).toMatch(/instead of calling the single-item one once per entity/i);
|
|
11
|
-
});
|
|
12
|
-
it('says bulk responses carry per-item outcomes', () => {
|
|
13
|
-
expect(execute).toMatch(/per-item outcomes/i);
|
|
14
|
-
});
|
|
15
|
-
// Conditional because 5 of 24 audited bulk methods take no array at all —
|
|
16
|
-
// some are filter-shaped, some take ids in the query string.
|
|
17
|
-
it('points at the request schema for the batch-size cap', () => {
|
|
18
|
-
expect(execute).toMatch(/array of entities/i);
|
|
19
|
-
expect(execute).toMatch(/chunk to its `maxItems`/i);
|
|
20
|
-
});
|
|
21
|
-
// Most resources have no bulk for a given verb, so guidance that only says
|
|
22
|
-
// "prefer bulk" sends the agent hunting for something that isn't there.
|
|
23
|
-
it('makes a missing bulk method the expected case', () => {
|
|
24
|
-
expect(execute).toMatch(/resources may have no bulk for a given verb/i);
|
|
25
|
-
expect(execute).toMatch(/call the single-item method once per entity/i);
|
|
26
|
-
});
|
|
27
|
-
it('scopes a bulk method to the same resource and version', () => {
|
|
28
|
-
expect(execute).toMatch(/similarly named bulk methods from other resources or API versions/i);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
describe('SearchWixRESTDocumentation searchTerm', () => {
|
|
32
|
-
it('tells the agent to match wording to the number of entities', () => {
|
|
33
|
-
expect(restSearchTerm).toMatch(/Match the wording to how many entities/i);
|
|
34
|
-
expect(restSearchTerm).toMatch(/surfaces the resource's bulk methods/i);
|
|
35
|
-
});
|
|
36
|
-
it('does not teach singular-only phrasing by example', () => {
|
|
37
|
-
expect(restSearchTerm).toMatch(/update data collection items/);
|
|
38
|
-
expect(restSearchTerm).not.toMatch(/update a data collection item/);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=default-config.bulk-preference.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-config.bulk-preference.test.js","sourceRoot":"","sources":["../../../src/config/default-config.bulk-preference.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,CAAC;IACtD,MAAM,cAAc,GAClB,iBAAiB,CAAC,0BAA0B,CAAC,UAAU,CAAC;IAE1D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACrB,yDAAyD,CAC1D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,0EAA0E;QAC1E,6DAA6D;QAC7D,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,2EAA2E;QAC3E,wEAAwE;QACxE,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACrB,oEAAoE,CACrE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACrD,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;YAC1E,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC/D,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../../src/config/default-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE5C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAqED,eAAO,MAAM,0BAA0B,QAAsC,CAAC;AAE9E,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,CAkBlE;AAED,eAAO,MAAM,eAAe,QAA4B,CAAC;AAEzD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAerB,CAAC;AAsBX,iGAAiG;AACjG,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,MAIrC,CAAC;AA4JJ,eAAO,MAAM,wBAAwB,QAkBpC,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,OAAO,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4jBxB;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAC9B,CAAC;AAE9B,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAElE,CAAC;AAmEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAY9C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,iBAAiB,EACvB,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACpC,iBAAiB,CA2BnB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,iBAY3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,IAAI,CACzC,iBAAiB,EACjB,kBAAkB,CAWnB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-config.execute-orchestration.test.d.ts","sourceRoot":"","sources":["../../../src/config/default-config.execute-orchestration.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { defaultToolDescriptions, executeCodeModeToolDescriptions } from './default-config.js';
|
|
3
|
-
describe('ExecuteWixAPI description', () => {
|
|
4
|
-
const description = defaultToolDescriptions.ExecuteWixAPI;
|
|
5
|
-
it('keeps foreseeable orchestration in one invocation', () => {
|
|
6
|
-
expect(description).toContain('PLAN ONE COMPLETE INVOCATION');
|
|
7
|
-
expect(description).toContain('One invocation may make several');
|
|
8
|
-
expect(description).toContain('Keep dependent calls in sequence');
|
|
9
|
-
expect(description).toContain('Promise.allSettled');
|
|
10
|
-
expect(description).toContain('include it after the mutation in the same function body');
|
|
11
|
-
});
|
|
12
|
-
it('re-invokes only for genuinely new information, not to continue a known flow', () => {
|
|
13
|
-
expect(description).toContain('genuinely new information');
|
|
14
|
-
expect(description).toContain('Include every foreseeable lookup, mutation, dependent follow-up');
|
|
15
|
-
});
|
|
16
|
-
it('never makes a second call to verify a mutation whose response already proves the outcome', () => {
|
|
17
|
-
expect(description).toContain('never make a second ExecuteWixAPI call merely to verify it');
|
|
18
|
-
expect(description).toContain('include it after the mutation in the same function body');
|
|
19
|
-
});
|
|
20
|
-
it('treats unexpected response shape as a reason to add conditional logic, not a new invocation', () => {
|
|
21
|
-
expect(description).toContain('An empty or unexpected response shape is not a reason for a new invocation');
|
|
22
|
-
expect(description).toContain('add a conditional read-back inside the same function body instead');
|
|
23
|
-
});
|
|
24
|
-
it('forbids one ExecuteWixAPI call per site', () => {
|
|
25
|
-
expect(description).toContain('Never invoke ExecuteWixAPI once per site');
|
|
26
|
-
expect(description).toContain('pass the appropriate per-request `siteId` to each `wix.request`');
|
|
27
|
-
expect(description).toContain('paginating the Sites API when necessary');
|
|
28
|
-
});
|
|
29
|
-
it('forbids speculative mutations to discover response shape', () => {
|
|
30
|
-
expect(description).toContain('Never use speculative create/update/delete calls');
|
|
31
|
-
expect(description).toContain('never repeat a successful mutation');
|
|
32
|
-
});
|
|
33
|
-
it('forbids assuming a response field is filterable or sortable', () => {
|
|
34
|
-
expect(description).toContain('A response field is not automatically filterable or sortable');
|
|
35
|
-
});
|
|
36
|
-
it('does not drift between default and execute-code-mode configuration', () => {
|
|
37
|
-
expect(executeCodeModeToolDescriptions.ExecuteWixAPI).toBe(description);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=default-config.execute-orchestration.test.js.map
|