webcake-landing-mcp 1.0.35 → 1.0.36

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.
@@ -1,4 +1,11 @@
1
1
  [
2
+ {
3
+ "v": "1.0.36",
4
+ "d": "08/06/2026",
5
+ "type": "Changed",
6
+ "en": "The GET / web guide page now lists \"Claude · Codex · Cursor, etc.\" instead of only \"Claude · Cursor\" in the AI assistant flow diagram, reflecting…",
7
+ "vi": "Trang hướng dẫn GET / nay hiển thị \"Claude · Codex · Cursor, v.v.\" thay vì chỉ \"Claude · Cursor\" trong sơ đồ luồng AI assistant, phản ánh danh sách…"
8
+ },
2
9
  {
3
10
  "v": "1.0.35",
4
11
  "d": "08/06/2026",
@@ -33,12 +40,5 @@
33
40
  "type": "Fixed",
34
41
  "en": "get_element for spin_wheel now correctly documents specials.code as a newline-delimited string (one line per segment in couponCode|Prize…",
35
42
  "vi": "get_element cho spin_wheel nay ghi lại đúng specials.code là chuỗi phân cách bằng dấu xuống dòng (mỗi dòng một segment theo định dạng couponCode|Tên…"
36
- },
37
- {
38
- "v": "1.0.30",
39
- "d": "08/06/2026",
40
- "type": "Changed",
41
- "en": "The server instructions now direct the agent to gather all get_element and get_generation_guide results before assembling the page source, build the…",
42
- "vi": "Hướng dẫn cho agent nay yêu cầu thu thập toàn bộ kết quả get_element và get_generation_guide trước khi lắp ráp nguồn trang, xây dựng cây phần tử đầy…"
43
43
  }
44
44
  ]
package/dist/web-guide.js CHANGED
@@ -149,7 +149,7 @@ const T = {
149
149
  flowH2: "Mô hình hoạt động",
150
150
  flow: [
151
151
  { icon: "bulb", t: "Bạn", s: "ý tưởng" },
152
- { icon: "brain", t: "Trợ lý AI", s: "Claude · Cursor" },
152
+ { icon: "brain", t: "Trợ lý AI", s: "Claude · Codex · Cursor,etc..." },
153
153
  { icon: "server", t: "MCP", s: "webcake-landing" },
154
154
  { icon: "window", t: "WebCake", s: "trang thật" },
155
155
  ],
@@ -174,12 +174,36 @@ const T = {
174
174
  ],
175
175
  buildH2: "Bạn dựng được những gì",
176
176
  uses: [
177
- { icon: "magnet", t: "Trang thu lead", e: '"Trang waitlist cho SaaS — hero, 3 lợi ích, form thu email."' },
178
- { icon: "cart", t: "Bán hàng COD / online", e: '"Trang một sản phẩm — gallery, giá, biến thể, form đặt hàng có giỏ."' },
179
- { icon: "ticket", t: "Sự kiện / webinar", e: '"Trang đăng ký — đếm ngược, agenda, form đăng ký."' },
180
- { icon: "mail", t: "Thiệp mời", e: '"Thiệp cưới tên, ngày, bản đồ, form RSVP."' },
181
- { icon: "phone", t: "Quảng bá app", e: '"Mockup điện thoại, danh sách tính năng, nút App Store + Google Play."' },
182
- { icon: "flame", t: "Flash sale", e: '"Đồng hồ đếm ngược to, lưới sản phẩm giảm giá, nút Mua dính."' },
177
+ {
178
+ icon: "magnet",
179
+ t: "Trang thu lead",
180
+ e: '"Trang waitlist cho SaaShero, 3 lợi ích, form thu email."',
181
+ },
182
+ {
183
+ icon: "cart",
184
+ t: "Bán hàng COD / online",
185
+ e: '"Trang một sản phẩm — gallery, giá, biến thể, form đặt hàng có giỏ."',
186
+ },
187
+ {
188
+ icon: "ticket",
189
+ t: "Sự kiện / webinar",
190
+ e: '"Trang đăng ký — đếm ngược, agenda, form đăng ký."',
191
+ },
192
+ {
193
+ icon: "mail",
194
+ t: "Thiệp mời",
195
+ e: '"Thiệp cưới — tên, ngày, bản đồ, form RSVP."',
196
+ },
197
+ {
198
+ icon: "phone",
199
+ t: "Quảng bá app",
200
+ e: '"Mockup điện thoại, danh sách tính năng, nút App Store + Google Play."',
201
+ },
202
+ {
203
+ icon: "flame",
204
+ t: "Flash sale",
205
+ e: '"Đồng hồ đếm ngược to, lưới sản phẩm giảm giá, nút Mua dính."',
206
+ },
183
207
  ],
184
208
  connectH2: "Kết nối — chọn 1 trong 2 cách",
185
209
  m1Tag: "Cách ① · npx — chạy trên máy bạn",
@@ -196,15 +220,24 @@ const T = {
196
220
  m2Steps: [
197
221
  '<b>Lấy link cá nhân</b> (đã gắn sẵn token) — mở trang sau rồi bấm <b>Copy</b>:<a class="btn" href="{REMOTE}">Mở {REMOTE_HOST} {ARROW}</a>',
198
222
  '<b>Mở phần thêm connector</b> trong client:<br>• claude.ai: <i>Settings → Connectors → Add custom connector</i><br>• Cursor / Claude Code: mở file <code class="inl">.mcp.json</code>',
199
- '<b>Dán link</b> vừa copy (có dạng):<pre>{ENDPOINT}?jwt=&lt;TOKEN&gt;</pre>',
223
+ "<b>Dán link</b> vừa copy (có dạng):<pre>{ENDPOINT}?jwt=&lt;TOKEN&gt;</pre>",
200
224
  "<b>Bấm Add</b> (hoặc lưu file) → đợi kết nối → xong. Icon Webcake xanh hiện lên là chạy được.",
201
225
  ],
202
226
  m2Note: "⚠️ Link chứa token cá nhân — coi như mật khẩu, đừng chia sẻ, luôn dùng HTTPS.",
203
227
  afterH2: "Sau khi kết nối, bạn nói được",
204
228
  examples: [
205
- { icon: "wand", t: '"Dựng landing bán khoá học, tông xanh, có form đăng ký + nút Zalo."' },
206
- { icon: "edit", t: '"Mở trang <i>sale-hè</i>, đổi tiêu đề thành \'Giảm 50%\', nút sang màu đỏ."' },
207
- { icon: "clock", t: '"Thêm section đếm ngược + 3 testimonial vào cuối trang."' },
229
+ {
230
+ icon: "wand",
231
+ t: '"Dựng landing bán khoá học, tông xanh, form đăng ký + nút Zalo."',
232
+ },
233
+ {
234
+ icon: "edit",
235
+ t: "\"Mở trang <i>sale-hè</i>, đổi tiêu đề thành 'Giảm 50%', nút sang màu đỏ.\"",
236
+ },
237
+ {
238
+ icon: "clock",
239
+ t: '"Thêm section đếm ngược + 3 testimonial vào cuối trang."',
240
+ },
208
241
  ],
209
242
  newH2: "Có gì mới",
210
243
  newBadge: "MỚI",
@@ -227,7 +260,7 @@ const T = {
227
260
  flowH2: "How it flows",
228
261
  flow: [
229
262
  { icon: "bulb", t: "You", s: "your idea" },
230
- { icon: "brain", t: "AI assistant", s: "Claude · Cursor" },
263
+ { icon: "brain", t: "AI assistant", s: "Claude · Codex · Cursor,etc..." },
231
264
  { icon: "server", t: "MCP", s: "webcake-landing" },
232
265
  { icon: "window", t: "WebCake", s: "a real page" },
233
266
  ],
@@ -237,7 +270,7 @@ const T = {
237
270
  {
238
271
  icon: "brain",
239
272
  t: "AI learns the real model",
240
- d: 'Webcake\'s element catalog, <code class="inl">specials</code>, coordinate system and events — pulled straight from this server\'s tools.',
273
+ d: "Webcake's element catalog, <code class=\"inl\">specials</code>, coordinate system and events — pulled straight from this server's tools.",
241
274
  },
242
275
  {
243
276
  icon: "check2",
@@ -252,12 +285,36 @@ const T = {
252
285
  ],
253
286
  buildH2: "What you can build",
254
287
  uses: [
255
- { icon: "magnet", t: "Lead-gen page", e: '"A SaaS waitlist — hero, 3 benefits, an email-capture form."' },
256
- { icon: "cart", t: "COD / online store", e: '"A one-product page — gallery, price, variations, an order form with cart."' },
257
- { icon: "ticket", t: "Event / webinar", e: '"A registration page — countdown, agenda, sign-up form."' },
258
- { icon: "mail", t: "Invitation", e: '"A wedding invitenames, date, a map, an RSVP form."' },
259
- { icon: "phone", t: "App promo", e: '"Phone mockups, feature list, App Store + Google Play buttons."' },
260
- { icon: "flame", t: "Flash sale", e: '"A big countdown, a discounted product grid, a sticky Buy button."' },
288
+ {
289
+ icon: "magnet",
290
+ t: "Lead-gen page",
291
+ e: '"A SaaS waitlisthero, 3 benefits, an email-capture form."',
292
+ },
293
+ {
294
+ icon: "cart",
295
+ t: "COD / online store",
296
+ e: '"A one-product page — gallery, price, variations, an order form with cart."',
297
+ },
298
+ {
299
+ icon: "ticket",
300
+ t: "Event / webinar",
301
+ e: '"A registration page — countdown, agenda, sign-up form."',
302
+ },
303
+ {
304
+ icon: "mail",
305
+ t: "Invitation",
306
+ e: '"A wedding invite — names, date, a map, an RSVP form."',
307
+ },
308
+ {
309
+ icon: "phone",
310
+ t: "App promo",
311
+ e: '"Phone mockups, feature list, App Store + Google Play buttons."',
312
+ },
313
+ {
314
+ icon: "flame",
315
+ t: "Flash sale",
316
+ e: '"A big countdown, a discounted product grid, a sticky Buy button."',
317
+ },
261
318
  ],
262
319
  connectH2: "Connect — pick one of two ways",
263
320
  m1Tag: "Way ① · npx — runs on your machine",
@@ -274,15 +331,24 @@ const T = {
274
331
  m2Steps: [
275
332
  '<b>Get your personal link</b> (token baked in) — open the page below and hit <b>Copy</b>:<a class="btn" href="{REMOTE}">Open {REMOTE_HOST} {ARROW}</a>',
276
333
  '<b>Open the add-connector area</b> in your client:<br>• claude.ai: <i>Settings → Connectors → Add custom connector</i><br>• Cursor / Claude Code: open <code class="inl">.mcp.json</code>',
277
- '<b>Paste the link</b> you copied (looks like):<pre>{ENDPOINT}?jwt=&lt;TOKEN&gt;</pre>',
334
+ "<b>Paste the link</b> you copied (looks like):<pre>{ENDPOINT}?jwt=&lt;TOKEN&gt;</pre>",
278
335
  "<b>Hit Add</b> (or save the file) → wait for it to connect → done. A green Webcake icon means it's live.",
279
336
  ],
280
337
  m2Note: "⚠️ The link carries your personal token — treat it like a password, never share it, always use HTTPS.",
281
338
  afterH2: "Once connected, you can say",
282
339
  examples: [
283
- { icon: "wand", t: '"Build a landing page to sell a course, green theme, a sign-up form + a Zalo button."' },
284
- { icon: "edit", t: "\"Open the <i>summer-sale</i> page, change the headline to 'Save 50%', make the button red.\"" },
285
- { icon: "clock", t: '"Add a countdown section + 3 testimonials to the bottom of the page."' },
340
+ {
341
+ icon: "wand",
342
+ t: '"Build a landing page to sell a course, green theme, a sign-up form + a Zalo button."',
343
+ },
344
+ {
345
+ icon: "edit",
346
+ t: "\"Open the <i>summer-sale</i> page, change the headline to 'Save 50%', make the button red.\"",
347
+ },
348
+ {
349
+ icon: "clock",
350
+ t: '"Add a countdown section + 3 testimonials to the bottom of the page."',
351
+ },
286
352
  ],
287
353
  newH2: "What's new",
288
354
  newBadge: "NEW",
@@ -319,7 +385,7 @@ const CL_TYPE_VI = {
319
385
  function clTag(type, lang) {
320
386
  if (!type)
321
387
  return "";
322
- const label = lang === "vi" ? CL_TYPE_VI[type] ?? "" : type;
388
+ const label = lang === "vi" ? (CL_TYPE_VI[type] ?? "") : type;
323
389
  return label ? ` <span class="cl-tag">${label}</span>` : "";
324
390
  }
325
391
  function steps(items) {
@@ -354,11 +420,20 @@ export function guideHtml(origin, lang = "vi") {
354
420
  url: canonical,
355
421
  image: ogImage,
356
422
  offers: { "@type": "Offer", price: "0", priceCurrency: "USD" },
357
- author: { "@type": "Organization", name: "Webcake", url: "https://webcake.io" },
423
+ author: {
424
+ "@type": "Organization",
425
+ name: "Webcake",
426
+ url: "https://webcake.io",
427
+ },
358
428
  softwareHelp: DOCS_URL,
359
429
  installUrl: NPM_URL,
360
430
  },
361
- { "@type": "WebSite", name: "Webcake Landing MCP", url: `${origin}/`, inLanguage: L },
431
+ {
432
+ "@type": "WebSite",
433
+ name: "Webcake Landing MCP",
434
+ url: `${origin}/`,
435
+ inLanguage: L,
436
+ },
362
437
  {
363
438
  "@type": "FAQPage",
364
439
  mainEntity: faq.map((f) => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webcake-landing-mcp",
3
- "version": "1.0.35",
3
+ "version": "1.0.36",
4
4
  "description": "MCP server exposing Webcake landing-page element schemas + AI usage hints, and persisting LLM-generated page sources to a Webcake backend.",
5
5
  "type": "module",
6
6
  "license": "MIT",