pabal-web-mcp 0.1.4 → 0.1.6

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.
@@ -15,7 +15,7 @@ import {
15
15
  saveAsoToAsoDir,
16
16
  unifiedToAppStore,
17
17
  unifiedToGooglePlay
18
- } from "../chunk-A7KGUQPB.js";
18
+ } from "../chunk-YPDLNPLX.js";
19
19
 
20
20
  // src/bin/mcp-server.ts
21
21
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
@@ -210,9 +210,9 @@ var asoToPublicTool = {
210
210
  **IMPORTANT:** The 'slug' parameter is REQUIRED. If the user does not provide a slug, you MUST ask them to provide it. This tool processes only ONE product at a time.
211
211
 
212
212
  This tool:
213
- 1. Loads ASO data from pullData/products/[slug]/store/ (path from ~/.config/pabal-mcp/config.json dataDir)
213
+ 1. Loads ASO data from .aso/pullData/products/[slug]/store/ (path from ~/.config/pabal-mcp/config.json dataDir)
214
214
  2. Generates per-locale conversion prompts to map fullDescription into structured locale JSON (template intro/outro + landing features/screenshots captions)
215
- 3. Next steps (manual): paste converted JSON into public/products/[slug]/locales/[locale].json and copy screenshots from pullData if needed
215
+ 3. Next steps (manual): paste converted JSON into public/products/[slug]/locales/[locale].json and copy screenshots from .aso/pullData if needed
216
216
 
217
217
  The conversion from unstructured to structured format is performed by Claude based on the conversion prompt.`,
218
218
  inputSchema
@@ -418,9 +418,9 @@ function prepareAsoDataForPush(slug, configData) {
418
418
  }
419
419
 
420
420
  // src/tools/utils/public-to-aso/save-raw-aso-data.util.ts
421
- function saveRawAsoData(slug, asoData, options) {
422
- const rootDir = options?.rootDir ?? getPushDataDir();
423
- saveAsoToAsoDir(slug, asoData, { rootDir });
421
+ function saveRawAsoData(slug, asoData) {
422
+ const rootDir = getPushDataDir();
423
+ saveAsoToAsoDir(slug, asoData);
424
424
  const localeCounts = {};
425
425
  if (asoData.googlePlay) {
426
426
  const googlePlayData = asoData.googlePlay;
@@ -521,8 +521,8 @@ var jsonSchema2 = toJsonSchema2(publicToAsoInputSchema, {
521
521
  $refStrategy: "none"
522
522
  });
523
523
  var inputSchema2 = jsonSchema2.definitions?.PublicToAsoInput || jsonSchema2;
524
- async function downloadScreenshotsToAsoDir(slug, asoData, options) {
525
- const rootDir = options?.rootDir ?? getPushDataDir();
524
+ async function downloadScreenshotsToAsoDir(slug, asoData) {
525
+ const rootDir = getPushDataDir();
526
526
  const productStoreRoot = path4.join(rootDir, "products", slug, "store");
527
527
  if (asoData.googlePlay) {
528
528
  let googlePlayData = asoData.googlePlay;
@@ -663,8 +663,8 @@ var publicToAsoTool = {
663
663
  This tool:
664
664
  1. Loads ASO data from public/products/[slug]/config.json + locales/
665
665
  2. Converts to store-compatible format (removes screenshots from metadata, sets contactWebsite/marketingUrl)
666
- 3. Saves metadata to pushData/products/[slug]/store/ (path from ~/.config/pabal-mcp/config.json dataDir)
667
- 4. Copies/downloads screenshots to pushData/products/[slug]/store/screenshots/
666
+ 3. Saves metadata to .aso/pushData/products/[slug]/store/ (path from ~/.config/pabal-mcp/config.json dataDir)
667
+ 4. Copies/downloads screenshots to .aso/pushData/products/[slug]/store/screenshots/
668
668
 
669
669
  Before running, review ${FIELD_LIMITS_DOC_PATH} for per-store limits. This prepares data for pushing to stores without actually uploading.`,
670
670
  inputSchema: inputSchema2
@@ -771,10 +771,8 @@ ${JSON.stringify(
771
771
  ]
772
772
  };
773
773
  }
774
- saveRawAsoData(slug, storeData, { rootDir: pushDataRoot });
775
- await downloadScreenshotsToAsoDir(slug, configData, {
776
- rootDir: pushDataRoot
777
- });
774
+ saveRawAsoData(slug, storeData);
775
+ await downloadScreenshotsToAsoDir(slug, configData);
778
776
  const localeCounts = {};
779
777
  if (storeData.googlePlay) {
780
778
  const googlePlayData = storeData.googlePlay;
@@ -1792,7 +1790,7 @@ var listSlugDirs = (dir) => {
1792
1790
  };
1793
1791
  var initProjectInputSchema = z4.object({
1794
1792
  slug: z4.string().trim().optional().describe(
1795
- "Optional product slug to focus on. Defaults to all slugs in pullData/products/"
1793
+ "Optional product slug to focus on. Defaults to all slugs in .aso/pullData/products/"
1796
1794
  )
1797
1795
  });
1798
1796
  var jsonSchema4 = zodToJsonSchema4(initProjectInputSchema, {
@@ -1808,7 +1806,7 @@ var initProjectTool = {
1808
1806
  This tool is read-only and returns a checklist. It does not call pabal-mcp directly or write files.
1809
1807
 
1810
1808
  Steps:
1811
- 1) Ensure pabal-mcp 'init' ran and pullData/products/[slug]/ exists (path from ~/.config/pabal-mcp/config.json dataDir)
1809
+ 1) Ensure pabal-mcp 'init' ran and .aso/pullData/products/[slug]/ exists (path from ~/.config/pabal-mcp/config.json dataDir)
1812
1810
  2) Convert pulled ASO data -> public/products/[slug]/ using pabal-web-mcp tools (aso-to-public, public-to-aso dry run)
1813
1811
  3) Validate outputs and next actions`,
1814
1812
  inputSchema: inputSchema4
@@ -1833,7 +1831,7 @@ async function handleInitProject(input) {
1833
1831
  lines.push("");
1834
1832
  if (targetSlugs.length === 0) {
1835
1833
  lines.push(
1836
- "No products detected. Run pabal-mcp 'init' for your slug(s) to populate pullData/products/, then rerun this tool."
1834
+ "No products detected. Run pabal-mcp 'init' for your slug(s) to populate .aso/pullData/products/, then rerun this tool."
1837
1835
  );
1838
1836
  return {
1839
1837
  content: [