@wix/mcp 1.0.90 → 1.0.92
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 +49 -29
- package/build/cjs/index.cjs +51 -31
- package/build/cjs/toolkit.cjs +49 -29
- package/build/dts/config/default-config.js +12 -10
- package/build/dts/docs/docs.d.ts +2 -2
- package/build/dts/docs/docs.js +4 -4
- package/build/dts/docs/start-deploy-website.d.ts +22 -0
- package/build/dts/docs/start-deploy-website.js +83 -0
- package/build/dts/import-claude-design-tool/index.js +2 -2
- package/build/dts/toolkit-entry.d.cts +2 -2
- package/build/dts/toolkit-entry.d.ts +2 -2
- package/build/esm/index.js +51 -31
- package/build/esm/toolkit.js +49 -29
- package/package.json +2 -2
- package/build/dts/docs/deploy-website.d.ts +0 -13
- package/build/dts/docs/deploy-website.js +0 -45
package/build/esm/toolkit.js
CHANGED
|
@@ -12124,7 +12124,7 @@ function buildSystemReminderGuidelines(includeReadme, includeImageUploadGuidance
|
|
|
12124
12124
|
"if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed.",
|
|
12125
12125
|
"**Exception \u2014 creating a new Wix site/website:** For a normal creation request \u2014 and only then \u2014 skip WixREADME and the docs search, and route straight to the Wix site-creation tools available to you; their descriptions carry the routing rules. Everything else starts with WixREADME as usual.",
|
|
12126
12126
|
"If the user explicitly asks for a headless site, Wix Classic Editor site, or manual account/API-based site creation, call CreateWixBusinessGuide right away \u2014 these don't need the site's purpose first.",
|
|
12127
|
-
"If the user \u2014 or you, earlier in this conversation \u2014 already have a finished page or site in any form (HTML/CSS/JS files, a static build, a zip, another builder's export, a design you can export to HTML) and want it live on Wix, call
|
|
12127
|
+
"If the user \u2014 or you, earlier in this conversation \u2014 already have a finished page or site in any form (HTML/CSS/JS files, a static build, a zip, another builder's export, a design you can export to HTML) and want it live on Wix, call StartDeployWebsite right away \u2014 not a site-creation tool, not the docs.",
|
|
12128
12128
|
"Never default to AI or search templates unless the user explicitly requests it. When the user named no creation method - let the user make that choice as the site-creation tools' descriptions direct. Never route normal site creation through ManageWixSite, CallWixSiteAPI, or ExecuteWixAPI."
|
|
12129
12129
|
);
|
|
12130
12130
|
}
|
|
@@ -12204,9 +12204,11 @@ var SITE_CREATION_COPY = {
|
|
|
12204
12204
|
}
|
|
12205
12205
|
};
|
|
12206
12206
|
var SITE_GUIDANCE = dedent_default`
|
|
12207
|
-
|
|
12207
|
+
First decide which of two different things is being asked for:
|
|
12208
|
+
- The site is code the user or you control — hand-written HTML/CSS/JS, a static build, a zip, another AI builder's export, or a page or design you made earlier in this conversation — and it should go live on Wix. This is also the route whenever the user wants to keep working on the site here, with you: a Wix Headless site is a regular coded site, so you keep full control of the design and can change and redeploy it from this conversation at any time, and Wix business capabilities can be added to it as a backend when they are needed. Call StartDeployWebsite: it returns the recipe to host those exact files as a Wix Headless site (updates reuse the same site and URL; the drop page is only its fallback). Do not offer AI or templates for this and do not call any site-creation tool.
|
|
12209
|
+
- Wix should create the site — generated with AI from a description, or started from a template — and the user will design and edit it in Wix rather than through you. That is what the site-creation tools do; they never take files you already have.
|
|
12208
12210
|
|
|
12209
|
-
|
|
12211
|
+
For a new site there are two things to settle: what the site is for, and how to build it. The how is AI generation vs. starting from a template, so naming templates, a template id or Wix Studio (Wix Studio is also the template side) already settles it.
|
|
12210
12212
|
|
|
12211
12213
|
Settle what the site is for first: its purpose, topic, business type, audience, or main visitor action. Naming a method is not a description of the site, and neither is the business or industry on its own.
|
|
12212
12214
|
If you can't tell yet, ask the preferred question below and nothing else — one question, no creation-method question in the same reply, and no internal tool names.
|
|
@@ -12598,7 +12600,7 @@ function buildToolDescriptions(includeReadme, includeImageUploadGuidance = true)
|
|
|
12598
12600
|
`,
|
|
12599
12601
|
"import-claude-design-from-url": dedent_default`
|
|
12600
12602
|
Import a design created in Claude's design tool into Wix. Takes the signed claudeusercontent.com URL Claude Design produces for its self-contained HTML bundle (all images, fonts, and styles inlined); any other host is rejected. Creates a live Wix-hosted site and returns its URL.
|
|
12601
|
-
NOT for a page or site that exists in any other form (the user's own HTML/CSS/JS, a static build, a zip, another builder's export, a page you made in this conversation) — for those call
|
|
12603
|
+
NOT for a page or site that exists in any other form (the user's own HTML/CSS/JS, a static build, a zip, another builder's export, a page you made in this conversation) — for those call StartDeployWebsite instead; it returns the recipe to publish the files yourself.
|
|
12602
12604
|
`,
|
|
12603
12605
|
RunWixCliCommand: dedent_default`
|
|
12604
12606
|
Executes Wix CLI commands for Wix app development and management.
|
|
@@ -13030,14 +13032,14 @@ function buildToolDescriptions(includeReadme, includeImageUploadGuidance = true)
|
|
|
13030
13032
|
WixSiteBuilder: dedent_default`
|
|
13031
13033
|
${SITE_GUIDANCE}
|
|
13032
13034
|
|
|
13033
|
-
Tool for generating a Wix site with AI (creating / building a site in Wix Harmony).
|
|
13035
|
+
Tool for generating a Wix site with AI (creating / building a site in Wix Harmony) from a description. It does not take pages or files you already have — those go to StartDeployWebsite.
|
|
13034
13036
|
|
|
13035
13037
|
Call this ONLY when the user's own words name AI (for example "create a site using AI" or "build it with AI") and the site intent is clear. A description of what the site should do — reservations, online ordering, a store, bookings, menus, a portfolio, and the like — is NOT a request for AI and NOT enough to call this tool; never infer AI from features or industry.
|
|
13036
13038
|
Never default to this tool: if the user hasn't explicitly named AI, don't call this tool — ${SITE_CREATION_COPY.unstatedMethod.nonWidget}.
|
|
13037
13039
|
|
|
13038
13040
|
For templates or Wix Studio, call \`SearchSiteTemplates\`; for a specific template by \`metaSiteId\` or \`templateId\`, call \`CreateSiteFromTemplate\`; for a headless or classic Wix Editor site, or manual/account-API creation, call \`CreateWixBusinessGuide\`.
|
|
13039
13041
|
|
|
13040
|
-
Do NOT suggest HTML code, prompt templates, or alternative approaches — actually build the site through this tool.
|
|
13042
|
+
Do NOT suggest HTML code, prompt templates, or alternative approaches instead of building — actually build the site through this tool. (HTML the user already has is the StartDeployWebsite case, not a reason to build.)
|
|
13041
13043
|
`,
|
|
13042
13044
|
SearchSiteTemplates: dedent_default`
|
|
13043
13045
|
${SITE_GUIDANCE}
|
|
@@ -13080,9 +13082,9 @@ function buildToolDescriptions(includeReadme, includeImageUploadGuidance = true)
|
|
|
13080
13082
|
Results: each root field fails independently — \`errors[].path\` names the failing field and \`errors[].extensions.message\` the cause (e.g. PERMISSION_DENIED); \`data\` still holds the fields that succeeded. Mutations return the created/updated entity — read the IDs from it and do not re-query to verify. Large results are truncated: narrow the selection or page size instead of re-running.
|
|
13081
13083
|
Set \`hasMutations: true\` for any document containing a mutation root field.
|
|
13082
13084
|
`,
|
|
13083
|
-
|
|
13084
|
-
The user — or you, earlier in this conversation — ALREADY HAVE a finished page or site, in any form, and it should be live on Wix
|
|
13085
|
-
|
|
13085
|
+
StartDeployWebsite: dedent_default`
|
|
13086
|
+
The user — or you, earlier in this conversation — ALREADY HAVE a finished page or site, in any form, and it should be live on Wix — or an already-deployed Wix Headless site whose files should be replaced. The site can be HTML/CSS/JS files, a static build (dist/, out/), a zip, another AI builder's export, or a page/design you created in this conversation (export it to HTML first — a finished design IS a finished page). Call this when the user says deploy, host, publish, put online, make it live, get a URL, update my site, or upload my site / index.html.
|
|
13087
|
+
Updates keep the same site and URL. Also for implementing a backend on such a site as a Wix Headless project — same site, same URL. Works with or without a Wix login (anonymous deploy with a save link), through the Wix MCP alone or from a shell.
|
|
13086
13088
|
Missing real functionality — a fake checkout, a form that goes nowhere, bookings — is NOT a reason to rebuild the site with a site-creation tool: deploy the page as is, then add the backend afterwards (the recipe covers it).
|
|
13087
13089
|
Returns the full recipe; follow it and run the flow yourself. The drop page is only the fallback when you can't.
|
|
13088
13090
|
NOT for: a screenshot, mockup or reference image of a site the user WANTS (nothing exists to deploy yet — that is site creation: WixSiteBuilder / templates); a Claude Design share URL (import-claude-design-from-url); migrating a live site by URL or CSV exports; adding HTML or code into an existing Wix site; uploading images or documents to a site's media (UploadImageToWixSite).
|
|
@@ -13090,7 +13092,7 @@ function buildToolDescriptions(includeReadme, includeImageUploadGuidance = true)
|
|
|
13090
13092
|
CreateWixBusinessGuide: dedent_default`
|
|
13091
13093
|
Provides comprehensive documentation for creating a new Wix business (site, app, etc.).
|
|
13092
13094
|
Call this ONLY when the user explicitly asks for a headless site, a Wix Classic Editor site, or manual/advanced account/API-based site creation — these don't need the site's purpose first. For normal site-creation ${SITE_CREATION_COPY.normalCreationRoute.nonWidget}; for a specific template id, call \`CreateSiteFromTemplate\`.
|
|
13093
|
-
Exception, even when the user says "headless": if a finished page or site already exists in any form (their own HTML/CSS/JS, a static build, a zip, an AI-builder export, a page you made in this conversation) and they want it hosted, don't call this tool — call
|
|
13095
|
+
Exception, even when the user says "headless": if a finished page or site already exists in any form (their own HTML/CSS/JS, a static build, a zip, an AI-builder export, a page you made in this conversation) and they want it hosted, don't call this tool — call StartDeployWebsite, which returns the recipe to publish the files yourself. This guide's CLI flow is for BUILDING a headless frontend, not for hosting ready-made files.
|
|
13094
13096
|
|
|
13095
13097
|
## What This Tool Contains
|
|
13096
13098
|
|
|
@@ -14237,39 +14239,57 @@ ${articleContent}${nextSteps}`;
|
|
|
14237
14239
|
);
|
|
14238
14240
|
}
|
|
14239
14241
|
|
|
14240
|
-
// src/docs/deploy-website.ts
|
|
14241
|
-
var
|
|
14242
|
-
|
|
14242
|
+
// src/docs/start-deploy-website.ts
|
|
14243
|
+
var START_DEPLOY_WEBSITE_PARAM_DESCRIPTIONS = {
|
|
14244
|
+
userRequest: "The user's request that led here, quoted if short, otherwise summarized in a sentence.",
|
|
14245
|
+
siteDescription: "What the site is: its purpose and who it is for. One or two sentences.",
|
|
14246
|
+
siteForm: "The form the site exists in right now (HTML/CSS/JS files, a static build, a zip, another builder's export, a design created in this conversation, or something else), roughly how many files, and whether it includes images.",
|
|
14247
|
+
siteFunctionality: "What the site must be able to do for its visitors beyond showing pages, if anything (for example selling, bookings or reservations, tickets, menus and orders, rentals, forms, memberships or paid plans, donations, a blog, or anything else the user expects to work), in your own words. If it is a plain static site with no such needs, say so.",
|
|
14248
|
+
agentIdentity: "Which agent or product you are and the harness you run in.",
|
|
14249
|
+
wixAccess: "How you can reach Wix from where you run: through this MCP only, or also from a shell whose network can reach wixapis.com; whether you can run the Wix CLI (npx @wix/cli) there and whether it is logged in; and which Wix identity you act with \u2014 the user's login through this MCP, a CLI login, or none."
|
|
14250
|
+
};
|
|
14251
|
+
var START_DEPLOY_WEBSITE_PARAMS = Object.keys(
|
|
14252
|
+
START_DEPLOY_WEBSITE_PARAM_DESCRIPTIONS
|
|
14253
|
+
);
|
|
14254
|
+
var START_DEPLOY_WEBSITE_TOOL_NAME = "StartDeployWebsite";
|
|
14255
|
+
var START_DEPLOY_WEBSITE_RECIPE_URL = "https://dev.wix.com/docs/api-reference/account-level/sites/skills/upload-a-website-or-html-files.md";
|
|
14243
14256
|
var DROP_PAGE_URL = "https://www.wix.com/headless/drop?utm_campaign=mcp";
|
|
14244
14257
|
var FALLBACK_LINE = `Only if you cannot run it (you can't reach the file bytes, or a step fails and you can't fix it): send the user to ${DROP_PAGE_URL} \u2014 give that URL exactly as written, keeping the utm_campaign=mcp parameter.`;
|
|
14245
|
-
function
|
|
14258
|
+
function startDeployWebsiteResponse(recipe) {
|
|
14246
14259
|
return [
|
|
14247
|
-
`The following is the content of ${
|
|
14260
|
+
`The following is the content of ${START_DEPLOY_WEBSITE_RECIPE_URL}. Follow it end to end and do the publishing yourself \u2014 do not hand the user instructions.`,
|
|
14248
14261
|
FALLBACK_LINE,
|
|
14249
14262
|
"---",
|
|
14250
14263
|
recipe.trim()
|
|
14251
14264
|
].join("\n\n");
|
|
14252
14265
|
}
|
|
14253
|
-
var
|
|
14254
|
-
`Read and follow this recipe end to end: ${
|
|
14266
|
+
var START_DEPLOY_WEBSITE_POINTER_RESPONSE = [
|
|
14267
|
+
`Read and follow this recipe end to end: ${START_DEPLOY_WEBSITE_RECIPE_URL}`,
|
|
14255
14268
|
"It covers creating the site and uploading the files (with or without a Wix login), updating a site deployed this way, and implementing a backend on it (stores, bookings, CMS, members) as a Wix Headless project. Do the publishing yourself \u2014 do not hand the user instructions.",
|
|
14256
14269
|
FALLBACK_LINE
|
|
14257
14270
|
].join("\n\n");
|
|
14258
|
-
function
|
|
14259
|
-
if (disableTools.includes(
|
|
14271
|
+
function addStartDeployWebsiteTool(server, disableTools = [], toolDescriptions, fetchOptions = {}) {
|
|
14272
|
+
if (disableTools.includes(START_DEPLOY_WEBSITE_TOOL_NAME)) {
|
|
14260
14273
|
return;
|
|
14261
14274
|
}
|
|
14262
14275
|
server.tool(
|
|
14263
|
-
|
|
14264
|
-
toolDescriptions?.[
|
|
14265
|
-
{
|
|
14276
|
+
START_DEPLOY_WEBSITE_TOOL_NAME,
|
|
14277
|
+
toolDescriptions?.[START_DEPLOY_WEBSITE_TOOL_NAME] ?? defaultToolDescriptions[START_DEPLOY_WEBSITE_TOOL_NAME],
|
|
14278
|
+
{
|
|
14279
|
+
userRequest: external_exports.string().min(1).describe(START_DEPLOY_WEBSITE_PARAM_DESCRIPTIONS.userRequest),
|
|
14280
|
+
siteDescription: external_exports.string().min(1).describe(START_DEPLOY_WEBSITE_PARAM_DESCRIPTIONS.siteDescription),
|
|
14281
|
+
siteForm: external_exports.string().min(1).describe(START_DEPLOY_WEBSITE_PARAM_DESCRIPTIONS.siteForm),
|
|
14282
|
+
siteFunctionality: external_exports.string().min(1).describe(START_DEPLOY_WEBSITE_PARAM_DESCRIPTIONS.siteFunctionality),
|
|
14283
|
+
agentIdentity: external_exports.string().min(1).describe(START_DEPLOY_WEBSITE_PARAM_DESCRIPTIONS.agentIdentity),
|
|
14284
|
+
wixAccess: external_exports.string().min(1).describe(START_DEPLOY_WEBSITE_PARAM_DESCRIPTIONS.wixAccess)
|
|
14285
|
+
},
|
|
14266
14286
|
{ readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
14267
14287
|
async (_args, { httpClient }) => {
|
|
14268
|
-
let text =
|
|
14288
|
+
let text = START_DEPLOY_WEBSITE_POINTER_RESPONSE;
|
|
14269
14289
|
try {
|
|
14270
14290
|
const recipe = await fetchArticleContent(
|
|
14271
14291
|
httpClient,
|
|
14272
|
-
|
|
14292
|
+
START_DEPLOY_WEBSITE_RECIPE_URL.replace(/\.md$/, ""),
|
|
14273
14293
|
"article",
|
|
14274
14294
|
true,
|
|
14275
14295
|
fetchOptions.skillsPortalUrl,
|
|
@@ -14277,11 +14297,11 @@ function addDeployWebsiteTool(server, disableTools = [], toolDescriptions, fetch
|
|
|
14277
14297
|
fetchOptions.commitHash
|
|
14278
14298
|
);
|
|
14279
14299
|
if (recipe && recipe.trim()) {
|
|
14280
|
-
text =
|
|
14300
|
+
text = startDeployWebsiteResponse(recipe);
|
|
14281
14301
|
}
|
|
14282
14302
|
} catch (error) {
|
|
14283
14303
|
console.warn(
|
|
14284
|
-
`[
|
|
14304
|
+
`[StartDeployWebsite] recipe fetch failed, returning the pointer:`,
|
|
14285
14305
|
error instanceof Error ? error.message : error
|
|
14286
14306
|
);
|
|
14287
14307
|
}
|
|
@@ -14338,7 +14358,7 @@ var addDocsTools = (server, allowedTools = [
|
|
|
14338
14358
|
const {
|
|
14339
14359
|
getToKnowWixEnabled = false,
|
|
14340
14360
|
createWixBusinessGuideEnabled = true,
|
|
14341
|
-
|
|
14361
|
+
startDeployWebsiteEnabled = true,
|
|
14342
14362
|
disableTools,
|
|
14343
14363
|
toolDescriptions,
|
|
14344
14364
|
readmeDocs,
|
|
@@ -14404,8 +14424,8 @@ var addDocsTools = (server, allowedTools = [
|
|
|
14404
14424
|
cliEnabled
|
|
14405
14425
|
);
|
|
14406
14426
|
}
|
|
14407
|
-
if (
|
|
14408
|
-
|
|
14427
|
+
if (startDeployWebsiteEnabled) {
|
|
14428
|
+
addStartDeployWebsiteTool(server, disableTools || [], toolDescriptions, {
|
|
14409
14429
|
skillsPortalUrl,
|
|
14410
14430
|
repo: effectiveRepo,
|
|
14411
14431
|
commitHash: effectiveCommitHash
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.92",
|
|
4
4
|
"description": "A Model Context Protocol server for Wix AI tools",
|
|
5
5
|
"bin": "./build/bin-standalone.js",
|
|
6
6
|
"dependencies": {
|
|
@@ -133,5 +133,5 @@
|
|
|
133
133
|
]
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
|
-
"falconPackageHash": "
|
|
136
|
+
"falconPackageHash": "54656e5ebcb80096bd722cc5f9776c97996d45e5c6701b4288e04af9"
|
|
137
137
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { WixMcpServer } from '../wix-mcp-server.js';
|
|
2
|
-
export declare const DEPLOY_WEBSITE_TOOL_NAME = "DeployWebsite";
|
|
3
|
-
export declare const DEPLOY_WEBSITE_RECIPE_URL = "https://dev.wix.com/docs/api-reference/account-level/sites/skills/upload-a-website-or-html-files.md";
|
|
4
|
-
export declare const DROP_PAGE_URL = "https://www.wix.com/headless/drop?utm_campaign=mcp";
|
|
5
|
-
export declare function deployWebsiteResponse(recipe: string): string;
|
|
6
|
-
export declare const DEPLOY_WEBSITE_POINTER_RESPONSE: string;
|
|
7
|
-
export interface DeployWebsiteFetchOptions {
|
|
8
|
-
skillsPortalUrl?: string;
|
|
9
|
-
repo?: string;
|
|
10
|
-
commitHash?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function addDeployWebsiteTool(server: WixMcpServer, disableTools?: string[], toolDescriptions?: Record<string, string>, fetchOptions?: DeployWebsiteFetchOptions): void;
|
|
13
|
-
//# sourceMappingURL=deploy-website.d.ts.map
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { defaultToolDescriptions } from '../config/default-config.js';
|
|
2
|
-
import { fetchArticleContent } from './fetch-article.js';
|
|
3
|
-
export const DEPLOY_WEBSITE_TOOL_NAME = 'DeployWebsite';
|
|
4
|
-
export const DEPLOY_WEBSITE_RECIPE_URL = 'https://dev.wix.com/docs/api-reference/account-level/sites/skills/upload-a-website-or-html-files.md';
|
|
5
|
-
export const DROP_PAGE_URL = 'https://www.wix.com/headless/drop?utm_campaign=mcp';
|
|
6
|
-
const FALLBACK_LINE = `Only if you cannot run it (you can't reach the file bytes, or a step fails and you can't fix it): send the user to ${DROP_PAGE_URL} — give that URL exactly as written, keeping the utm_campaign=mcp parameter.`;
|
|
7
|
-
// The tool exists to take the agent's attention at routing time; the work itself
|
|
8
|
-
// is the recipe, so the response IS the recipe — fetched live and returned whole,
|
|
9
|
-
// so the agent never has to decide whether to go read it.
|
|
10
|
-
export function deployWebsiteResponse(recipe) {
|
|
11
|
-
return [
|
|
12
|
-
`The following is the content of ${DEPLOY_WEBSITE_RECIPE_URL}. Follow it end to end and do the publishing yourself — do not hand the user instructions.`,
|
|
13
|
-
FALLBACK_LINE,
|
|
14
|
-
'---',
|
|
15
|
-
recipe.trim()
|
|
16
|
-
].join('\n\n');
|
|
17
|
-
}
|
|
18
|
-
// When the recipe can't be fetched, the pointer still routes correctly.
|
|
19
|
-
export const DEPLOY_WEBSITE_POINTER_RESPONSE = [
|
|
20
|
-
`Read and follow this recipe end to end: ${DEPLOY_WEBSITE_RECIPE_URL}`,
|
|
21
|
-
'It covers creating the site and uploading the files (with or without a Wix login), updating a site deployed this way, and implementing a backend on it (stores, bookings, CMS, members) as a Wix Headless project. Do the publishing yourself — do not hand the user instructions.',
|
|
22
|
-
FALLBACK_LINE
|
|
23
|
-
].join('\n\n');
|
|
24
|
-
export function addDeployWebsiteTool(server, disableTools = [], toolDescriptions, fetchOptions = {}) {
|
|
25
|
-
if (disableTools.includes(DEPLOY_WEBSITE_TOOL_NAME)) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
server.tool(DEPLOY_WEBSITE_TOOL_NAME, toolDescriptions?.[DEPLOY_WEBSITE_TOOL_NAME] ??
|
|
29
|
-
defaultToolDescriptions[DEPLOY_WEBSITE_TOOL_NAME], {}, { readOnlyHint: true, destructiveHint: false, openWorldHint: false }, async (_args, { httpClient }) => {
|
|
30
|
-
let text = DEPLOY_WEBSITE_POINTER_RESPONSE;
|
|
31
|
-
try {
|
|
32
|
-
// Same path ReadFullDocsArticle takes for this page: the rawdocs article
|
|
33
|
-
// API, addressed without the .md suffix, header scaffolding stripped.
|
|
34
|
-
const recipe = await fetchArticleContent(httpClient, DEPLOY_WEBSITE_RECIPE_URL.replace(/\.md$/, ''), 'article', true, fetchOptions.skillsPortalUrl, fetchOptions.repo, fetchOptions.commitHash);
|
|
35
|
-
if (recipe && recipe.trim()) {
|
|
36
|
-
text = deployWebsiteResponse(recipe);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
console.warn(`[DeployWebsite] recipe fetch failed, returning the pointer:`, error instanceof Error ? error.message : error);
|
|
41
|
-
}
|
|
42
|
-
return { content: [{ type: 'text', text }] };
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=deploy-website.js.map
|