@mikoto_zero/minigame-open-mcp 1.2.0-beta.8 → 1.2.1

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.
Files changed (150) hide show
  1. package/README.md +266 -153
  2. package/dist/{auth → core/auth}/deviceFlow.d.ts +28 -2
  3. package/dist/core/auth/deviceFlow.d.ts.map +1 -0
  4. package/dist/{auth → core/auth}/deviceFlow.js +130 -12
  5. package/dist/core/auth/deviceFlow.js.map +1 -0
  6. package/dist/core/handlers/appHandlers.d.ts +9 -0
  7. package/dist/core/handlers/appHandlers.d.ts.map +1 -0
  8. package/dist/core/handlers/appHandlers.js +9 -0
  9. package/dist/core/handlers/appHandlers.js.map +1 -0
  10. package/dist/core/handlers/environmentHandlers.d.ts.map +1 -0
  11. package/dist/core/handlers/environmentHandlers.js +57 -0
  12. package/dist/core/handlers/environmentHandlers.js.map +1 -0
  13. package/dist/{network → core/network}/httpClient.d.ts +4 -0
  14. package/dist/core/network/httpClient.d.ts.map +1 -0
  15. package/dist/{network → core/network}/httpClient.js +66 -22
  16. package/dist/core/network/httpClient.js.map +1 -0
  17. package/dist/core/types/index.d.ts +96 -0
  18. package/dist/core/types/index.d.ts.map +1 -0
  19. package/dist/core/types/index.js.map +1 -0
  20. package/dist/core/utils/cache.d.ts.map +1 -0
  21. package/dist/core/utils/cache.js.map +1 -0
  22. package/dist/core/utils/docHelpers.d.ts +92 -0
  23. package/dist/core/utils/docHelpers.d.ts.map +1 -0
  24. package/dist/core/utils/docHelpers.js +138 -0
  25. package/dist/core/utils/docHelpers.js.map +1 -0
  26. package/dist/core/utils/logger.d.ts +102 -0
  27. package/dist/core/utils/logger.d.ts.map +1 -0
  28. package/dist/core/utils/logger.js +353 -0
  29. package/dist/core/utils/logger.js.map +1 -0
  30. package/dist/features/app/api.d.ts +144 -0
  31. package/dist/features/app/api.d.ts.map +1 -0
  32. package/dist/features/app/api.js +231 -0
  33. package/dist/features/app/api.js.map +1 -0
  34. package/dist/{handlers/appHandlers.d.ts → features/app/handlers.d.ts} +9 -7
  35. package/dist/features/app/handlers.d.ts.map +1 -0
  36. package/dist/{handlers/appHandlers.js → features/app/handlers.js} +46 -2
  37. package/dist/{handlers/appHandlers.js.map → features/app/handlers.js.map} +1 -1
  38. package/dist/features/app/index.d.ts +10 -0
  39. package/dist/features/app/index.d.ts.map +1 -0
  40. package/dist/features/app/index.js +14 -0
  41. package/dist/features/app/index.js.map +1 -0
  42. package/dist/features/app/tools.d.ts +11 -0
  43. package/dist/features/app/tools.d.ts.map +1 -0
  44. package/dist/features/app/tools.js +169 -0
  45. package/dist/features/app/tools.js.map +1 -0
  46. package/dist/features/h5Game/api.d.ts +20 -0
  47. package/dist/features/h5Game/api.d.ts.map +1 -0
  48. package/dist/features/h5Game/api.js +16 -0
  49. package/dist/features/h5Game/api.js.map +1 -0
  50. package/dist/features/h5Game/handlers.d.ts +49 -0
  51. package/dist/features/h5Game/handlers.d.ts.map +1 -0
  52. package/dist/features/h5Game/handlers.js +321 -0
  53. package/dist/features/h5Game/handlers.js.map +1 -0
  54. package/dist/features/h5Game/index.d.ts +7 -0
  55. package/dist/features/h5Game/index.d.ts.map +1 -0
  56. package/dist/features/h5Game/index.js +11 -0
  57. package/dist/features/h5Game/index.js.map +1 -0
  58. package/dist/features/h5Game/messages.d.ts +79 -0
  59. package/dist/features/h5Game/messages.d.ts.map +1 -0
  60. package/dist/features/h5Game/messages.js +141 -0
  61. package/dist/features/h5Game/messages.js.map +1 -0
  62. package/dist/features/h5Game/tools.d.ts +14 -0
  63. package/dist/features/h5Game/tools.d.ts.map +1 -0
  64. package/dist/features/h5Game/tools.js +181 -0
  65. package/dist/features/h5Game/tools.js.map +1 -0
  66. package/dist/features/h5Game/types.d.ts +113 -0
  67. package/dist/features/h5Game/types.d.ts.map +1 -0
  68. package/dist/features/h5Game/types.js +2 -0
  69. package/dist/features/h5Game/types.js.map +1 -0
  70. package/dist/{network/leaderboardApi.d.ts → features/leaderboard/api.d.ts} +1 -64
  71. package/dist/features/leaderboard/api.d.ts.map +1 -0
  72. package/dist/{network/leaderboardApi.js → features/leaderboard/api.js} +3 -151
  73. package/dist/features/leaderboard/api.js.map +1 -0
  74. package/dist/{tools/leaderboardTools.d.ts → features/leaderboard/docTools.d.ts} +6 -1
  75. package/dist/features/leaderboard/docTools.d.ts.map +1 -0
  76. package/dist/{tools/leaderboardTools.js → features/leaderboard/docTools.js} +125 -51
  77. package/dist/features/leaderboard/docTools.js.map +1 -0
  78. package/dist/features/leaderboard/docs.d.ts +11 -0
  79. package/dist/features/leaderboard/docs.d.ts.map +1 -0
  80. package/dist/{data/leaderboardDocs.js → features/leaderboard/docs.js} +5 -127
  81. package/dist/features/leaderboard/docs.js.map +1 -0
  82. package/dist/{handlers/leaderboardHandlers.d.ts → features/leaderboard/handlers.d.ts} +1 -1
  83. package/dist/features/leaderboard/handlers.d.ts.map +1 -0
  84. package/dist/{handlers/leaderboardHandlers.js → features/leaderboard/handlers.js} +37 -20
  85. package/dist/features/leaderboard/handlers.js.map +1 -0
  86. package/dist/features/leaderboard/index.d.ts +10 -0
  87. package/dist/features/leaderboard/index.d.ts.map +1 -0
  88. package/dist/features/leaderboard/index.js +27 -0
  89. package/dist/features/leaderboard/index.js.map +1 -0
  90. package/dist/features/leaderboard/resources.d.ts +11 -0
  91. package/dist/features/leaderboard/resources.d.ts.map +1 -0
  92. package/dist/features/leaderboard/resources.js +68 -0
  93. package/dist/features/leaderboard/resources.js.map +1 -0
  94. package/dist/features/leaderboard/tools.d.ts +11 -0
  95. package/dist/features/leaderboard/tools.d.ts.map +1 -0
  96. package/dist/features/leaderboard/tools.js +146 -0
  97. package/dist/features/leaderboard/tools.js.map +1 -0
  98. package/dist/server.js +366 -159
  99. package/dist/server.js.map +1 -1
  100. package/dist/version.d.ts +2 -0
  101. package/dist/version.d.ts.map +1 -0
  102. package/dist/version.js +15 -0
  103. package/dist/version.js.map +1 -0
  104. package/package.json +17 -10
  105. package/dist/auth/deviceFlow.d.ts.map +0 -1
  106. package/dist/auth/deviceFlow.js.map +0 -1
  107. package/dist/config/promptDefinitions.d.ts +0 -19
  108. package/dist/config/promptDefinitions.d.ts.map +0 -1
  109. package/dist/config/promptDefinitions.js +0 -28
  110. package/dist/config/promptDefinitions.js.map +0 -1
  111. package/dist/config/resourceDefinitions.d.ts +0 -19
  112. package/dist/config/resourceDefinitions.d.ts.map +0 -1
  113. package/dist/config/resourceDefinitions.js +0 -93
  114. package/dist/config/resourceDefinitions.js.map +0 -1
  115. package/dist/config/toolDefinitions.d.ts +0 -10
  116. package/dist/config/toolDefinitions.d.ts.map +0 -1
  117. package/dist/config/toolDefinitions.js +0 -250
  118. package/dist/config/toolDefinitions.js.map +0 -1
  119. package/dist/data/leaderboardDocs.d.ts +0 -37
  120. package/dist/data/leaderboardDocs.d.ts.map +0 -1
  121. package/dist/data/leaderboardDocs.js.map +0 -1
  122. package/dist/handlers/appHandlers.d.ts.map +0 -1
  123. package/dist/handlers/environmentHandlers.d.ts.map +0 -1
  124. package/dist/handlers/environmentHandlers.js +0 -21
  125. package/dist/handlers/environmentHandlers.js.map +0 -1
  126. package/dist/handlers/leaderboardHandlers.d.ts.map +0 -1
  127. package/dist/handlers/leaderboardHandlers.js.map +0 -1
  128. package/dist/handlers/promptHandlers.d.ts +0 -26
  129. package/dist/handlers/promptHandlers.d.ts.map +0 -1
  130. package/dist/handlers/promptHandlers.js +0 -336
  131. package/dist/handlers/promptHandlers.js.map +0 -1
  132. package/dist/network/httpClient.d.ts.map +0 -1
  133. package/dist/network/httpClient.js.map +0 -1
  134. package/dist/network/leaderboardApi.d.ts.map +0 -1
  135. package/dist/network/leaderboardApi.js.map +0 -1
  136. package/dist/tools/leaderboardTools.d.ts.map +0 -1
  137. package/dist/tools/leaderboardTools.js.map +0 -1
  138. package/dist/types/index.d.ts +0 -18
  139. package/dist/types/index.d.ts.map +0 -1
  140. package/dist/types/index.js.map +0 -1
  141. package/dist/utils/cache.d.ts.map +0 -1
  142. package/dist/utils/cache.js.map +0 -1
  143. package/dist/utils/logger.d.ts +0 -45
  144. package/dist/utils/logger.d.ts.map +0 -1
  145. package/dist/utils/logger.js +0 -192
  146. package/dist/utils/logger.js.map +0 -1
  147. /package/dist/{handlers → core/handlers}/environmentHandlers.d.ts +0 -0
  148. /package/dist/{types → core/types}/index.js +0 -0
  149. /package/dist/{utils → core/utils}/cache.d.ts +0 -0
  150. /package/dist/{utils → core/utils}/cache.js +0 -0
@@ -2,73 +2,71 @@
2
2
  * TapTap Minigame Leaderboard Documentation Tools
3
3
  * Each LeaderboardManager API has its own dedicated tool
4
4
  */
5
- import { searchLeaderboardDocs as searchDocs, getLeaderboardOverview as getOverview, LEADERBOARD_DOCUMENTATION } from '../data/leaderboardDocs.js';
6
- /**
7
- * Get specific API documentation by name
8
- */
9
- function getAPIDoc(categoryKey, apiName) {
10
- const category = LEADERBOARD_DOCUMENTATION.categories[categoryKey];
11
- if (!category) {
12
- return `Category "${categoryKey}" not found`;
13
- }
14
- const api = category.apis.find(a => a.name === apiName);
15
- if (!api) {
16
- return `API "${apiName}" not found in category "${categoryKey}"`;
17
- }
18
- let doc = `# ${api.name}\n\n`;
19
- doc += `**Method Signature:**\n\`\`\`javascript\n${api.method}\n\`\`\`\n\n`;
20
- doc += `**Description:** ${api.description}\n\n`;
21
- if (api.parameters) {
22
- doc += `## Parameters\n\n`;
23
- for (const [param, desc] of Object.entries(api.parameters)) {
24
- doc += `- **\`${param}\`**: ${desc}\n`;
25
- }
26
- doc += '\n';
27
- }
28
- if (api.returnValue) {
29
- doc += `## Returns\n\n${api.returnValue}\n\n`;
30
- }
31
- doc += `## Code Example\n\n\`\`\`javascript\n${api.example}\n\`\`\`\n`;
32
- return doc;
33
- }
5
+ import { generateAPIDoc, generateCategoryDoc, searchDocumentation, generateOverview, generateSearchSuggestions } from '../../core/utils/docHelpers.js';
6
+ import { LEADERBOARD_DOCUMENTATION } from './docs.js';
34
7
  // ============ Core API Tools (one for each LeaderboardManager API) ============
35
8
  /**
36
9
  * Get documentation for tap.getLeaderboardManager()
37
10
  */
38
11
  async function getLeaderboardManager() {
39
- return getAPIDoc('initialization', 'tap.getLeaderboardManager');
12
+ return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'initialization', 'tap.getLeaderboardManager');
40
13
  }
41
14
  /**
42
15
  * Get documentation for openLeaderboard()
43
16
  */
44
17
  async function openLeaderboard() {
45
- return getAPIDoc('display', 'openLeaderboard');
18
+ return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'display', 'openLeaderboard');
46
19
  }
47
20
  /**
48
21
  * Get documentation for submitScores()
49
22
  */
50
23
  async function submitScores() {
51
- return getAPIDoc('score_submission', 'submitScores');
24
+ return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'score_submission', 'submitScores');
52
25
  }
53
26
  /**
54
27
  * Get documentation for loadLeaderboardScores()
55
28
  */
56
29
  async function loadLeaderboardScores() {
57
- return getAPIDoc('score_query', 'loadLeaderboardScores');
30
+ return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'score_query', 'loadLeaderboardScores');
58
31
  }
59
32
  /**
60
33
  * Get documentation for loadCurrentPlayerLeaderboardScore()
61
34
  */
62
35
  async function loadCurrentPlayerScore() {
63
- return getAPIDoc('score_query', 'loadCurrentPlayerLeaderboardScore');
36
+ return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'score_query', 'loadCurrentPlayerLeaderboardScore');
64
37
  }
65
38
  /**
66
39
  * Get documentation for loadPlayerCenteredScores()
67
40
  */
68
41
  async function loadPlayerCenteredScores() {
69
- return getAPIDoc('score_query', 'loadPlayerCenteredScores');
42
+ return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'score_query', 'loadPlayerCenteredScores');
70
43
  }
71
44
  // ============ Helper Tools ============
45
+ /**
46
+ * Resource suggestions for leaderboard
47
+ */
48
+ const LEADERBOARD_SUGGESTIONS = [
49
+ {
50
+ keywords: ['init', 'start', 'get', 'manager'],
51
+ uri: 'docs://leaderboard/api/get-manager',
52
+ description: '如何获取 LeaderboardManager 实例'
53
+ },
54
+ {
55
+ keywords: ['submit', 'upload', 'save', 'score'],
56
+ uri: 'docs://leaderboard/api/submit-scores',
57
+ description: '如何提交分数'
58
+ },
59
+ {
60
+ keywords: ['open', 'show', 'display', 'ui'],
61
+ uri: 'docs://leaderboard/api/open',
62
+ description: '如何显示排行榜 UI'
63
+ },
64
+ {
65
+ keywords: ['load', 'fetch', 'rank'],
66
+ uri: 'docs://leaderboard/api/load-scores',
67
+ description: '如何加载排行榜数据'
68
+ }
69
+ ];
72
70
  /**
73
71
  * Search leaderboard documentation by keyword
74
72
  */
@@ -77,9 +75,9 @@ async function searchLeaderboardDocs(args) {
77
75
  if (!query) {
78
76
  return 'Please provide a search keyword.';
79
77
  }
80
- const results = searchDocs(query);
78
+ const results = searchDocumentation(LEADERBOARD_DOCUMENTATION, query);
81
79
  if (results.length === 0) {
82
- return `No results found for "${query}".\n\nTry searching for: initialization, open, submit, load, score, ranking, leaderboard`;
80
+ return generateSearchSuggestions(query, LEADERBOARD_SUGGESTIONS, 'docs://leaderboard/overview');
83
81
  }
84
82
  return `**🏆 Search Results for "${query}"**\n\n` + results.join('\n---\n\n');
85
83
  }
@@ -87,22 +85,13 @@ async function searchLeaderboardDocs(args) {
87
85
  * Get complete leaderboard system overview
88
86
  */
89
87
  async function getLeaderboardOverview() {
90
- return getOverview();
88
+ return generateOverview(LEADERBOARD_DOCUMENTATION);
91
89
  }
92
90
  /**
93
91
  * Get integration patterns and best practices
94
92
  */
95
93
  async function getLeaderboardPatterns() {
96
- const category = LEADERBOARD_DOCUMENTATION.categories['common_scenarios'];
97
- if (!category)
98
- return 'Common scenarios not found';
99
- let doc = `# ${category.title}\n\n${category.description}\n\n`;
100
- for (const api of category.apis) {
101
- doc += `## ${api.name}\n\n`;
102
- doc += `${api.description}\n\n`;
103
- doc += `\`\`\`javascript\n${api.example}\n\`\`\`\n\n`;
104
- }
105
- return doc;
94
+ return generateCategoryDoc(LEADERBOARD_DOCUMENTATION, 'common_scenarios');
106
95
  }
107
96
  /**
108
97
  * Get quick start guide - client-side integration tutorial
@@ -256,7 +245,7 @@ leaderboardManager.loadLeaderboardScores({
256
245
  */
257
246
  async function getCurrentAppInfo() {
258
247
  try {
259
- const { readAppCache, getCachePath } = await import('../utils/cache.js');
248
+ const { readAppCache, getCachePath } = await import('../../core/utils/cache.js');
260
249
  const cache = readAppCache(process.env.TDS_MCP_PROJECT_PATH);
261
250
  if (!cache || !cache.developer_id || !cache.app_id) {
262
251
  return `# Current App Information
@@ -311,6 +300,90 @@ Please use \`check_environment\` tool to verify your configuration.
311
300
  `;
312
301
  }
313
302
  }
303
+ /**
304
+ * Get complete integration workflow guide
305
+ */
306
+ async function getIntegrationWorkflow() {
307
+ return `# TapTap 排行榜完整接入工作流
308
+
309
+ ## ⚠️ 关键原则:客户端无需安装 SDK
310
+
311
+ **请勿执行以下操作**:
312
+ - ❌ npm install @taptap/xxx
313
+ - ❌ 修改 package.json 添加依赖
314
+ - ❌ import 或 require 任何 TapTap 模块
315
+
316
+ **原因**:tap 是全局对象,由 TapTap 运行时自动提供(类似 window、document)
317
+
318
+ ---
319
+
320
+ ## 📋 完整步骤
321
+
322
+ ### 步骤 1: 检查服务端排行榜
323
+
324
+ **工具**:\`list_leaderboards\`
325
+
326
+ **判断**:
327
+ - 已有排行榜 → 跳到步骤 3
328
+ - 无排行榜 → 继续步骤 2
329
+
330
+ ### 步骤 2: 创建服务端排行榜
331
+
332
+ **工具**:\`create_leaderboard\`
333
+
334
+ **示例参数**:
335
+ \`\`\`json
336
+ {
337
+ "title": "周榜",
338
+ "period_type": 3,
339
+ "score_type": 1,
340
+ "score_order": 1,
341
+ "calc_type": 2
342
+ }
343
+ \`\`\`
344
+
345
+ **获得**:leaderboard_id(记录下来)
346
+
347
+ ### 步骤 3: 客户端代码集成
348
+
349
+ **3.1 获取实例**
350
+ \`\`\`javascript
351
+ const leaderboardManager = tap.getLeaderboardManager();
352
+ \`\`\`
353
+
354
+ **3.2 提交分数**
355
+ \`\`\`javascript
356
+ leaderboardManager.submitScores({
357
+ scores: [{
358
+ leaderboardId: "your_leaderboard_id",
359
+ score: playerScore
360
+ }],
361
+ callback: {
362
+ onSuccess: (res) => console.log("成功"),
363
+ onFailure: (code, msg) => console.error(code, msg)
364
+ }
365
+ });
366
+ \`\`\`
367
+
368
+ **3.3 显示排行榜**
369
+ \`\`\`javascript
370
+ leaderboardManager.openLeaderboard({
371
+ leaderboardId: "your_leaderboard_id",
372
+ collection: "public",
373
+ callback: {
374
+ onSuccess: () => console.log("打开成功"),
375
+ onFailure: (code, msg) => console.error(code, msg)
376
+ }
377
+ });
378
+ \`\`\`
379
+
380
+ ---
381
+
382
+ ## ✅ 完成!
383
+
384
+ 总共 3 个步骤,10-15 分钟即可完成接入。
385
+ `;
386
+ }
314
387
  export const leaderboardTools = {
315
388
  // Core API tools
316
389
  getLeaderboardManager,
@@ -324,6 +397,7 @@ export const leaderboardTools = {
324
397
  getLeaderboardOverview,
325
398
  getLeaderboardPatterns,
326
399
  getQuickStartGuide,
327
- getCurrentAppInfo
400
+ getCurrentAppInfo,
401
+ getIntegrationWorkflow
328
402
  };
329
- //# sourceMappingURL=leaderboardTools.js.map
403
+ //# sourceMappingURL=docTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docTools.js","sourceRoot":"","sources":["../../../src/features/leaderboard/docTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * TapTap Leaderboard API (Minigame & H5) Documentation
3
+ * Based on: https://developer.taptap.cn/minigameapidoc/dev/api/open-api/leaderboard/
4
+ */
5
+ import type { Documentation } from '../../core/utils/docHelpers.js';
6
+ /**
7
+ * Leaderboard documentation data
8
+ * Uses the generic Documentation interface from core
9
+ */
10
+ export declare const LEADERBOARD_DOCUMENTATION: Documentation;
11
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/features/leaderboard/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,aA6evC,CAAC"}
@@ -2,6 +2,10 @@
2
2
  * TapTap Leaderboard API (Minigame & H5) Documentation
3
3
  * Based on: https://developer.taptap.cn/minigameapidoc/dev/api/open-api/leaderboard/
4
4
  */
5
+ /**
6
+ * Leaderboard documentation data
7
+ * Uses the generic Documentation interface from core
8
+ */
5
9
  export const LEADERBOARD_DOCUMENTATION = {
6
10
  title: "TapTap Leaderboard API (Minigame & H5)",
7
11
  description: `Complete leaderboard functionality for TapTap Minigame and H5 Games, including score submission, ranking queries, and leaderboard display.
@@ -491,130 +495,4 @@ leaderboardView.loadPage(0);
491
495
  }
492
496
  }
493
497
  };
494
- /**
495
- * Search leaderboard documentation by keyword
496
- */
497
- export function searchLeaderboardDocs(query, category) {
498
- const results = [];
499
- const lowerQuery = query.toLowerCase();
500
- const categoriesToSearch = category
501
- ? [LEADERBOARD_DOCUMENTATION.categories[category]]
502
- : Object.values(LEADERBOARD_DOCUMENTATION.categories);
503
- for (const cat of categoriesToSearch) {
504
- if (!cat)
505
- continue;
506
- for (const api of cat.apis) {
507
- const searchText = `${api.name} ${api.description} ${api.example}`.toLowerCase();
508
- if (searchText.includes(lowerQuery)) {
509
- results.push(`
510
- ### ${api.name}
511
-
512
- **Method:** \`${api.method}\`
513
-
514
- **Description:** ${api.description}
515
-
516
- ${api.parameters ? `**Parameters:**
517
- ${Object.entries(api.parameters).map(([key, value]) => `- \`${key}\`: ${value}`).join('\n')}
518
- ` : ''}
519
-
520
- ${api.returnValue ? `**Returns:** ${api.returnValue}\n` : ''}
521
-
522
- **Example:**
523
- \`\`\`javascript
524
- ${api.example}
525
- \`\`\`
526
- `);
527
- }
528
- }
529
- }
530
- return results;
531
- }
532
- /**
533
- * Get overview of leaderboard system
534
- */
535
- export function getLeaderboardOverview() {
536
- return `# ${LEADERBOARD_DOCUMENTATION.title}
537
-
538
- ${LEADERBOARD_DOCUMENTATION.description}
539
-
540
- **Official API Reference:** ${LEADERBOARD_DOCUMENTATION.apiReference}
541
-
542
- ## Available Categories
543
-
544
- ${Object.entries(LEADERBOARD_DOCUMENTATION.categories).map(([key, cat]) => `
545
- ### ${cat.title}
546
- ${cat.description}
547
-
548
- Available methods: ${cat.apis.map(api => `\`${api.name}\``).join(', ')}
549
- `).join('\n')}
550
-
551
- ## Quick Start
552
-
553
- ⚠️ **CRITICAL: Use leaderboardId (NOT leaderboardName) and wrap parameters in objects!**
554
-
555
- \`\`\`javascript
556
- // 1. Get LeaderboardManager instance
557
- const leaderboardManager = tap.getLeaderboardManager();
558
-
559
- // 2. Submit a score (use leaderboardId and wrap in scores array)
560
- await leaderboardManager.submitScores({
561
- scores: [{
562
- leaderboardId: 'my_leaderboard', // Use leaderboardId (not leaderboardName)
563
- score: 1000
564
- }]
565
- });
566
-
567
- // 3. Query current player's rank (use object parameter)
568
- const playerScore = await leaderboardManager.loadCurrentPlayerLeaderboardScore({
569
- leaderboardId: 'my_leaderboard',
570
- collection: 'public'
571
- });
572
- console.log('Your rank:', playerScore.rank);
573
-
574
- // 4. Open leaderboard UI (use object parameter)
575
- leaderboardManager.openLeaderboard({
576
- leaderboardId: 'my_leaderboard'
577
- });
578
- \`\`\`
579
- `;
580
- }
581
- /**
582
- * Get detailed documentation for a specific category
583
- */
584
- export function getCategoryDocs(category) {
585
- const cat = LEADERBOARD_DOCUMENTATION.categories[category];
586
- if (!cat) {
587
- return `Category "${category}" not found. Available categories: ${Object.keys(LEADERBOARD_DOCUMENTATION.categories).join(', ')}`;
588
- }
589
- return `# ${cat.title}
590
-
591
- ${cat.description}
592
-
593
- ${cat.apis.map(api => `
594
- ## ${api.name}
595
-
596
- **Method:** \`${api.method}\`
597
-
598
- **Description:** ${api.description}
599
-
600
- ${api.parameters ? `### Parameters
601
-
602
- ${Object.entries(api.parameters).map(([key, value]) => `- **\`${key}\`**: ${value}`).join('\n')}
603
- ` : ''}
604
-
605
- ${api.returnValue ? `### Returns
606
-
607
- ${api.returnValue}
608
- ` : ''}
609
-
610
- ### Example
611
-
612
- \`\`\`javascript
613
- ${api.example}
614
- \`\`\`
615
-
616
- ---
617
- `).join('\n')}
618
- `;
619
- }
620
- //# sourceMappingURL=leaderboardDocs.js.map
498
+ //# sourceMappingURL=docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../src/features/leaderboard/docs.ts"],"names":[],"mappings":"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"}
@@ -55,4 +55,4 @@ export declare function getUserLeaderboardScores(args: {
55
55
  leaderboardId?: string;
56
56
  limit?: number;
57
57
  }, context: HandlerContext): Promise<string>;
58
- //# sourceMappingURL=leaderboardHandlers.d.ts.map
58
+ //# sourceMappingURL=handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/features/leaderboard/handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAkGjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EACD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CA4IjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB,EACD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CA4FjB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
@@ -2,8 +2,9 @@
2
2
  * Leaderboard Management Handlers
3
3
  * Handles leaderboard operations including creation, listing, and workflow guidance
4
4
  */
5
- import { createLeaderboard as createLeaderboardApi, listLeaderboards as listLeaderboardsApi, publishLeaderboard as publishLeaderboardApi, ensureAppInfo, SelectionRequiredError } from '../network/leaderboardApi.js';
6
- import { leaderboardTools } from '../tools/leaderboardTools.js';
5
+ import { createLeaderboard as createLeaderboardApi, listLeaderboards as listLeaderboardsApi, publishLeaderboard as publishLeaderboardApi } from './api.js';
6
+ import { ensureAppInfo, SelectionRequiredError } from '../app/api.js';
7
+ import { leaderboardTools } from './docTools.js';
7
8
  /**
8
9
  * Start leaderboard integration workflow - guides user through the process
9
10
  */
@@ -165,31 +166,44 @@ export async function createLeaderboard(args, context) {
165
166
  const publishErrorMsg = publishError instanceof Error ? publishError.message : String(publishError);
166
167
  return `✅ 排行榜创建成功!\n\n` +
167
168
  `📊 排行榜信息:\n` +
168
- `- Leaderboard ID: ${result.id}\n` +
169
- `- Open ID: ${result.leaderboard_open_id}\n` +
170
- `- Title: ${result.title}\n\n` +
169
+ `- 🆔 数据库 ID: ${result.id} (仅后台管理使用)\n` +
170
+ `- 🎮 客户端 ID: \`${result.leaderboard_open_id}\` ⭐ (游戏代码中使用这个!)\n` +
171
+ `- 📝 名称: ${result.title}\n\n` +
171
172
  `📝 应用信息(已缓存):\n` +
172
173
  `- Developer ID: ${developerId}\n` +
173
174
  `- App ID: ${appId}\n\n` +
174
175
  `⚠️ **注意:** 排行榜创建成功,但自动发布失败。\n` +
175
176
  `错误信息: ${publishErrorMsg}\n` +
176
177
  `排行榜当前处于白名单模式,您可以稍后使用 publish_leaderboard 工具手动发布。\n\n` +
177
- `🎮 使用方法:\n` +
178
- `在小游戏中使用 leaderboardId "${result.leaderboard_open_id}" 来调用排行榜 API`;
178
+ `🎮 **客户端代码示例**:\n` +
179
+ `\`\`\`javascript\n` +
180
+ `// ⚠️ 使用客户端 ID,不是数字 ID!\n` +
181
+ `leaderboardManager.submitScores({\n` +
182
+ ` scores: [{ leaderboardId: "${result.leaderboard_open_id}", score: 100 }]\n` +
183
+ `});\n` +
184
+ `\`\`\``;
179
185
  }
180
186
  return `✅ 排行榜创建成功并已自动发布上线!\n\n` +
181
187
  `📊 排行榜信息:\n` +
182
- `- Leaderboard ID: ${result.id}\n` +
183
- `- Open ID: ${result.leaderboard_open_id}\n` +
184
- `- Title: ${result.title}\n` +
185
- `- 状态: 🚀 已发布(所有用户可见)\n\n` +
188
+ `- 🆔 数据库 ID: ${result.id} (仅后台管理使用)\n` +
189
+ `- 🎮 客户端 ID: \`${result.leaderboard_open_id}\` ⭐ (游戏代码中使用这个!)\n` +
190
+ `- 📝 名称: ${result.title}\n` +
191
+ `- 🚀 状态: 已发布(所有用户可见)\n\n` +
186
192
  `📝 应用信息(已缓存):\n` +
187
193
  `- Developer ID: ${developerId}\n` +
188
194
  `- App ID: ${appId}\n\n` +
189
- `🎮 使用方法:\n` +
190
- `在小游戏中使用 leaderboardId "${result.leaderboard_open_id}" 来调用排行榜 API\n\n` +
191
- `💡 **提示:**\n` +
192
- `排行榜已自动发布上线,所有用户都可以看到和使用此排行榜。`;
195
+ `🎮 **客户端代码示例**:\n` +
196
+ `\`\`\`javascript\n` +
197
+ `// ⚠️ 使用客户端 ID(字符串),不是数据库 ID(数字)!\n` +
198
+ `const leaderboardManager = tap.getLeaderboardManager();\n\n` +
199
+ `leaderboardManager.submitScores({\n` +
200
+ ` scores: [{\n` +
201
+ ` leaderboardId: "${result.leaderboard_open_id}", // ← 使用这个字符串 ID\n` +
202
+ ` score: playerScore\n` +
203
+ ` }]\n` +
204
+ `});\n` +
205
+ `\`\`\`\n\n` +
206
+ `💡 **提示:** 排行榜已自动发布上线,所有用户都可以看到和使用。`;
193
207
  }
194
208
  catch (error) {
195
209
  const errorMsg = error instanceof Error ? error.message : String(error);
@@ -243,11 +257,14 @@ export async function listLeaderboards(args, context) {
243
257
  let output = `📋 排行榜列表 (共 ${result.total} 个)\n\n`;
244
258
  result.list.forEach((item, index) => {
245
259
  output += `${index + 1}. **${item.title}**\n`;
246
- output += ` - ID: ${item.id}\n`;
247
- output += ` - Open ID: ${item.leaderboard_open_id}\n`;
248
- output += ` - Period: ${item.period}\n`;
249
- output += ` - Default: ${item.is_default ? 'Yes' : 'No'}\n\n`;
260
+ output += ` - 🆔 数据库 ID: ${item.id} (⚠️ 仅后台管理使用)\n`;
261
+ output += ` - 🎮 客户端 ID: \`${item.leaderboard_open_id}\` ⭐ (游戏代码中使用这个)\n`;
262
+ output += ` - 📅 周期: ${item.period}\n`;
263
+ output += ` - 🔧 默认: ${item.is_default ? 'Yes' : 'No'}\n\n`;
250
264
  });
265
+ output += `⚠️ **重要提示**:\n`;
266
+ output += `- 在客户端代码中使用 **客户端 ID**(leaderboard_open_id)\n`;
267
+ output += `- 例如:\`leaderboardManager.submitScores({ scores: [{ leaderboardId: "${result.list[0]?.leaderboard_open_id}", score: 100 }] })\`\n\n`;
251
268
  const currentPage = args.page || 1;
252
269
  const pageSize = args.page_size || 10;
253
270
  const totalPages = Math.ceil(result.total / pageSize);
@@ -393,4 +410,4 @@ export async function getUserLeaderboardScores(args, context) {
393
410
  return `❌ API 调用失败: ${errorMsg}\n\n降级为文档模式:\n${await leaderboardTools.getLeaderboardOverview()}`;
394
411
  }
395
412
  }
396
- //# sourceMappingURL=leaderboardHandlers.js.map
413
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/features/leaderboard/handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Leaderboard Feature Module
3
+ * All leaderboard-related Tools, Resources, and Handlers in one place
4
+ */
5
+ import type { FeatureModule } from '../../core/types/index.js';
6
+ /**
7
+ * Leaderboard Module Definition
8
+ */
9
+ export declare const leaderboardModule: FeatureModule;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/leaderboard/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAiB/B,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Leaderboard Feature Module
3
+ * All leaderboard-related Tools, Resources, and Handlers in one place
4
+ */
5
+ // Import from leaderboard module
6
+ import { leaderboardTools } from './tools.js';
7
+ import { leaderboardResources } from './resources.js';
8
+ /**
9
+ * Leaderboard Module Definition
10
+ */
11
+ export const leaderboardModule = {
12
+ name: 'leaderboard',
13
+ // All Tools with their handlers (unified format)
14
+ tools: leaderboardTools.map(tool => ({
15
+ definition: tool.definition,
16
+ handler: tool.handler,
17
+ requiresAuth: [
18
+ 'create_leaderboard',
19
+ 'list_leaderboards',
20
+ 'publish_leaderboard',
21
+ 'get_user_leaderboard_scores'
22
+ ].includes(tool.definition.name)
23
+ })),
24
+ // All Resources with their handlers (unified format)
25
+ resources: leaderboardResources
26
+ };
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/leaderboard/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,iCAAiC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB;IAC9C,IAAI,EAAE,aAAa;IAEnB,iDAAiD;IACjD,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE;YACZ,oBAAoB;YACpB,mBAAmB;YACnB,qBAAqB;YACrB,6BAA6B;SAC9B,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;KACjC,CAAC,CAAC;IAEH,qDAAqD;IACrD,SAAS,EAAE,oBAAoB;CAChC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Leaderboard Resources
3
+ * Unified definitions and handlers (no more manual sync required!)
4
+ */
5
+ import type { ResourceRegistration } from '../../core/types/index.js';
6
+ /**
7
+ * Leaderboard Resources
8
+ * Each resource combines its definition and handler in one place
9
+ */
10
+ export declare const leaderboardResources: ResourceRegistration[];
11
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/features/leaderboard/resources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,EA+DtD,CAAC"}