level-up-mcp-server-cn 0.4.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.
Files changed (137) hide show
  1. package/.claude/projects/c--Users-klexi-OneDrive-Desktop-Levelup-level-up-mcp-server/memory/project_testing_service.md +11 -0
  2. package/.claude/settings.local.json +10 -0
  3. package/.env.example +19 -0
  4. package/CLAUDE.md +222 -0
  5. package/CODE_REVIEW.md +282 -0
  6. package/LICENSE +64 -0
  7. package/README.md +198 -0
  8. package/dist/constants.d.ts +33 -0
  9. package/dist/constants.js +78 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/data/quest-seeds.d.ts +18 -0
  12. package/dist/data/quest-seeds.js +380 -0
  13. package/dist/data/quest-seeds.js.map +1 -0
  14. package/dist/index.d.ts +3 -0
  15. package/dist/index.js +260 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/schemas/common.d.ts +33 -0
  18. package/dist/schemas/common.js +96 -0
  19. package/dist/schemas/common.js.map +1 -0
  20. package/dist/services/dispatcher.d.ts +27 -0
  21. package/dist/services/dispatcher.js +47 -0
  22. package/dist/services/dispatcher.js.map +1 -0
  23. package/dist/services/errors.d.ts +56 -0
  24. package/dist/services/errors.js +99 -0
  25. package/dist/services/errors.js.map +1 -0
  26. package/dist/services/format.d.ts +74 -0
  27. package/dist/services/format.js +144 -0
  28. package/dist/services/format.js.map +1 -0
  29. package/dist/services/ownership.d.ts +19 -0
  30. package/dist/services/ownership.js +79 -0
  31. package/dist/services/ownership.js.map +1 -0
  32. package/dist/services/quality-gate.d.ts +45 -0
  33. package/dist/services/quality-gate.js +131 -0
  34. package/dist/services/quality-gate.js.map +1 -0
  35. package/dist/services/rate-limit.d.ts +12 -0
  36. package/dist/services/rate-limit.js +49 -0
  37. package/dist/services/rate-limit.js.map +1 -0
  38. package/dist/services/register.d.ts +49 -0
  39. package/dist/services/register.js +63 -0
  40. package/dist/services/register.js.map +1 -0
  41. package/dist/services/supabase.d.ts +10 -0
  42. package/dist/services/supabase.js +79 -0
  43. package/dist/services/supabase.js.map +1 -0
  44. package/dist/tools/achievements.d.ts +6 -0
  45. package/dist/tools/achievements.js +242 -0
  46. package/dist/tools/achievements.js.map +1 -0
  47. package/dist/tools/admin.d.ts +16 -0
  48. package/dist/tools/admin.js +328 -0
  49. package/dist/tools/admin.js.map +1 -0
  50. package/dist/tools/agents.d.ts +3 -0
  51. package/dist/tools/agents.js +400 -0
  52. package/dist/tools/agents.js.map +1 -0
  53. package/dist/tools/bootstrap.d.ts +17 -0
  54. package/dist/tools/bootstrap.js +565 -0
  55. package/dist/tools/bootstrap.js.map +1 -0
  56. package/dist/tools/dispatchers/admin.d.ts +3 -0
  57. package/dist/tools/dispatchers/admin.js +50 -0
  58. package/dist/tools/dispatchers/admin.js.map +1 -0
  59. package/dist/tools/dispatchers/eval.d.ts +3 -0
  60. package/dist/tools/dispatchers/eval.js +40 -0
  61. package/dist/tools/dispatchers/eval.js.map +1 -0
  62. package/dist/tools/dispatchers/quests.d.ts +3 -0
  63. package/dist/tools/dispatchers/quests.js +60 -0
  64. package/dist/tools/dispatchers/quests.js.map +1 -0
  65. package/dist/tools/dispatchers/session.d.ts +3 -0
  66. package/dist/tools/dispatchers/session.js +38 -0
  67. package/dist/tools/dispatchers/session.js.map +1 -0
  68. package/dist/tools/dispatchers/skills.d.ts +3 -0
  69. package/dist/tools/dispatchers/skills.js +49 -0
  70. package/dist/tools/dispatchers/skills.js.map +1 -0
  71. package/dist/tools/dispatchers/tasks.d.ts +3 -0
  72. package/dist/tools/dispatchers/tasks.js +53 -0
  73. package/dist/tools/dispatchers/tasks.js.map +1 -0
  74. package/dist/tools/dispatchers/users.d.ts +3 -0
  75. package/dist/tools/dispatchers/users.js +65 -0
  76. package/dist/tools/dispatchers/users.js.map +1 -0
  77. package/dist/tools/dispatchers/xp.d.ts +3 -0
  78. package/dist/tools/dispatchers/xp.js +51 -0
  79. package/dist/tools/dispatchers/xp.js.map +1 -0
  80. package/dist/tools/growth-plan.d.ts +5 -0
  81. package/dist/tools/growth-plan.js +791 -0
  82. package/dist/tools/growth-plan.js.map +1 -0
  83. package/dist/tools/leaderboards.d.ts +10 -0
  84. package/dist/tools/leaderboards.js +279 -0
  85. package/dist/tools/leaderboards.js.map +1 -0
  86. package/dist/tools/leveling.d.ts +24 -0
  87. package/dist/tools/leveling.js +356 -0
  88. package/dist/tools/leveling.js.map +1 -0
  89. package/dist/tools/metrics.d.ts +3 -0
  90. package/dist/tools/metrics.js +247 -0
  91. package/dist/tools/metrics.js.map +1 -0
  92. package/dist/tools/quests.d.ts +5 -0
  93. package/dist/tools/quests.js +586 -0
  94. package/dist/tools/quests.js.map +1 -0
  95. package/dist/tools/ratings.d.ts +11 -0
  96. package/dist/tools/ratings.js +564 -0
  97. package/dist/tools/ratings.js.map +1 -0
  98. package/dist/tools/skills.d.ts +66 -0
  99. package/dist/tools/skills.js +1112 -0
  100. package/dist/tools/skills.js.map +1 -0
  101. package/dist/tools/system.d.ts +31 -0
  102. package/dist/tools/system.js +605 -0
  103. package/dist/tools/system.js.map +1 -0
  104. package/dist/tools/tasks.d.ts +73 -0
  105. package/dist/tools/tasks.js +1572 -0
  106. package/dist/tools/tasks.js.map +1 -0
  107. package/dist/tools/users.d.ts +97 -0
  108. package/dist/tools/users.js +1306 -0
  109. package/dist/tools/users.js.map +1 -0
  110. package/dist/tools/xp.d.ts +38 -0
  111. package/dist/tools/xp.js +670 -0
  112. package/dist/tools/xp.js.map +1 -0
  113. package/dist/types.d.ts +178 -0
  114. package/dist/types.js +12 -0
  115. package/dist/types.js.map +1 -0
  116. package/docs/recommended-skillsets.md +622 -0
  117. package/docs/skills-and-abilities-review.md +672 -0
  118. package/docs/v0.3-roadmap.md +191 -0
  119. package/package.json +35 -0
  120. package/sql/agent_pending_installs.sql +28 -0
  121. package/sql/award_class_xp.sql +81 -0
  122. package/supabase/.temp/cli-latest +1 -0
  123. package/supabase/.temp/gotrue-version +1 -0
  124. package/supabase/.temp/pooler-url +1 -0
  125. package/supabase/.temp/postgres-version +1 -0
  126. package/supabase/.temp/project-ref +1 -0
  127. package/supabase/.temp/rest-version +1 -0
  128. package/supabase/.temp/storage-migration +1 -0
  129. package/supabase/.temp/storage-version +1 -0
  130. package/supabase/migrations/20260314000000_anon_rls_policies.sql +311 -0
  131. package/supabase/migrations/20260314000001_ownership_rpcs.sql +382 -0
  132. package/supabase/migrations/20260314000002_evidence_and_growth_plan.sql +97 -0
  133. package/supabase/migrations/20260317000000_seed_quests.sql +62 -0
  134. package/supabase/migrations/20260317000001_star_cooldown_and_fixes.sql +16 -0
  135. package/supabase/migrations/20260318000000_restore_rank_names.sql +25 -0
  136. package/supabase/migrations/20260320000000_chinese_rank_names.sql +24 -0
  137. package/vitest.config.ts +11 -0
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerEvalDispatcher(server: McpServer): void;
3
+ //# sourceMappingURL=eval.d.ts.map
@@ -0,0 +1,40 @@
1
+ // ============================================================
2
+ // dispatchers/eval.ts — Quality evaluation dispatcher
3
+ // ============================================================
4
+ // Combines 7 rating tools into one dispatcher tool.
5
+ // ============================================================
6
+ import { registerDispatcher } from "../../services/dispatcher.js";
7
+ import { captureExpectationsHandler, submitAgentEvaluationHandler, requestSystemEvaluationHandler, submitTestResultsHandler, getTaskQualityHandler, submitCalibrationReviewHandler, getCalibrationQueueHandler, } from "../ratings.js";
8
+ export function registerEvalDispatcher(server) {
9
+ registerDispatcher(server, "levelup_eval", "质量评估 — 期望记录、智能体评估、测试结果、校准。", {
10
+ capture_expectations: {
11
+ description: "记录任务执行前/后的用户期望",
12
+ handler: captureExpectationsHandler,
13
+ },
14
+ submit_agent_eval: {
15
+ description: "智能体完成任务后的自我评估",
16
+ handler: submitAgentEvaluationHandler,
17
+ },
18
+ request_system_eval: {
19
+ description: "为已完成任务触发系统评估",
20
+ handler: requestSystemEvaluationHandler,
21
+ },
22
+ submit_test_results: {
23
+ description: "提交任务的自动化测试结果",
24
+ handler: submitTestResultsHandler,
25
+ },
26
+ get_quality: {
27
+ description: "获取所有评估信号的综合质量分数",
28
+ handler: getTaskQualityHandler,
29
+ },
30
+ submit_calibration: {
31
+ description: "提交社区校准评审以确保经验值公平",
32
+ handler: submitCalibrationReviewHandler,
33
+ },
34
+ get_calibration_queue: {
35
+ description: "获取用于社区校准评审的匿名化任务",
36
+ handler: getCalibrationQueueHandler,
37
+ },
38
+ });
39
+ }
40
+ //# sourceMappingURL=eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../src/tools/dispatchers/eval.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,sDAAsD;AACtD,+DAA+D;AAC/D,oDAAoD;AACpD,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,qBAAqB,EACrB,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,kBAAkB,CAChB,MAAM,EACN,cAAc,EACd,4BAA4B,EAC5B;QACE,oBAAoB,EAAE;YACpB,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,0BAA0B;SACpC;QACD,iBAAiB,EAAE;YACjB,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,4BAA4B;SACtC;QACD,mBAAmB,EAAE;YACnB,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,8BAA8B;SACxC;QACD,mBAAmB,EAAE;YACnB,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,wBAAwB;SAClC;QACD,WAAW,EAAE;YACX,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,qBAAqB;SAC/B;QACD,kBAAkB,EAAE;YAClB,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,8BAA8B;SACxC;QACD,qBAAqB,EAAE;YACrB,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,0BAA0B;SACpC;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerQuestsDispatcher(server: McpServer): void;
3
+ //# sourceMappingURL=quests.d.ts.map
@@ -0,0 +1,60 @@
1
+ // ============================================================
2
+ // dispatchers/quests.ts — Quests and weekly bonuses dispatcher
3
+ // ============================================================
4
+ // Combines 12 quest tools into one dispatcher tool.
5
+ // ============================================================
6
+ import { registerDispatcher } from "../../services/dispatcher.js";
7
+ import { questHandlers } from "../quests.js";
8
+ export function registerQuestsDispatcher(server) {
9
+ registerDispatcher(server, "levelup_quests", "任务和每周奖励 — 创建、加入、跟踪和完成任务。", {
10
+ process_weekly: {
11
+ description: "处理并发放已完成一周的每周奖励",
12
+ handler: async (params) => questHandlers.pw(params),
13
+ },
14
+ get_weekly_summary: {
15
+ description: "获取用户或智能体的奖励摘要(反作弊:不显示标准名称)",
16
+ handler: async (params) => questHandlers.gw(params),
17
+ },
18
+ propose_bonus: {
19
+ description: "管理智能体提议每周奖励标准以供审批",
20
+ handler: async (params) => questHandlers.pb(params),
21
+ },
22
+ approve_bonus: {
23
+ description: "管理员批准提议的每周奖励标准",
24
+ handler: async (params) => questHandlers.ab(params),
25
+ },
26
+ create: {
27
+ description: "创建新任务(内部或外部/赞助)",
28
+ handler: async (params) => questHandlers.cq(params),
29
+ },
30
+ get: {
31
+ description: "获取任务详情及可选的参与者进度",
32
+ handler: async (params) => questHandlers.gq(params),
33
+ },
34
+ list: {
35
+ description: "按条件浏览和排序任务",
36
+ handler: async (params) => questHandlers.lq(params),
37
+ },
38
+ join: {
39
+ description: "以用户或智能体身份加入任务",
40
+ handler: async (params) => questHandlers.jq(params),
41
+ },
42
+ update_progress: {
43
+ description: "更新任务参与者的进度",
44
+ handler: async (params) => questHandlers.up(params),
45
+ },
46
+ complete: {
47
+ description: "完成任务并触发经验值分配",
48
+ handler: async (params) => questHandlers.cqc(params),
49
+ },
50
+ verify: {
51
+ description: "验证任务完成情况(批准或拒绝)",
52
+ handler: async (params) => questHandlers.vq(params),
53
+ },
54
+ create_community: {
55
+ description: "创建社区任务(需要经验值押金)",
56
+ handler: async (params) => questHandlers.ccq(params),
57
+ },
58
+ });
59
+ }
60
+ //# sourceMappingURL=quests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quests.js","sourceRoot":"","sources":["../../../src/tools/dispatchers/quests.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAC/D,+DAA+D;AAC/D,oDAAoD;AACpD,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,kBAAkB,CAChB,MAAM,EACN,gBAAgB,EAChB,0BAA0B,EAC1B;QACE,cAAc,EAAE;YACd,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,kBAAkB,EAAE;YAClB,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,aAAa,EAAE;YACb,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,aAAa,EAAE;YACb,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,MAAM,EAAE;YACN,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,GAAG,EAAE;YACH,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,eAAe,EAAE;YACf,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;SACrD;QACD,MAAM,EAAE;YACN,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;SACpD;QACD,gBAAgB,EAAE;YAChB,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;SACrD;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerSessionDispatcher(server: McpServer): void;
3
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1,38 @@
1
+ // ============================================================
2
+ // tools/dispatchers/session.ts — Session category dispatcher
3
+ // ============================================================
4
+ // Combines bootstrap, identity, level-up checks, and metrics
5
+ // processing into a single `levelup_session` tool.
6
+ // ============================================================
7
+ import { registerDispatcher } from "../../services/dispatcher.js";
8
+ import { handleBootstrap, handleSetupWizard } from "../bootstrap.js";
9
+ import { handleWhoami, handleCheckLevelUp, handleProcessMetrics, handleSnapshotAgent, } from "../system.js";
10
+ export function registerSessionDispatcher(server) {
11
+ registerDispatcher(server, "levelup_session", "会话管理 — 启动引导、身份识别、升级检查、指标处理。", {
12
+ bootstrap: {
13
+ description: "加载完整会话状态:用户、智能体、孤立任务、恢复操作",
14
+ handler: async (params) => await handleBootstrap(params),
15
+ },
16
+ setup_wizard: {
17
+ description: "将已安装的MCP映射到智能体技能,自动注册并奖励经验值",
18
+ handler: async (params) => await handleSetupWizard(params),
19
+ },
20
+ whoami: {
21
+ description: "通过环境变量或查询识别当前用户和智能体",
22
+ handler: async (params) => await handleWhoami(params),
23
+ },
24
+ check_level_up: {
25
+ description: "检查用户/智能体是否有足够经验值升级,如果是则执行升级",
26
+ handler: async (params) => await handleCheckLevelUp(params),
27
+ },
28
+ process_metrics: {
29
+ description: "处理未处理的指标日志条目,更新技能数据",
30
+ handler: async (params) => await handleProcessMetrics(params),
31
+ },
32
+ snapshot_agent: {
33
+ description: "拍摄智能体技能和熟练度的即时快照",
34
+ handler: async (params) => await handleSnapshotAgent(params),
35
+ },
36
+ });
37
+ }
38
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/tools/dispatchers/session.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,6DAA6D;AAC7D,mDAAmD;AACnD,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,kBAAkB,CAChB,MAAM,EACN,iBAAiB,EACjB,6BAA6B,EAC7B;QACE,SAAS,EAAE;YACT,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC;SACzD;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC;SAC3D;QACD,MAAM,EAAE;YACN,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC;SACtD;QACD,cAAc,EAAE;YACd,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC;SAC5D;QACD,eAAe,EAAE;YACf,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC;SAC9D;QACD,cAAc,EAAE;YACd,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC;SAC7D;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerSkillsDispatcher(server: McpServer): void;
3
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1,49 @@
1
+ // ============================================================
2
+ // tools/dispatchers/skills.ts — Skills category dispatcher
3
+ // ============================================================
4
+ // Single tool that routes to 9 skill/MCP management actions.
5
+ // Replaces 9 individual tools with 1 dispatcher.
6
+ // ============================================================
7
+ import { registerDispatcher } from "../../services/dispatcher.js";
8
+ import { handleAddAgentSkill, handleGetAgentSkills, handleListSkills, handleListSkillCategories, handleSuggestSkill, handleGetSkillProgress, handleReportInstalledMcps, handleGetPendingInstalls, handleConfirmInstall, } from "../skills.js";
9
+ export function registerSkillsDispatcher(server) {
10
+ registerDispatcher(server, "levelup_skills", "技能和MCP管理 — 添加技能、报告已安装MCP、跟踪进度。", {
11
+ add: {
12
+ description: "为智能体添加技能 (参数: caller_user_id, agent_id, skill_id, reason?)",
13
+ handler: handleAddAgentSkill,
14
+ },
15
+ get: {
16
+ description: "获取智能体所有技能,按能力分组 (参数: agent_id, ability_id?)",
17
+ handler: handleGetAgentSkills,
18
+ },
19
+ list: {
20
+ description: "浏览技能目录 (参数: ability_id?, search?, include_suggested?, limit?, offset?)",
21
+ handler: handleListSkills,
22
+ },
23
+ list_categories: {
24
+ description: "列出所有能力类别 (参数: search?)",
25
+ handler: handleListSkillCategories,
26
+ },
27
+ suggest: {
28
+ description: "为目录提议新技能 (参数: caller_user_id, name, description, suggested_ability_id?, suggested_by_agent_id?, evidence?)",
29
+ handler: handleSuggestSkill,
30
+ },
31
+ get_progress: {
32
+ description: "获取技能向下一熟练度等级的进度 (参数: agent_id, skill_id)",
33
+ handler: handleGetSkillProgress,
34
+ },
35
+ report_mcps: {
36
+ description: "报告智能体已安装的MCP服务器 (参数: caller_user_id, agent_id, tool_names[])",
37
+ handler: handleReportInstalledMcps,
38
+ },
39
+ get_pending: {
40
+ description: "列出待处理的MCP/技能安装请求 (参数: agent_id)",
41
+ handler: handleGetPendingInstalls,
42
+ },
43
+ confirm_install: {
44
+ description: "确认待处理安装已完成 (参数: caller_user_id, install_id, agent_id)",
45
+ handler: handleConfirmInstall,
46
+ },
47
+ });
48
+ }
49
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/tools/dispatchers/skills.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,2DAA2D;AAC3D,+DAA+D;AAC/D,6DAA6D;AAC7D,iDAAiD;AACjD,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,kBAAkB,CAChB,MAAM,EACN,gBAAgB,EAChB,gCAAgC,EAChC;QACE,GAAG,EAAE;YACH,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,mBAAmB;SAC7B;QACD,GAAG,EAAE;YACH,WAAW,EAAE,6CAA6C;YAC1D,OAAO,EAAE,oBAAoB;SAC9B;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,wEAAwE;YACrF,OAAO,EAAE,gBAAgB;SAC1B;QACD,eAAe,EAAE;YACf,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,yBAAyB;SACnC;QACD,OAAO,EAAE;YACP,WAAW,EAAE,4GAA4G;YACzH,OAAO,EAAE,kBAAkB;SAC5B;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,0CAA0C;YACvD,OAAO,EAAE,sBAAsB;SAChC;QACD,WAAW,EAAE;YACX,WAAW,EAAE,8DAA8D;YAC3E,OAAO,EAAE,yBAAyB;SACnC;QACD,WAAW,EAAE;YACX,WAAW,EAAE,iCAAiC;YAC9C,OAAO,EAAE,wBAAwB;SAClC;QACD,eAAe,EAAE;YACf,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,oBAAoB;SAC9B;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerTasksDispatcher(server: McpServer): void;
3
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1,53 @@
1
+ // ============================================================
2
+ // tools/dispatchers/tasks.ts — Tasks category dispatcher
3
+ // ============================================================
4
+ // Combines all task lifecycle tools into a single
5
+ // `levelup_tasks` tool with action-based routing.
6
+ // ============================================================
7
+ import { registerDispatcher } from "../../services/dispatcher.js";
8
+ import { handleStartTask, handleUpdateTask, handleCompleteTask, handleFailTask, handleGetTask, handleListTasks, handleListTaskTypes, handleAddTaskEvidence, handleGetTaskLog, handleResumeOrStart, } from "../tasks.js";
9
+ export function registerTasksDispatcher(server) {
10
+ registerDispatcher(server, "levelup_tasks", "任务生命周期 — 创建、跟踪、完成和审查任务。完成时奖励经验值。", {
11
+ start: {
12
+ description: "开始跟踪新任务(自动判断执行者类型)",
13
+ handler: async (params) => await handleStartTask(params),
14
+ },
15
+ update: {
16
+ description: "更新任务进度(完成百分比、里程碑、输出类型)",
17
+ handler: async (params) => await handleUpdateTask(params),
18
+ },
19
+ complete: {
20
+ description: "完成任务并触发经验值分配,附带证据",
21
+ handler: async (params) => await handleCompleteTask(params),
22
+ },
23
+ fail: {
24
+ description: "标记任务失败(15%经验值)或取消(0经验值)",
25
+ handler: async (params) => await handleFailTask(params),
26
+ },
27
+ get: {
28
+ description: "获取完整任务详情,包括经验值分配和里程碑",
29
+ handler: async (params) => await handleGetTask(params),
30
+ },
31
+ list: {
32
+ description: "按条件筛选任务列表(状态、执行者类型、日期范围)",
33
+ handler: async (params) => await handleListTasks(params),
34
+ },
35
+ list_types: {
36
+ description: "浏览任务类型目录,支持文本搜索",
37
+ handler: async (params) => await handleListTaskTypes(params),
38
+ },
39
+ add_evidence: {
40
+ description: "为任务附加证据(URL、引用、代码输出)",
41
+ handler: async (params) => await handleAddTaskEvidence(params),
42
+ },
43
+ get_log: {
44
+ description: "获取任务完成日志,包括证据和经验值摘要",
45
+ handler: async (params) => await handleGetTaskLog(params),
46
+ },
47
+ resume_or_start: {
48
+ description: "幂等任务启动 — 恢复现有任务或创建新任务(去重)",
49
+ handler: async (params) => await handleResumeOrStart(params),
50
+ },
51
+ });
52
+ }
53
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/tools/dispatchers/tasks.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,yDAAyD;AACzD,+DAA+D;AAC/D,kDAAkD;AAClD,kDAAkD;AAClD,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,kBAAkB,CAChB,MAAM,EACN,eAAe,EACf,kCAAkC,EAClC;QACE,KAAK,EAAE;YACL,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC;SACzD;QACD,MAAM,EAAE;YACN,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC;SAC1D;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC;SAC5D;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,yBAAyB;YACtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC;SACxD;QACD,GAAG,EAAE;YACH,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC;SACvD;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC;SACzD;QACD,UAAU,EAAE;YACV,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC;SAC7D;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC;SAC/D;QACD,OAAO,EAAE;YACP,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC;SAC1D;QACD,eAAe,EAAE;YACf,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC;SAC7D;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerUsersDispatcher(server: McpServer): void;
3
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1,65 @@
1
+ // ============================================================
2
+ // tools/dispatchers/users.ts — Users category dispatcher
3
+ // ============================================================
4
+ // Single tool that routes to 13 user account management actions.
5
+ // Replaces 13 individual tools with 1 dispatcher.
6
+ // ============================================================
7
+ import { registerDispatcher } from "../../services/dispatcher.js";
8
+ import { handleRegisterUser, handleGetUserProfile, handleGetUserProgress, handleFindUser, handleGenerateLinkCode, handleRedeemLinkCode, handleLinkIdentity, handleRequestOtp, handleVerifyOtp, handleGetOnboardingStatus, handleUpdateUserProfile, handleInferTaskType, handleMergeProfiles, } from "../users.js";
9
+ export function registerUsersDispatcher(server) {
10
+ registerDispatcher(server, "levelup_users", "用户账户 — 注册、查询、关联身份、管理资料。", {
11
+ register: {
12
+ description: "注册新用户 (参数: username, identity_provider, identity_id, identity_is_hashed?, handle?, email?, is_searchable_by_email?, wallet_address?, metadata?)",
13
+ handler: handleRegisterUser,
14
+ },
15
+ get_profile: {
16
+ description: "获取用户公开资料 (参数: user_id)",
17
+ handler: handleGetUserProfile,
18
+ },
19
+ get_progress: {
20
+ description: "进度面板 — 主等级和职业的升级经验值 (参数: user_id)",
21
+ handler: handleGetUserProgress,
22
+ },
23
+ find: {
24
+ description: "通过 profile_code、handle 或 email 查找用户 (参数: profile_code?, handle?, email?)",
25
+ handler: handleFindUser,
26
+ },
27
+ generate_link: {
28
+ description: "生成跨平台临时关联码 (参数: user_id, expires_in_minutes?)",
29
+ handler: handleGenerateLinkCode,
30
+ },
31
+ redeem_link: {
32
+ description: "兑换关联码以绑定新身份 (参数: code, identity_provider, identity_id, identity_is_hashed?)",
33
+ handler: handleRedeemLinkCode,
34
+ },
35
+ link_identity: {
36
+ description: "直接添加新平台身份 (参数: user_id, identity_provider, identity_id, identity_is_hashed?)",
37
+ handler: handleLinkIdentity,
38
+ },
39
+ request_otp: {
40
+ description: "发送6位登录验证码 (参数: channel, destination)",
41
+ handler: handleRequestOtp,
42
+ },
43
+ verify_otp: {
44
+ description: "验证6位OTP验证码 (参数: channel, destination, code)",
45
+ handler: handleVerifyOtp,
46
+ },
47
+ get_onboarding: {
48
+ description: "检查引导设置进度和建议的下一步 (参数: identity_provider?, identity_id?, username?)",
49
+ handler: handleGetOnboardingStatus,
50
+ },
51
+ update_profile: {
52
+ description: "更新用户资料字段 (参数: user_id, username?, handle?, email?, is_searchable_by_email?, wallet_address?, metadata?)",
53
+ handler: handleUpdateUserProfile,
54
+ },
55
+ infer_task_type: {
56
+ description: "开始任务前自动分类工作内容 (参数: description, tags?)",
57
+ handler: handleInferTaskType,
58
+ },
59
+ merge: {
60
+ description: "合并重复用户资料 (参数: primary_user_id, secondary_user_id, verification_method, verification_token)",
61
+ handler: handleMergeProfiles,
62
+ },
63
+ });
64
+ }
65
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/tools/dispatchers/users.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,yDAAyD;AACzD,+DAA+D;AAC/D,iEAAiE;AACjE,kDAAkD;AAClD,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,kBAAkB,CAChB,MAAM,EACN,eAAe,EACf,yBAAyB,EACzB;QACE,QAAQ,EAAE;YACR,WAAW,EAAE,iJAAiJ;YAC9J,OAAO,EAAE,kBAAkB;SAC5B;QACD,WAAW,EAAE;YACX,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,oBAAoB;SAC9B;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,qBAAqB;SAC/B;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,0EAA0E;YACvF,OAAO,EAAE,cAAc;SACxB;QACD,aAAa,EAAE;YACb,WAAW,EAAE,+CAA+C;YAC5D,OAAO,EAAE,sBAAsB;SAChC;QACD,WAAW,EAAE;YACX,WAAW,EAAE,6EAA6E;YAC1F,OAAO,EAAE,oBAAoB;SAC9B;QACD,aAAa,EAAE;YACb,WAAW,EAAE,8EAA8E;YAC3F,OAAO,EAAE,kBAAkB;SAC5B;QACD,WAAW,EAAE;YACX,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,gBAAgB;SAC1B;QACD,UAAU,EAAE;YACV,WAAW,EAAE,6CAA6C;YAC1D,OAAO,EAAE,eAAe;SACzB;QACD,cAAc,EAAE;YACd,WAAW,EAAE,mEAAmE;YAChF,OAAO,EAAE,yBAAyB;SACnC;QACD,cAAc,EAAE;YACd,WAAW,EAAE,yGAAyG;YACtH,OAAO,EAAE,uBAAuB;SACjC;QACD,eAAe,EAAE;YACf,WAAW,EAAE,wCAAwC;YACrD,OAAO,EAAE,mBAAmB;SAC7B;QACD,KAAK,EAAE;YACL,WAAW,EAAE,4FAA4F;YACzG,OAAO,EAAE,mBAAmB;SAC7B;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerXpDispatcher(server: McpServer): void;
3
+ //# sourceMappingURL=xp.d.ts.map
@@ -0,0 +1,51 @@
1
+ // ============================================================
2
+ // tools/dispatchers/xp.ts — XP, leveling & leaderboards dispatcher
3
+ // ============================================================
4
+ // Single tool that routes to 9 XP/progression/leaderboard actions.
5
+ // Combines handlers from xp.ts, leaderboards.ts, and leveling.ts.
6
+ // ============================================================
7
+ import { registerDispatcher } from "../../services/dispatcher.js";
8
+ import { handleGetXpHistory, handleGetXpSummary, handleGetSplitRules, handleGetXpProjection, handleGetWeeklyRecap, } from "../xp.js";
9
+ import { handleGetLeaderboard } from "../leaderboards.js";
10
+ import { handleGetLevelInfo, handleGetLevelRequirements, handleGetNextUnlock, } from "../leveling.js";
11
+ export function registerXpDispatcher(server) {
12
+ registerDispatcher(server, "levelup_xp", "经验值、等级和排行榜 — 查看历史、预测、排名。", {
13
+ get_history: {
14
+ description: "经验值账本/流水记录 (参数: caller_user_id, entity_type, entity_id, source_type?, since?, limit?, offset?)",
15
+ handler: handleGetXpHistory,
16
+ },
17
+ get_summary: {
18
+ description: "指定时间段的经验值汇总 (参数: caller_user_id, entity_type, entity_id, period?)",
19
+ handler: handleGetXpSummary,
20
+ },
21
+ get_splits: {
22
+ description: "查看参与者之间的经验值分配规则 (参数: performer_type?, rule_id?)",
23
+ handler: handleGetSplitRules,
24
+ },
25
+ get_projection: {
26
+ description: "预测到达下一等级的时间 (参数: caller_user_id, entity_type, entity_id, target_level?)",
27
+ handler: handleGetXpProjection,
28
+ },
29
+ get_recap: {
30
+ description: "每周总结 — 经验值、任务、智能体、亮点 (参数: caller_user_id, user_id, include_agents?, week_of?)",
31
+ handler: handleGetWeeklyRecap,
32
+ },
33
+ get_leaderboard: {
34
+ description: "排行榜 (参数: board_type, skill_id?, period?, platform?, limit?, offset?)",
35
+ handler: handleGetLeaderboard,
36
+ },
37
+ get_level_info: {
38
+ description: "特定等级信息 — 所需经验值、段位 (参数: level, entity_type)",
39
+ handler: handleGetLevelInfo,
40
+ },
41
+ get_requirements: {
42
+ description: "详细等级要求,含技能折扣 (参数: level, agent_id?)",
43
+ handler: handleGetLevelRequirements,
44
+ },
45
+ get_next_unlock: {
46
+ description: "下一等级将解锁的内容 (参数: entity_type, entity_id)",
47
+ handler: handleGetNextUnlock,
48
+ },
49
+ });
50
+ }
51
+ //# sourceMappingURL=xp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xp.js","sourceRoot":"","sources":["../../../src/tools/dispatchers/xp.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mEAAmE;AACnE,+DAA+D;AAC/D,mEAAmE;AACnE,kEAAkE;AAClE,+DAA+D;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,kBAAkB,CAChB,MAAM,EACN,YAAY,EACZ,0BAA0B,EAC1B;QACE,WAAW,EAAE;YACX,WAAW,EAAE,gGAAgG;YAC7G,OAAO,EAAE,kBAAkB;SAC5B;QACD,WAAW,EAAE;YACX,WAAW,EAAE,mEAAmE;YAChF,OAAO,EAAE,kBAAkB;SAC5B;QACD,UAAU,EAAE;YACV,WAAW,EAAE,iDAAiD;YAC9D,OAAO,EAAE,mBAAmB;SAC7B;QACD,cAAc,EAAE;YACd,WAAW,EAAE,yEAAyE;YACtF,OAAO,EAAE,qBAAqB;SAC/B;QACD,SAAS,EAAE;YACT,WAAW,EAAE,+EAA+E;YAC5F,OAAO,EAAE,oBAAoB;SAC9B;QACD,eAAe,EAAE;YACf,WAAW,EAAE,sEAAsE;YACnF,OAAO,EAAE,oBAAoB;SAC9B;QACD,cAAc,EAAE;YACd,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,kBAAkB;SAC5B;QACD,gBAAgB,EAAE;YAChB,WAAW,EAAE,qCAAqC;YAClD,OAAO,EAAE,0BAA0B;SACpC;QACD,eAAe,EAAE;YACf,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,mBAAmB;SAC7B;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { ActionHandler } from "../services/dispatcher.js";
3
+ export declare const growthPlanHandlers: Record<string, ActionHandler>;
4
+ export declare function registerGrowthPlanTools(server: McpServer): void;
5
+ //# sourceMappingURL=growth-plan.d.ts.map