admanagekit-mcp-server 1.0.0
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/content/README.md +851 -0
- package/content/docs/AD_FREQUENCY_CONTROL.md +450 -0
- package/content/docs/AD_LOADING_STRATEGIES.md +369 -0
- package/content/docs/API_REFERENCE.md +734 -0
- package/content/docs/APP_PURCHASE_GUIDE.md +704 -0
- package/content/docs/BANNER_AD_IMPROVEMENTS.md +325 -0
- package/content/docs/COMPOSE_INTEGRATION.md +477 -0
- package/content/docs/CONFIGURATION_USAGE.md +168 -0
- package/content/docs/INTERSTITIAL_BUILDER_GUIDE.md +518 -0
- package/content/docs/JAVA_USAGE_GUIDE.md +785 -0
- package/content/docs/LOADING_STRATEGY_EXAMPLES.md +463 -0
- package/content/docs/NATIVE_AD_MANAGER_ENHANCEMENTS.md +347 -0
- package/content/docs/NATIVE_AD_PRELOADING.md +467 -0
- package/content/docs/NATIVE_TEMPLATE_VIEW.md +413 -0
- package/content/docs/app-open-ads.md +412 -0
- package/content/docs/interstitial-ads.md +269 -0
- package/content/docs/native-ads-caching.md +182 -0
- package/content/docs/release-notes/RELEASE_NOTES_v2.1.0.md +156 -0
- package/content/docs/release-notes/RELEASE_NOTES_v2.2.0.md +248 -0
- package/content/docs/release-notes/RELEASE_NOTES_v2.3.0.md +280 -0
- package/content/docs/release-notes/RELEASE_NOTES_v2.5.0.md +73 -0
- package/content/docs/release-notes/RELEASE_NOTES_v2.6.0.md +265 -0
- package/content/docs/release-notes/RELEASE_NOTES_v2.7.0.md +168 -0
- package/content/docs/release-notes/RELEASE_NOTES_v2.8.0.md +153 -0
- package/content/docs/release-notes/RELEASE_NOTES_v2.9.0.md +479 -0
- package/content/docs/release-notes/RELEASE_NOTES_v3.0.0.md +343 -0
- package/content/docs/release-notes/RELEASE_NOTES_v3.1.0.md +131 -0
- package/content/docs/release-notes/RELEASE_NOTES_v3.3.0.md +252 -0
- package/content/docs/release-notes/RELEASE_NOTES_v3.3.2.md +215 -0
- package/content/docs/release-notes/RELEASE_NOTES_v3.3.3.md +116 -0
- package/content/docs/release-notes/RELEASE_NOTES_v3.3.4.md +142 -0
- package/content/docs/release-notes/RELEASE_NOTES_v3.3.5.md +94 -0
- package/content/docs/rewarded-ads.md +623 -0
- package/content/wiki/Ad-Loading-Strategies.md +209 -0
- package/content/wiki/App-Open-Ads.md +189 -0
- package/content/wiki/Banner-Ads.md +133 -0
- package/content/wiki/Billing-Integration.md +69 -0
- package/content/wiki/Configuration.md +252 -0
- package/content/wiki/Consumable-Products.md +166 -0
- package/content/wiki/Home.md +144 -0
- package/content/wiki/Interstitial-Ads.md +313 -0
- package/content/wiki/Jetpack-Compose.md +270 -0
- package/content/wiki/NativeAdManager.md +220 -0
- package/content/wiki/Purchase-Categories.md +94 -0
- package/content/wiki/Rewarded-Ads.md +420 -0
- package/content/wiki/Subscription-Upgrades.md +278 -0
- package/content/wiki/Subscriptions.md +368 -0
- package/content/wiki/_Footer.md +3 -0
- package/content/wiki/_Sidebar.md +18 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.js +18 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/code-generation.d.ts +2 -0
- package/dist/tools/code-generation.js +264 -0
- package/dist/tools/code-generation.js.map +1 -0
- package/dist/tools/documentation.d.ts +2 -0
- package/dist/tools/documentation.js +202 -0
- package/dist/tools/documentation.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.js +83 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/doc-loader.d.ts +17 -0
- package/dist/utils/doc-loader.js +245 -0
- package/dist/utils/doc-loader.js.map +1 -0
- package/dist/utils/search.d.ts +2 -0
- package/dist/utils/search.js +62 -0
- package/dist/utils/search.js.map +1 -0
- package/dist/utils/templates.d.ts +60 -0
- package/dist/utils/templates.js +793 -0
- package/dist/utils/templates.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-generation.js","sourceRoot":"","sources":["../../src/tools/code-generation.ts"],"names":[],"mappings":";;AASA,kEAkSC;AA1SD,6BAAwB;AACxB,wDAK+B;AAE/B,SAAgB,2BAA2B,CAAC,MAAiB;IAC3D,0BAA0B;IAC1B,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,uKAAuK,EACvK;QACE,QAAQ,EAAE,OAAC;aACR,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,mCAAmC,CAAC;QAChD,QAAQ,EAAE,OAAC;aACR,MAAM,CAAC;YACN,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAChE,gBAAgB,EAAE,OAAC;iBAChB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4BAA4B,CAAC;YACzC,UAAU,EAAE,OAAC;iBACV,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;YACxD,kBAAkB,EAAE,OAAC;iBAClB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,mBAAmB,EAAE,OAAC;iBACnB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,6BAA6B,CAAC;YAC1C,qBAAqB,EAAE,OAAC;iBACrB,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;iBAC3C,QAAQ,EAAE;YACb,iBAAiB,EAAE,OAAC;iBACjB,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;iBAC3C,QAAQ,EAAE;YACb,eAAe,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC3D,wBAAwB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAChD,oBAAoB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC5C,oBAAoB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC5C,OAAO,EAAE,OAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,uBAAuB,CAAC;YACpC,gBAAgB,EAAE,OAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qBAAqB,CAAC;YAClC,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAC/D,CAAC;aACD,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;KACf,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAA,6BAAc,EAAC;YAC1B,QAAQ;YACR,GAAG,QAAQ;SACZ,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,QAAQ,KAAK,IAAI,UAAU;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,kCAAkC;IAClC,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,uIAAuI,EACvI;QACE,OAAO,EAAE,OAAC;aACP,IAAI,CAAC;YACJ,cAAc;YACd,QAAQ;YACR,cAAc;YACd,eAAe;YACf,cAAc;YACd,iBAAiB;YACjB,UAAU;YACV,UAAU;SACX,CAAC;aACD,QAAQ,CAAC,qCAAqC,CAAC;QAClD,QAAQ,EAAE,OAAC;aACR,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,mCAAmC,CAAC;QAChD,UAAU,EAAE,OAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;QACvD,OAAO,EAAE,OAAC;aACP,MAAM,CAAC;YACN,YAAY,EAAE,OAAC;iBACZ,IAAI,CAAC;gBACJ,OAAO;gBACP,YAAY;gBACZ,aAAa;gBACb,SAAS;gBACT,aAAa;aACd,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,sCAAsC,CAAC;YACnD,gBAAgB,EAAE,OAAC;iBAChB,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;iBAC3C,QAAQ,EAAE;iBACV,QAAQ,CAAC,yBAAyB,CAAC;YACtC,WAAW,EAAE,OAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,mEAAmE,CACpE;YACH,WAAW,EAAE,OAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oCAAoC,CAAC;YACjD,cAAc,EAAE,OAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,cAAc,EAAE,OAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qDAAqD,CAAC;YAClE,iBAAiB,EAAE,OAAC;iBACjB,MAAM,CAAC;gBACN,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACrC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,oBAAoB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5C,CAAC;iBACD,QAAQ,EAAE;YACb,kBAAkB,EAAE,OAAC;iBAClB,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;YACxD,WAAW,EAAE,OAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,6BAA6B,CAAC;SAC3C,CAAC;aACD,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;KACf,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,IAAA,oCAAqB,EAAC;YACjC,OAAO;YACP,QAAQ;YACR,UAAU;YACV,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,QAAQ,KAAK,IAAI,UAAU;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gCAAgC;IAChC,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,yJAAyJ,EACzJ;QACE,QAAQ,EAAE,OAAC;aACR,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,mCAAmC,CAAC;QAChD,QAAQ,EAAE,OAAC;aACR,IAAI,CAAC;YACJ,OAAO;YACP,UAAU;YACV,WAAW;YACX,YAAY;YACZ,yBAAyB;YACzB,qBAAqB;YACrB,UAAU;SACX,CAAC;aACD,QAAQ,CAAC,6CAA6C,CAAC;QAC1D,QAAQ,EAAE,OAAC;aACR,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;YACtB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC1C,QAAQ,EAAE,OAAC;iBACR,IAAI,CAAC;gBACJ,YAAY;gBACZ,gBAAgB;gBAChB,kBAAkB;gBAClB,YAAY;aACb,CAAC;iBACD,QAAQ,EAAE;YACb,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACnC,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,gCAAgC,CAAC;KAC9C,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,IAAA,kCAAmB,EAAC;YAC/B,QAAQ;YACR,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,QAAQ,KAAK,IAAI,UAAU;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,iCAAiC;IACjC,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,sLAAsL,EACtL;QACE,SAAS,EAAE,OAAC;aACT,IAAI,CAAC;YACJ,QAAQ;YACR,iBAAiB;YACjB,cAAc;YACd,eAAe;YACf,cAAc;YACd,cAAc;YACd,oBAAoB;YACpB,gBAAgB;YAChB,eAAe;YACf,iBAAiB;SAClB,CAAC;aACD,QAAQ,CAAC,qCAAqC,CAAC;QAClD,UAAU,EAAE,OAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uCAAuC,CAAC;QACpD,OAAO,EAAE,OAAC;aACP,MAAM,CAAC;YACN,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,+DAA+D,CAChE;YACH,gBAAgB,EAAE,OAAC;iBAChB,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;iBAC3C,QAAQ,EAAE;YACb,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACtC,SAAS,EAAE,OAAC;iBACT,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;iBACrD,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;SAC1D,CAAC;aACD,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;KACf,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,IAAA,kCAAmB,EAAC;YAC/B,SAAS;YACT,UAAU;YACV,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,iBAAiB,IAAI,UAAU;iBACtC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerDocumentationTools = registerDocumentationTools;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const doc_loader_js_1 = require("../utils/doc-loader.js");
|
|
6
|
+
const search_js_1 = require("../utils/search.js");
|
|
7
|
+
const types_js_1 = require("../types.js");
|
|
8
|
+
const topicKeys = Object.keys(types_js_1.TOPIC_MAP);
|
|
9
|
+
function registerDocumentationTools(server) {
|
|
10
|
+
// Tool 1: search_docs
|
|
11
|
+
server.tool("search_docs", "Search across all AdManageKit documentation (docs/, wiki/, README) for a query. Returns matching sections with file paths and relevant snippets.", {
|
|
12
|
+
query: zod_1.z
|
|
13
|
+
.string()
|
|
14
|
+
.describe("Search query (e.g., 'collapsible banner', 'retry logic', 'HYBRID strategy')"),
|
|
15
|
+
max_results: zod_1.z
|
|
16
|
+
.number()
|
|
17
|
+
.optional()
|
|
18
|
+
.default(5)
|
|
19
|
+
.describe("Maximum number of matching sections to return (default: 5, max: 15)"),
|
|
20
|
+
}, async ({ query, max_results }) => {
|
|
21
|
+
const results = (0, search_js_1.searchDocs)(query, max_results);
|
|
22
|
+
if (results.length === 0) {
|
|
23
|
+
return {
|
|
24
|
+
content: [
|
|
25
|
+
{
|
|
26
|
+
type: "text",
|
|
27
|
+
text: `No results found for "${query}". Try different keywords or use list_documentation to see available topics.`,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const formatted = results
|
|
33
|
+
.map((r, i) => `### Result ${i + 1} (score: ${r.score})\n**File:** ${r.file}\n**Section:** ${r.heading}\n\n${r.content}`)
|
|
34
|
+
.join("\n\n---\n\n");
|
|
35
|
+
return {
|
|
36
|
+
content: [
|
|
37
|
+
{
|
|
38
|
+
type: "text",
|
|
39
|
+
text: `Found ${results.length} results for "${query}":\n\n${formatted}`,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
// Tool 2: get_doc_by_topic
|
|
45
|
+
server.tool("get_doc_by_topic", "Get documentation for a specific AdManageKit topic. Topics include ad types (interstitial, native, banner, app-open, rewarded), features (loading-strategies, configuration, compose), and billing (billing-integration, subscriptions, etc.).", {
|
|
46
|
+
topic: zod_1.z
|
|
47
|
+
.enum(topicKeys)
|
|
48
|
+
.describe("The topic to retrieve documentation for"),
|
|
49
|
+
}, async ({ topic }) => {
|
|
50
|
+
const files = types_js_1.TOPIC_MAP[topic];
|
|
51
|
+
if (!files) {
|
|
52
|
+
return {
|
|
53
|
+
content: [
|
|
54
|
+
{
|
|
55
|
+
type: "text",
|
|
56
|
+
text: `Unknown topic "${topic}". Use list_documentation to see available topics.`,
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const content = (0, doc_loader_js_1.loadTopicFiles)(files);
|
|
62
|
+
if (!content) {
|
|
63
|
+
return {
|
|
64
|
+
content: [
|
|
65
|
+
{
|
|
66
|
+
type: "text",
|
|
67
|
+
text: `No documentation found for topic "${topic}". The documentation files may not exist yet.`,
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
content: [{ type: "text", text: content }],
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
// Tool 3: get_api_reference
|
|
77
|
+
server.tool("get_api_reference", "Get the API reference for a specific AdManageKit class or component. Returns method signatures, parameters, and usage examples.", {
|
|
78
|
+
class_name: zod_1.z
|
|
79
|
+
.enum(types_js_1.API_CLASS_NAMES)
|
|
80
|
+
.describe("The class or component name to look up"),
|
|
81
|
+
}, async ({ class_name }) => {
|
|
82
|
+
const sections = (0, doc_loader_js_1.loadApiSections)();
|
|
83
|
+
const content = sections.get(class_name);
|
|
84
|
+
if (!content) {
|
|
85
|
+
// Try partial match
|
|
86
|
+
const partialMatch = Array.from(sections.entries()).find(([key]) => key.toLowerCase().includes(class_name.toLowerCase()));
|
|
87
|
+
if (partialMatch) {
|
|
88
|
+
return {
|
|
89
|
+
content: [
|
|
90
|
+
{
|
|
91
|
+
type: "text",
|
|
92
|
+
text: `### ${partialMatch[0]}\n\n${partialMatch[1]}`,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
content: [
|
|
99
|
+
{
|
|
100
|
+
type: "text",
|
|
101
|
+
text: `No API reference found for "${class_name}". Available classes: ${Array.from(sections.keys()).join(", ")}`,
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
content: [{ type: "text", text: `### ${class_name}\n\n${content}` }],
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
// Tool 4: get_release_notes
|
|
111
|
+
server.tool("get_release_notes", "Get release notes for a specific AdManageKit version. Returns new features, breaking changes, migration guides, and bug fixes.", {
|
|
112
|
+
version: zod_1.z
|
|
113
|
+
.enum(["latest", ...types_js_1.RELEASE_VERSIONS])
|
|
114
|
+
.describe("The version to get release notes for (e.g., '3.3.5', '3.0.0'). Use 'latest' for the most recent."),
|
|
115
|
+
}, async ({ version }) => {
|
|
116
|
+
const content = (0, doc_loader_js_1.loadReleaseNotes)(version);
|
|
117
|
+
if (!content) {
|
|
118
|
+
return {
|
|
119
|
+
content: [
|
|
120
|
+
{
|
|
121
|
+
type: "text",
|
|
122
|
+
text: `No release notes found for version ${version}. Available versions: ${types_js_1.RELEASE_VERSIONS.join(", ")}`,
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
content: [{ type: "text", text: content }],
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
// Tool 5: get_migration_guide
|
|
132
|
+
server.tool("get_migration_guide", "Get the migration guide for upgrading between AdManageKit versions. Covers breaking changes, deprecated APIs, and step-by-step migration instructions.", {
|
|
133
|
+
target_version: zod_1.z
|
|
134
|
+
.enum(types_js_1.MIGRATION_VERSIONS)
|
|
135
|
+
.describe("The version you are migrating TO (e.g., '3.0.0', '2.9.0')"),
|
|
136
|
+
}, async ({ target_version }) => {
|
|
137
|
+
const content = (0, doc_loader_js_1.loadMigrationGuide)(target_version);
|
|
138
|
+
if (!content) {
|
|
139
|
+
return {
|
|
140
|
+
content: [
|
|
141
|
+
{
|
|
142
|
+
type: "text",
|
|
143
|
+
text: `No migration guide found for version ${target_version}. Migration guides are available for: ${types_js_1.MIGRATION_VERSIONS.join(", ")}`,
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
content: [{ type: "text", text: content }],
|
|
150
|
+
};
|
|
151
|
+
});
|
|
152
|
+
// Tool 6: list_documentation
|
|
153
|
+
server.tool("list_documentation", "List all available AdManageKit documentation topics, API references, release notes, and wiki pages.", {}, async () => {
|
|
154
|
+
const listing = `# AdManageKit Documentation
|
|
155
|
+
|
|
156
|
+
## Ad Types
|
|
157
|
+
- **interstitial** - Interstitial ad implementation and builder pattern
|
|
158
|
+
- **native** - Native ad caching and display
|
|
159
|
+
- **banner** - Banner ads with auto-refresh and collapsible support
|
|
160
|
+
- **app-open** - Lifecycle-aware app open ads
|
|
161
|
+
- **rewarded** - Rewarded video ads with reward tracking
|
|
162
|
+
|
|
163
|
+
## Features
|
|
164
|
+
- **loading-strategies** - ON_DEMAND, ONLY_CACHE, HYBRID, FRESH_WITH_CACHE_FALLBACK
|
|
165
|
+
- **frequency-control** - Time-based and count-based ad frequency control
|
|
166
|
+
- **configuration** - AdManageKitConfig settings reference
|
|
167
|
+
- **compose** - Jetpack Compose integration
|
|
168
|
+
- **interstitial-builder** - InterstitialAdBuilder fluent API
|
|
169
|
+
- **native-template-view** - 27+ native ad templates
|
|
170
|
+
- **native-preloading** - Preloading strategies for native ads
|
|
171
|
+
- **native-caching** - NativeAdManager caching system
|
|
172
|
+
- **banner-improvements** - Banner ad enhancements
|
|
173
|
+
- **loading-strategy-examples** - Code examples for loading strategies
|
|
174
|
+
|
|
175
|
+
## Billing
|
|
176
|
+
- **billing-integration** - Google Play Billing setup and usage
|
|
177
|
+
- **purchase-categories** - CONSUMABLE, FEATURE_UNLOCK, LIFETIME_PREMIUM, REMOVE_ADS
|
|
178
|
+
- **consumables** - Consumable product handling
|
|
179
|
+
- **subscriptions** - Subscription management
|
|
180
|
+
- **subscription-upgrades** - Upgrade/downgrade flows
|
|
181
|
+
|
|
182
|
+
## Other
|
|
183
|
+
- **java-usage** - Java (non-Kotlin) usage guide
|
|
184
|
+
|
|
185
|
+
## API Reference Classes
|
|
186
|
+
${types_js_1.API_CLASS_NAMES.map((c) => `- ${c}`).join("\n")}
|
|
187
|
+
|
|
188
|
+
## Release Notes
|
|
189
|
+
${types_js_1.RELEASE_VERSIONS.map((v) => `- v${v}`).join("\n")}
|
|
190
|
+
|
|
191
|
+
## Migration Guides
|
|
192
|
+
${types_js_1.MIGRATION_VERSIONS.map((v) => `- Migrating to ${v}`).join("\n")}
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
Use \`get_doc_by_topic\`, \`get_api_reference\`, \`get_release_notes\`, or \`get_migration_guide\` to access specific documentation.
|
|
196
|
+
Use \`search_docs\` to search across all documentation.`;
|
|
197
|
+
return {
|
|
198
|
+
content: [{ type: "text", text: listing }],
|
|
199
|
+
};
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=documentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/tools/documentation.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type Language = "kotlin" | "java";
|
|
2
|
+
export interface DocSection {
|
|
3
|
+
file: string;
|
|
4
|
+
heading: string;
|
|
5
|
+
content: string;
|
|
6
|
+
level: number;
|
|
7
|
+
}
|
|
8
|
+
export interface SearchResult {
|
|
9
|
+
file: string;
|
|
10
|
+
heading: string;
|
|
11
|
+
content: string;
|
|
12
|
+
score: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const TOPIC_MAP: Record<string, string[]>;
|
|
15
|
+
export declare const API_CLASS_NAMES: readonly ["AdManageKitConfig", "BillingConfig", "AdManager", "AppOpenManager", "BannerAdView", "NativeAdViews", "NativeAdManager", "RewardedAdManager", "AppPurchase", "PurchaseItem", "AdRetryManager", "AdDebugUtils", "AdLoadCallback", "AdManagerCallback", "InterstitialAdBuilder", "WeakReferenceHolder"];
|
|
16
|
+
export declare const RELEASE_VERSIONS: readonly ["3.3.5", "3.3.4", "3.3.3", "3.3.2", "3.3.0", "3.1.0", "3.0.0", "2.9.0", "2.8.0", "2.7.0", "2.6.0", "2.5.0", "2.3.0", "2.2.0", "2.1.0"];
|
|
17
|
+
export declare const MIGRATION_VERSIONS: readonly ["3.0.0", "2.9.0", "2.8.0", "2.7.0"];
|
|
18
|
+
export declare const TEST_AD_UNITS: Record<string, string>;
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TEST_AD_UNITS = exports.MIGRATION_VERSIONS = exports.RELEASE_VERSIONS = exports.API_CLASS_NAMES = exports.TOPIC_MAP = void 0;
|
|
4
|
+
exports.TOPIC_MAP = {
|
|
5
|
+
interstitial: [
|
|
6
|
+
"docs/interstitial-ads.md",
|
|
7
|
+
"docs/INTERSTITIAL_BUILDER_GUIDE.md",
|
|
8
|
+
"wiki/Interstitial-Ads.md",
|
|
9
|
+
],
|
|
10
|
+
native: ["docs/native-ads-caching.md", "wiki/NativeAdManager.md"],
|
|
11
|
+
banner: ["docs/BANNER_AD_IMPROVEMENTS.md", "wiki/Banner-Ads.md"],
|
|
12
|
+
"app-open": ["docs/app-open-ads.md", "wiki/App-Open-Ads.md"],
|
|
13
|
+
rewarded: ["docs/rewarded-ads.md", "wiki/Rewarded-Ads.md"],
|
|
14
|
+
"loading-strategies": [
|
|
15
|
+
"docs/AD_LOADING_STRATEGIES.md",
|
|
16
|
+
"wiki/Ad-Loading-Strategies.md",
|
|
17
|
+
],
|
|
18
|
+
"frequency-control": ["docs/AD_FREQUENCY_CONTROL.md"],
|
|
19
|
+
configuration: ["docs/CONFIGURATION_USAGE.md", "wiki/Configuration.md"],
|
|
20
|
+
compose: ["docs/COMPOSE_INTEGRATION.md", "wiki/Jetpack-Compose.md"],
|
|
21
|
+
"interstitial-builder": ["docs/INTERSTITIAL_BUILDER_GUIDE.md"],
|
|
22
|
+
"billing-integration": [
|
|
23
|
+
"docs/APP_PURCHASE_GUIDE.md",
|
|
24
|
+
"wiki/Billing-Integration.md",
|
|
25
|
+
],
|
|
26
|
+
"purchase-categories": ["wiki/Purchase-Categories.md"],
|
|
27
|
+
consumables: ["wiki/Consumable-Products.md"],
|
|
28
|
+
subscriptions: ["wiki/Subscriptions.md"],
|
|
29
|
+
"subscription-upgrades": ["wiki/Subscription-Upgrades.md"],
|
|
30
|
+
"java-usage": ["docs/JAVA_USAGE_GUIDE.md"],
|
|
31
|
+
"native-template-view": ["docs/NATIVE_TEMPLATE_VIEW.md"],
|
|
32
|
+
"native-preloading": ["docs/NATIVE_AD_PRELOADING.md"],
|
|
33
|
+
"native-caching": [
|
|
34
|
+
"docs/native-ads-caching.md",
|
|
35
|
+
"docs/NATIVE_AD_MANAGER_ENHANCEMENTS.md",
|
|
36
|
+
],
|
|
37
|
+
"banner-improvements": ["docs/BANNER_AD_IMPROVEMENTS.md"],
|
|
38
|
+
"loading-strategy-examples": ["docs/LOADING_STRATEGY_EXAMPLES.md"],
|
|
39
|
+
};
|
|
40
|
+
exports.API_CLASS_NAMES = [
|
|
41
|
+
"AdManageKitConfig",
|
|
42
|
+
"BillingConfig",
|
|
43
|
+
"AdManager",
|
|
44
|
+
"AppOpenManager",
|
|
45
|
+
"BannerAdView",
|
|
46
|
+
"NativeAdViews",
|
|
47
|
+
"NativeAdManager",
|
|
48
|
+
"RewardedAdManager",
|
|
49
|
+
"AppPurchase",
|
|
50
|
+
"PurchaseItem",
|
|
51
|
+
"AdRetryManager",
|
|
52
|
+
"AdDebugUtils",
|
|
53
|
+
"AdLoadCallback",
|
|
54
|
+
"AdManagerCallback",
|
|
55
|
+
"InterstitialAdBuilder",
|
|
56
|
+
"WeakReferenceHolder",
|
|
57
|
+
];
|
|
58
|
+
exports.RELEASE_VERSIONS = [
|
|
59
|
+
"3.3.5",
|
|
60
|
+
"3.3.4",
|
|
61
|
+
"3.3.3",
|
|
62
|
+
"3.3.2",
|
|
63
|
+
"3.3.0",
|
|
64
|
+
"3.1.0",
|
|
65
|
+
"3.0.0",
|
|
66
|
+
"2.9.0",
|
|
67
|
+
"2.8.0",
|
|
68
|
+
"2.7.0",
|
|
69
|
+
"2.6.0",
|
|
70
|
+
"2.5.0",
|
|
71
|
+
"2.3.0",
|
|
72
|
+
"2.2.0",
|
|
73
|
+
"2.1.0",
|
|
74
|
+
];
|
|
75
|
+
exports.MIGRATION_VERSIONS = ["3.0.0", "2.9.0", "2.8.0", "2.7.0"];
|
|
76
|
+
exports.TEST_AD_UNITS = {
|
|
77
|
+
banner: "ca-app-pub-3940256099942544/6300978111",
|
|
78
|
+
interstitial: "ca-app-pub-3940256099942544/1033173712",
|
|
79
|
+
native: "ca-app-pub-3940256099942544/2247696110",
|
|
80
|
+
app_open: "ca-app-pub-3940256099942544/9257395921",
|
|
81
|
+
rewarded: "ca-app-pub-3940256099942544/5224354917",
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAgBa,QAAA,SAAS,GAA6B;IACjD,YAAY,EAAE;QACZ,0BAA0B;QAC1B,oCAAoC;QACpC,0BAA0B;KAC3B;IACD,MAAM,EAAE,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;IACjE,MAAM,EAAE,CAAC,gCAAgC,EAAE,oBAAoB,CAAC;IAChE,UAAU,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAC5D,QAAQ,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAC1D,oBAAoB,EAAE;QACpB,+BAA+B;QAC/B,+BAA+B;KAChC;IACD,mBAAmB,EAAE,CAAC,8BAA8B,CAAC;IACrD,aAAa,EAAE,CAAC,6BAA6B,EAAE,uBAAuB,CAAC;IACvE,OAAO,EAAE,CAAC,6BAA6B,EAAE,yBAAyB,CAAC;IACnE,sBAAsB,EAAE,CAAC,oCAAoC,CAAC;IAC9D,qBAAqB,EAAE;QACrB,4BAA4B;QAC5B,6BAA6B;KAC9B;IACD,qBAAqB,EAAE,CAAC,6BAA6B,CAAC;IACtD,WAAW,EAAE,CAAC,6BAA6B,CAAC;IAC5C,aAAa,EAAE,CAAC,uBAAuB,CAAC;IACxC,uBAAuB,EAAE,CAAC,+BAA+B,CAAC;IAC1D,YAAY,EAAE,CAAC,0BAA0B,CAAC;IAC1C,sBAAsB,EAAE,CAAC,8BAA8B,CAAC;IACxD,mBAAmB,EAAE,CAAC,8BAA8B,CAAC;IACrD,gBAAgB,EAAE;QAChB,4BAA4B;QAC5B,wCAAwC;KACzC;IACD,qBAAqB,EAAE,CAAC,gCAAgC,CAAC;IACzD,2BAA2B,EAAE,CAAC,mCAAmC,CAAC;CACnE,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,mBAAmB;IACnB,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;IACvB,qBAAqB;CACb,CAAC;AAEE,QAAA,gBAAgB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;CACC,CAAC;AAEE,QAAA,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAEnE,QAAA,aAAa,GAA2B;IACnD,MAAM,EAAE,wCAAwC;IAChD,YAAY,EAAE,wCAAwC;IACtD,MAAM,EAAE,wCAAwC;IAChD,QAAQ,EAAE,wCAAwC;IAClD,QAAQ,EAAE,wCAAwC;CACnD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DocSection } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the root directory containing docs/, wiki/, and README.md.
|
|
4
|
+
*
|
|
5
|
+
* Search order:
|
|
6
|
+
* 1. ADMANAGEKIT_REPO_ROOT env var (explicit override)
|
|
7
|
+
* 2. Bundled content/ directory (npm package mode)
|
|
8
|
+
* 3. Repo root relative to dist/ (local dev in monorepo)
|
|
9
|
+
* 4. Current working directory
|
|
10
|
+
*/
|
|
11
|
+
export declare function getRepoRoot(): string;
|
|
12
|
+
export declare function loadFile(relativePath: string): string;
|
|
13
|
+
export declare function loadAllDocSections(): DocSection[];
|
|
14
|
+
export declare function loadApiSections(): Map<string, string>;
|
|
15
|
+
export declare function loadTopicFiles(files: string[]): string;
|
|
16
|
+
export declare function loadReleaseNotes(version: string): string;
|
|
17
|
+
export declare function loadMigrationGuide(version: string): string;
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getRepoRoot = getRepoRoot;
|
|
37
|
+
exports.loadFile = loadFile;
|
|
38
|
+
exports.loadAllDocSections = loadAllDocSections;
|
|
39
|
+
exports.loadApiSections = loadApiSections;
|
|
40
|
+
exports.loadTopicFiles = loadTopicFiles;
|
|
41
|
+
exports.loadReleaseNotes = loadReleaseNotes;
|
|
42
|
+
exports.loadMigrationGuide = loadMigrationGuide;
|
|
43
|
+
const fs = __importStar(require("node:fs"));
|
|
44
|
+
const path = __importStar(require("node:path"));
|
|
45
|
+
let resolvedRoot = null;
|
|
46
|
+
let docSections = null;
|
|
47
|
+
let apiSections = null;
|
|
48
|
+
/**
|
|
49
|
+
* Resolves the root directory containing docs/, wiki/, and README.md.
|
|
50
|
+
*
|
|
51
|
+
* Search order:
|
|
52
|
+
* 1. ADMANAGEKIT_REPO_ROOT env var (explicit override)
|
|
53
|
+
* 2. Bundled content/ directory (npm package mode)
|
|
54
|
+
* 3. Repo root relative to dist/ (local dev in monorepo)
|
|
55
|
+
* 4. Current working directory
|
|
56
|
+
*/
|
|
57
|
+
function getRepoRoot() {
|
|
58
|
+
if (resolvedRoot)
|
|
59
|
+
return resolvedRoot;
|
|
60
|
+
const candidates = [];
|
|
61
|
+
// 1. Environment variable override
|
|
62
|
+
if (process.env.ADMANAGEKIT_REPO_ROOT) {
|
|
63
|
+
candidates.push(process.env.ADMANAGEKIT_REPO_ROOT);
|
|
64
|
+
}
|
|
65
|
+
// 2. Bundled content/ dir (when installed as npm package)
|
|
66
|
+
// Located at: <package>/dist/utils/ -> <package>/content/
|
|
67
|
+
candidates.push(path.resolve(__dirname, "..", "..", "content"));
|
|
68
|
+
// 3. Repo root relative to mcp-server/dist/utils/
|
|
69
|
+
candidates.push(path.resolve(__dirname, "..", "..", ".."));
|
|
70
|
+
// 4. Current working directory (when run from repo root)
|
|
71
|
+
candidates.push(process.cwd());
|
|
72
|
+
// 5. Parent of cwd (when run from mcp-server/)
|
|
73
|
+
candidates.push(path.resolve(process.cwd(), ".."));
|
|
74
|
+
for (const candidate of candidates) {
|
|
75
|
+
if (fs.existsSync(path.join(candidate, "docs", "API_REFERENCE.md")) ||
|
|
76
|
+
fs.existsSync(path.join(candidate, "README.md"))) {
|
|
77
|
+
resolvedRoot = candidate;
|
|
78
|
+
return resolvedRoot;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
throw new Error("Could not find AdManageKit documentation. " +
|
|
82
|
+
"Set ADMANAGEKIT_REPO_ROOT environment variable or ensure the package was built with `npm run build`.");
|
|
83
|
+
}
|
|
84
|
+
function loadFile(relativePath) {
|
|
85
|
+
try {
|
|
86
|
+
const fullPath = path.join(getRepoRoot(), relativePath);
|
|
87
|
+
return fs.readFileSync(fullPath, "utf-8");
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return "";
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function parseMarkdownSections(content, filePath) {
|
|
94
|
+
const sections = [];
|
|
95
|
+
const lines = content.split("\n");
|
|
96
|
+
let currentHeading = "";
|
|
97
|
+
let currentLevel = 0;
|
|
98
|
+
let currentContent = [];
|
|
99
|
+
for (const line of lines) {
|
|
100
|
+
const headingMatch = line.match(/^(#{1,4})\s+(.+)$/);
|
|
101
|
+
if (headingMatch) {
|
|
102
|
+
if (currentHeading || currentContent.length > 0) {
|
|
103
|
+
sections.push({
|
|
104
|
+
file: filePath,
|
|
105
|
+
heading: currentHeading || "(intro)",
|
|
106
|
+
content: currentContent.join("\n").trim(),
|
|
107
|
+
level: currentLevel,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
currentLevel = headingMatch[1].length;
|
|
111
|
+
currentHeading = headingMatch[2];
|
|
112
|
+
currentContent = [];
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
currentContent.push(line);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (currentHeading || currentContent.length > 0) {
|
|
119
|
+
sections.push({
|
|
120
|
+
file: filePath,
|
|
121
|
+
heading: currentHeading || "(intro)",
|
|
122
|
+
content: currentContent.join("\n").trim(),
|
|
123
|
+
level: currentLevel,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return sections;
|
|
127
|
+
}
|
|
128
|
+
function discoverFiles(dir, basePath) {
|
|
129
|
+
const results = [];
|
|
130
|
+
try {
|
|
131
|
+
const entries = fs.readdirSync(path.join(getRepoRoot(), dir), {
|
|
132
|
+
withFileTypes: true,
|
|
133
|
+
});
|
|
134
|
+
for (const entry of entries) {
|
|
135
|
+
const relPath = path.join(basePath, entry.name);
|
|
136
|
+
if (entry.isDirectory()) {
|
|
137
|
+
results.push(...discoverFiles(path.join(dir, entry.name), relPath));
|
|
138
|
+
}
|
|
139
|
+
else if (entry.name.endsWith(".md")) {
|
|
140
|
+
results.push(relPath);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
// Directory doesn't exist
|
|
146
|
+
}
|
|
147
|
+
return results;
|
|
148
|
+
}
|
|
149
|
+
function loadAllDocSections() {
|
|
150
|
+
if (docSections)
|
|
151
|
+
return docSections;
|
|
152
|
+
const filePaths = [];
|
|
153
|
+
filePaths.push("README.md");
|
|
154
|
+
filePaths.push(...discoverFiles("docs", "docs"));
|
|
155
|
+
filePaths.push(...discoverFiles("wiki", "wiki"));
|
|
156
|
+
docSections = [];
|
|
157
|
+
for (const filePath of filePaths) {
|
|
158
|
+
const content = loadFile(filePath);
|
|
159
|
+
if (content) {
|
|
160
|
+
docSections.push(...parseMarkdownSections(content, filePath));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return docSections;
|
|
164
|
+
}
|
|
165
|
+
function loadApiSections() {
|
|
166
|
+
if (apiSections)
|
|
167
|
+
return apiSections;
|
|
168
|
+
apiSections = new Map();
|
|
169
|
+
const content = loadFile("docs/API_REFERENCE.md");
|
|
170
|
+
if (!content)
|
|
171
|
+
return apiSections;
|
|
172
|
+
const lines = content.split("\n");
|
|
173
|
+
let currentClass = "";
|
|
174
|
+
let currentContent = [];
|
|
175
|
+
for (const line of lines) {
|
|
176
|
+
const h3Match = line.match(/^###\s+(.+)$/);
|
|
177
|
+
if (h3Match) {
|
|
178
|
+
if (currentClass) {
|
|
179
|
+
apiSections.set(normalizeClassName(currentClass), currentContent.join("\n").trim());
|
|
180
|
+
}
|
|
181
|
+
currentClass = h3Match[1];
|
|
182
|
+
currentContent = [line];
|
|
183
|
+
}
|
|
184
|
+
else if (currentClass) {
|
|
185
|
+
if (line.match(/^##\s+/)) {
|
|
186
|
+
apiSections.set(normalizeClassName(currentClass), currentContent.join("\n").trim());
|
|
187
|
+
currentClass = "";
|
|
188
|
+
currentContent = [];
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
currentContent.push(line);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (currentClass) {
|
|
196
|
+
apiSections.set(normalizeClassName(currentClass), currentContent.join("\n").trim());
|
|
197
|
+
}
|
|
198
|
+
return apiSections;
|
|
199
|
+
}
|
|
200
|
+
function normalizeClassName(name) {
|
|
201
|
+
return name.replace(/[`()]/g, "").trim().split(/\s+/)[0];
|
|
202
|
+
}
|
|
203
|
+
function loadTopicFiles(files) {
|
|
204
|
+
const parts = [];
|
|
205
|
+
for (const file of files) {
|
|
206
|
+
const content = loadFile(file);
|
|
207
|
+
if (content) {
|
|
208
|
+
parts.push(`--- ${file} ---\n\n${content}`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return parts.join("\n\n");
|
|
212
|
+
}
|
|
213
|
+
function loadReleaseNotes(version) {
|
|
214
|
+
if (version === "latest") {
|
|
215
|
+
version = "3.3.5";
|
|
216
|
+
}
|
|
217
|
+
return loadFile(`docs/release-notes/RELEASE_NOTES_v${version}.md`);
|
|
218
|
+
}
|
|
219
|
+
function loadMigrationGuide(version) {
|
|
220
|
+
const readme = loadFile("README.md");
|
|
221
|
+
if (!readme)
|
|
222
|
+
return "";
|
|
223
|
+
const marker = `### Migrating to ${version}`;
|
|
224
|
+
const startIdx = readme.indexOf(marker);
|
|
225
|
+
if (startIdx === -1)
|
|
226
|
+
return "";
|
|
227
|
+
const rest = readme.slice(startIdx);
|
|
228
|
+
const lines = rest.split("\n");
|
|
229
|
+
const result = [lines[0]];
|
|
230
|
+
for (let i = 1; i < lines.length; i++) {
|
|
231
|
+
if (lines[i].match(/^###\s+Migrating to/) ||
|
|
232
|
+
lines[i].match(/^---$/) ||
|
|
233
|
+
lines[i].match(/^##\s+/)) {
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
result.push(lines[i]);
|
|
237
|
+
}
|
|
238
|
+
const releaseNotes = loadReleaseNotes(version);
|
|
239
|
+
if (releaseNotes) {
|
|
240
|
+
return (result.join("\n").trim() +
|
|
241
|
+
`\n\n--- Release Notes v${version} ---\n\n${releaseNotes}`);
|
|
242
|
+
}
|
|
243
|
+
return result.join("\n").trim();
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=doc-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-loader.js","sourceRoot":"","sources":["../../src/utils/doc-loader.ts"],"names":[],"mappings":"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"}
|