@productmaker/mcp 11.6.10 → 11.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/http.js CHANGED
@@ -22835,6 +22835,50 @@ __name(isRetryableBrandCreationFailure, "isRetryableBrandCreationFailure");
22835
22835
 
22836
22836
  // ../../packages/types/src/task-ad-defaults.ts
22837
22837
  import { z as z112 } from "zod";
22838
+
22839
+ // ../../packages/types/src/service-page-hosting.ts
22840
+ var SERVICE_PAGE_RESERVED_SLUGS = /* @__PURE__ */ new Set([
22841
+ "admin",
22842
+ "alert-triage",
22843
+ "api",
22844
+ "api-dev",
22845
+ "app",
22846
+ "assets",
22847
+ "auth",
22848
+ "blog",
22849
+ "cdn",
22850
+ "dashboard",
22851
+ "dev",
22852
+ "docs",
22853
+ "ftp",
22854
+ "help",
22855
+ "mail",
22856
+ "mcp",
22857
+ "mx",
22858
+ "ns1",
22859
+ "ns2",
22860
+ "pages",
22861
+ "preview",
22862
+ "shop",
22863
+ "smtp",
22864
+ "staging",
22865
+ "static",
22866
+ "status",
22867
+ "support",
22868
+ "test",
22869
+ "wallet",
22870
+ "wallet-ui",
22871
+ "web",
22872
+ "webmail",
22873
+ "www"
22874
+ ]);
22875
+ function suggestServicePageSlug(name) {
22876
+ const slug = name.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 63).replace(/^-+|-+$/g, "") || "marca";
22877
+ return SERVICE_PAGE_RESERVED_SLUGS.has(slug) ? `marca-${slug}` : slug;
22878
+ }
22879
+ __name(suggestServicePageSlug, "suggestServicePageSlug");
22880
+
22881
+ // ../../packages/types/src/task-ad-defaults.ts
22838
22882
  var AD_HEADLINE_MAX_CHARS = 255;
22839
22883
  var TaskAdDefaultsSchema = z112.object({
22840
22884
  subjectKind: z112.enum([
@@ -25094,7 +25138,7 @@ var ApiClient = class {
25094
25138
  };
25095
25139
 
25096
25140
  // src/index.ts
25097
- var MCP_VERSION = "11.6.10";
25141
+ var MCP_VERSION = "11.6.11";
25098
25142
 
25099
25143
  // src/meta-upload-app.ts
25100
25144
  import { readFileSync } from "fs";
@@ -29872,8 +29916,8 @@ function serviceApiCode(error) {
29872
29916
  }
29873
29917
  __name(serviceApiCode, "serviceApiCode");
29874
29918
  function suggestServiceSlug(name) {
29875
- const slug = (name ?? "").normalize("NFD").replace(/[̀-ͯ]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 48).replace(/-+$/g, "");
29876
- return slug || "mi-servicio";
29919
+ const source = name ?? "";
29920
+ return suggestServicePageSlug(/[a-z0-9]/i.test(source.normalize("NFKD")) ? source : "mi-servicio");
29877
29921
  }
29878
29922
  __name(suggestServiceSlug, "suggestServiceSlug");
29879
29923
  function serviceEditorUrl(api, pageId) {
@@ -30143,7 +30187,7 @@ function registerServiceLandingTools(server, api) {
30143
30187
  throw mcp(McpErrorCode.INVALID_INPUT, "La p\xE1gina todav\xEDa no est\xE1 creada. Termina action=build y action=status antes de publicar.");
30144
30188
  }
30145
30189
  if (page2.publicUrl) return generatedResponse(page2);
30146
- const slug = input.slug ?? suggestServiceSlug(page2.businessName);
30190
+ const slug = input.slug ?? page2.slug ?? suggestServiceSlug(page2.businessName);
30147
30191
  try {
30148
30192
  const published = await api.postJson(`${pagePath(page2.id)}/publish`, {
30149
30193
  expectedRevision: page2.draftRevision,
package/dist/stdio.js CHANGED
@@ -22603,6 +22603,50 @@ __name(isRetryableBrandCreationFailure, "isRetryableBrandCreationFailure");
22603
22603
 
22604
22604
  // ../../packages/types/src/task-ad-defaults.ts
22605
22605
  import { z as z112 } from "zod";
22606
+
22607
+ // ../../packages/types/src/service-page-hosting.ts
22608
+ var SERVICE_PAGE_RESERVED_SLUGS = /* @__PURE__ */ new Set([
22609
+ "admin",
22610
+ "alert-triage",
22611
+ "api",
22612
+ "api-dev",
22613
+ "app",
22614
+ "assets",
22615
+ "auth",
22616
+ "blog",
22617
+ "cdn",
22618
+ "dashboard",
22619
+ "dev",
22620
+ "docs",
22621
+ "ftp",
22622
+ "help",
22623
+ "mail",
22624
+ "mcp",
22625
+ "mx",
22626
+ "ns1",
22627
+ "ns2",
22628
+ "pages",
22629
+ "preview",
22630
+ "shop",
22631
+ "smtp",
22632
+ "staging",
22633
+ "static",
22634
+ "status",
22635
+ "support",
22636
+ "test",
22637
+ "wallet",
22638
+ "wallet-ui",
22639
+ "web",
22640
+ "webmail",
22641
+ "www"
22642
+ ]);
22643
+ function suggestServicePageSlug(name) {
22644
+ const slug = name.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 63).replace(/^-+|-+$/g, "") || "marca";
22645
+ return SERVICE_PAGE_RESERVED_SLUGS.has(slug) ? `marca-${slug}` : slug;
22646
+ }
22647
+ __name(suggestServicePageSlug, "suggestServicePageSlug");
22648
+
22649
+ // ../../packages/types/src/task-ad-defaults.ts
22606
22650
  var AD_HEADLINE_MAX_CHARS = 255;
22607
22651
  var TaskAdDefaultsSchema = z112.object({
22608
22652
  subjectKind: z112.enum([
@@ -23423,7 +23467,7 @@ var ApiClient = class {
23423
23467
  };
23424
23468
 
23425
23469
  // src/index.ts
23426
- var MCP_VERSION = "11.6.10";
23470
+ var MCP_VERSION = "11.6.11";
23427
23471
 
23428
23472
  // src/meta-upload-app.ts
23429
23473
  import { readFileSync } from "fs";
@@ -28254,8 +28298,8 @@ function serviceApiCode(error) {
28254
28298
  }
28255
28299
  __name(serviceApiCode, "serviceApiCode");
28256
28300
  function suggestServiceSlug(name) {
28257
- const slug = (name ?? "").normalize("NFD").replace(/[̀-ͯ]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 48).replace(/-+$/g, "");
28258
- return slug || "mi-servicio";
28301
+ const source = name ?? "";
28302
+ return suggestServicePageSlug(/[a-z0-9]/i.test(source.normalize("NFKD")) ? source : "mi-servicio");
28259
28303
  }
28260
28304
  __name(suggestServiceSlug, "suggestServiceSlug");
28261
28305
  function serviceEditorUrl(api, pageId) {
@@ -28525,7 +28569,7 @@ function registerServiceLandingTools(server, api) {
28525
28569
  throw mcp(McpErrorCode.INVALID_INPUT, "La p\xE1gina todav\xEDa no est\xE1 creada. Termina action=build y action=status antes de publicar.");
28526
28570
  }
28527
28571
  if (page2.publicUrl) return generatedResponse(page2);
28528
- const slug = input.slug ?? suggestServiceSlug(page2.businessName);
28572
+ const slug = input.slug ?? page2.slug ?? suggestServiceSlug(page2.businessName);
28529
28573
  try {
28530
28574
  const published = await api.postJson(`${pagePath(page2.id)}/publish`, {
28531
28575
  expectedRevision: page2.draftRevision,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@productmaker/mcp",
3
- "version": "11.6.10",
3
+ "version": "11.6.11",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "ProductMaker MCP server — cost products, generate landing pages, UGC videos, and ad creatives, and publish to Shopify, Meta Ads, and TikTok Ads.",