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.
- package/dist/bin/mcp-server.js +15 -17
- package/dist/chunk-YPDLNPLX.js +1058 -0
- package/dist/chunk-ZDL4PKBE.js +1058 -0
- package/dist/index.d.ts +3 -5
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/bin/mcp-server.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
saveAsoToAsoDir,
|
|
16
16
|
unifiedToAppStore,
|
|
17
17
|
unifiedToGooglePlay
|
|
18
|
-
} from "../chunk-
|
|
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
|
|
422
|
-
const rootDir =
|
|
423
|
-
saveAsoToAsoDir(slug, asoData
|
|
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
|
|
525
|
-
const rootDir =
|
|
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
|
|
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: [
|