funifier-mcp 0.2.26 → 0.2.28

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 (181) hide show
  1. package/.cursor/rules/funifier.mdc +38 -41
  2. package/.github/copilot-instructions.md +38 -41
  3. package/AGENTS.md +56 -49
  4. package/README.md +40 -22
  5. package/datasource-funifier-docs/.coverage.json +326 -0
  6. package/datasource-funifier-docs/.validation.json +593 -0
  7. package/datasource-funifier-docs/knowledge/guides/aggregates.md +182 -70
  8. package/datasource-funifier-docs/knowledge/guides/database-access.md +174 -88
  9. package/datasource-funifier-docs/knowledge/guides/java-entities.md +294 -204
  10. package/datasource-funifier-docs/knowledge/guides/java-libraries.md +202 -226
  11. package/datasource-funifier-docs/knowledge/guides/java-managers.md +343 -265
  12. package/datasource-funifier-docs/knowledge/guides/trigger-examples.md +180 -236
  13. package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +273 -191
  14. package/datasource-funifier-docs/knowledge/index.md +4 -1
  15. package/datasource-funifier-docs/knowledge/modules/achievement.md +1126 -28
  16. package/datasource-funifier-docs/knowledge/modules/action-log.md +469 -62
  17. package/datasource-funifier-docs/knowledge/modules/action.md +522 -70
  18. package/datasource-funifier-docs/knowledge/modules/auth.md +718 -69
  19. package/datasource-funifier-docs/knowledge/modules/avatar.md +483 -18
  20. package/datasource-funifier-docs/knowledge/modules/backup.md +603 -25
  21. package/datasource-funifier-docs/knowledge/modules/challenge.md +1048 -220
  22. package/datasource-funifier-docs/knowledge/modules/compact.md +469 -26
  23. package/datasource-funifier-docs/knowledge/modules/competition.md +811 -109
  24. package/datasource-funifier-docs/knowledge/modules/crossword.md +504 -28
  25. package/datasource-funifier-docs/knowledge/modules/csv-data.md +645 -20
  26. package/datasource-funifier-docs/knowledge/modules/custom-object.md +701 -36
  27. package/datasource-funifier-docs/knowledge/modules/database.md +730 -164
  28. package/datasource-funifier-docs/knowledge/modules/folder.md +935 -280
  29. package/datasource-funifier-docs/knowledge/modules/kpi-formulas.md +410 -15
  30. package/datasource-funifier-docs/knowledge/modules/lastmile.md +568 -29
  31. package/datasource-funifier-docs/knowledge/modules/leaderboard.md +595 -126
  32. package/datasource-funifier-docs/knowledge/modules/level.md +536 -54
  33. package/datasource-funifier-docs/knowledge/modules/lottery.md +809 -76
  34. package/datasource-funifier-docs/knowledge/modules/marketplace.md +688 -17
  35. package/datasource-funifier-docs/knowledge/modules/mystery.md +662 -52
  36. package/datasource-funifier-docs/knowledge/modules/notification.md +564 -26
  37. package/datasource-funifier-docs/knowledge/modules/patterns.md +519 -814
  38. package/datasource-funifier-docs/knowledge/modules/player.md +773 -73
  39. package/datasource-funifier-docs/knowledge/modules/point.md +380 -83
  40. package/datasource-funifier-docs/knowledge/modules/public.md +508 -178
  41. package/datasource-funifier-docs/knowledge/modules/question.md +619 -99
  42. package/datasource-funifier-docs/knowledge/modules/quiz.md +565 -120
  43. package/datasource-funifier-docs/knowledge/modules/scheduler.md +1092 -39
  44. package/datasource-funifier-docs/knowledge/modules/security.md +674 -112
  45. package/datasource-funifier-docs/knowledge/modules/staging.md +742 -19
  46. package/datasource-funifier-docs/knowledge/modules/story.md +565 -29
  47. package/datasource-funifier-docs/knowledge/modules/studio-page.md +470 -144
  48. package/datasource-funifier-docs/knowledge/modules/swap.md +552 -84
  49. package/datasource-funifier-docs/knowledge/modules/team.md +563 -45
  50. package/datasource-funifier-docs/knowledge/modules/trigger.md +876 -134
  51. package/datasource-funifier-docs/knowledge/modules/upload.md +468 -95
  52. package/datasource-funifier-docs/knowledge/modules/virtual-good.md +510 -63
  53. package/datasource-funifier-docs/knowledge/modules/webhook.md +375 -28
  54. package/datasource-funifier-docs/knowledge/modules/websocket.md +459 -26
  55. package/datasource-funifier-docs/knowledge/modules/widget.md +613 -27
  56. package/dist/cli/init.d.ts.map +1 -1
  57. package/dist/cli/init.js +42 -1
  58. package/dist/cli/init.js.map +1 -1
  59. package/dist/cli/init.test.js +74 -3
  60. package/dist/cli/init.test.js.map +1 -1
  61. package/dist/cli/persona.d.ts +3 -0
  62. package/dist/cli/persona.d.ts.map +1 -0
  63. package/dist/cli/persona.js +25 -0
  64. package/dist/cli/persona.js.map +1 -0
  65. package/dist/mcp/bundle.js +119 -93
  66. package/dist/mcp/check-update.d.ts +5 -0
  67. package/dist/mcp/check-update.d.ts.map +1 -1
  68. package/dist/mcp/check-update.js +21 -10
  69. package/dist/mcp/check-update.js.map +1 -1
  70. package/dist/mcp/check-update.test.d.ts +2 -0
  71. package/dist/mcp/check-update.test.d.ts.map +1 -0
  72. package/dist/mcp/check-update.test.js +33 -0
  73. package/dist/mcp/check-update.test.js.map +1 -0
  74. package/dist/mcp/index.js +2 -2
  75. package/dist/mcp/index.js.map +1 -1
  76. package/dist/mcp/prompts/templates.d.ts.map +1 -1
  77. package/dist/mcp/prompts/templates.js +35 -0
  78. package/dist/mcp/prompts/templates.js.map +1 -1
  79. package/dist/mcp/resources/documentation.d.ts +1 -1
  80. package/dist/mcp/resources/documentation.d.ts.map +1 -1
  81. package/dist/mcp/resources/documentation.js +39 -3
  82. package/dist/mcp/resources/documentation.js.map +1 -1
  83. package/dist/mcp/tools/connect.d.ts.map +1 -1
  84. package/dist/mcp/tools/connect.js +18 -8
  85. package/dist/mcp/tools/connect.js.map +1 -1
  86. package/dist/mcp/tools/database.d.ts.map +1 -1
  87. package/dist/mcp/tools/database.js +59 -47
  88. package/dist/mcp/tools/database.js.map +1 -1
  89. package/dist/mcp/tools/database.test.js +2 -2
  90. package/dist/mcp/tools/database.test.js.map +1 -1
  91. package/dist/mcp/tools/delete.d.ts.map +1 -1
  92. package/dist/mcp/tools/delete.js +13 -3
  93. package/dist/mcp/tools/delete.js.map +1 -1
  94. package/dist/mcp/tools/execute.d.ts.map +1 -1
  95. package/dist/mcp/tools/execute.js +20 -9
  96. package/dist/mcp/tools/execute.js.map +1 -1
  97. package/dist/mcp/tools/folder.d.ts.map +1 -1
  98. package/dist/mcp/tools/folder.js +22 -12
  99. package/dist/mcp/tools/folder.js.map +1 -1
  100. package/dist/mcp/tools/get.d.ts.map +1 -1
  101. package/dist/mcp/tools/get.js +16 -6
  102. package/dist/mcp/tools/get.js.map +1 -1
  103. package/dist/mcp/tools/index.d.ts +1 -1
  104. package/dist/mcp/tools/index.d.ts.map +1 -1
  105. package/dist/mcp/tools/index.js +28 -1
  106. package/dist/mcp/tools/index.js.map +1 -1
  107. package/dist/mcp/tools/list.d.ts.map +1 -1
  108. package/dist/mcp/tools/list.js +38 -14
  109. package/dist/mcp/tools/list.js.map +1 -1
  110. package/dist/mcp/tools/logs.d.ts.map +1 -1
  111. package/dist/mcp/tools/logs.js +15 -5
  112. package/dist/mcp/tools/logs.js.map +1 -1
  113. package/dist/mcp/tools/save.d.ts.map +1 -1
  114. package/dist/mcp/tools/save.js +14 -4
  115. package/dist/mcp/tools/save.js.map +1 -1
  116. package/dist/mcp/tools/save.test.js +3 -3
  117. package/dist/mcp/tools/save.test.js.map +1 -1
  118. package/dist/mcp/tools/search-docs.d.ts +3 -0
  119. package/dist/mcp/tools/search-docs.d.ts.map +1 -0
  120. package/dist/mcp/tools/search-docs.js +102 -0
  121. package/dist/mcp/tools/search-docs.js.map +1 -0
  122. package/package.json +6 -2
  123. package/skills/acquire-funifier-knowledge/SKILL.md +155 -0
  124. package/skills/acquire-funifier-knowledge/assets/templates/CONCERNS.md +25 -0
  125. package/skills/acquire-funifier-knowledge/assets/templates/CUSTOM_ENDPOINTS.md +24 -0
  126. package/skills/acquire-funifier-knowledge/assets/templates/CUSTOM_PAGES.md +24 -0
  127. package/skills/acquire-funifier-knowledge/assets/templates/GAME_MECHANICS.md +35 -0
  128. package/skills/acquire-funifier-knowledge/assets/templates/INTEGRATIONS.md +35 -0
  129. package/skills/acquire-funifier-knowledge/assets/templates/LEADERBOARDS.md +24 -0
  130. package/skills/acquire-funifier-knowledge/assets/templates/OVERVIEW.md +86 -0
  131. package/skills/acquire-funifier-knowledge/assets/templates/PLAYER_MODEL.md +31 -0
  132. package/skills/acquire-funifier-knowledge/assets/templates/SCHEDULERS.md +25 -0
  133. package/skills/acquire-funifier-knowledge/assets/templates/TECHNIQUES_AND_PATTERNS.md +26 -0
  134. package/skills/acquire-funifier-knowledge/assets/templates/TRIGGERS.md +27 -0
  135. package/skills/acquire-funifier-knowledge/references/funifier-inventory-checklist.md +81 -0
  136. package/skills/acquire-funifier-knowledge/references/game-techniques-taxonomy.md +62 -0
  137. package/skills/acquire-funifier-knowledge/references/mcp-call-patterns.md +118 -0
  138. package/skills/funifier/SKILL.md +88 -0
  139. package/skills/funifier/references/configure-security.md +96 -0
  140. package/skills/{funifier-create-action/SKILL.md → funifier/references/create-action.md} +0 -33
  141. package/skills/funifier/references/create-aggregate.md +144 -0
  142. package/skills/funifier/references/create-challenge.md +116 -0
  143. package/skills/funifier/references/create-competition.md +98 -0
  144. package/skills/funifier/references/create-crossword.md +574 -0
  145. package/skills/funifier/references/create-custom-object.md +91 -0
  146. package/skills/funifier/references/create-custom-page.md +135 -0
  147. package/skills/funifier/references/create-folder.md +104 -0
  148. package/skills/funifier/references/create-lastmile.md +643 -0
  149. package/skills/{funifier-create-leaderboard/SKILL.md → funifier/references/create-leaderboard.md} +0 -33
  150. package/skills/funifier/references/create-level.md +94 -0
  151. package/skills/funifier/references/create-lottery.md +913 -0
  152. package/skills/funifier/references/create-mystery.md +769 -0
  153. package/skills/funifier/references/create-notification.md +75 -0
  154. package/skills/{funifier-create-point/SKILL.md → funifier/references/create-point.md} +0 -33
  155. package/skills/funifier/references/create-quiz.md +98 -0
  156. package/skills/funifier/references/create-scheduler.md +141 -0
  157. package/skills/funifier/references/create-story.md +636 -0
  158. package/skills/funifier/references/create-swap.md +95 -0
  159. package/skills/{funifier-create-trigger/SKILL.md → funifier/references/create-trigger.md} +0 -33
  160. package/skills/funifier/references/create-virtual-good.md +96 -0
  161. package/skills/funifier/references/create-webhook.md +72 -0
  162. package/skills/funifier/references/create-websocket.md +71 -0
  163. package/skills/funifier/references/create-widget.md +76 -0
  164. package/skills/funifier/references/debug.md +87 -0
  165. package/skills/funifier/references/help.md +81 -0
  166. package/skills/funifier/references/implement-frontend.md +106 -0
  167. package/skills/funifier/references/import-csv.md +75 -0
  168. package/skills/funifier/references/manage-player.md +82 -0
  169. package/skills/funifier/references/manage-team.md +76 -0
  170. package/skills/funifier/references/upload-file.md +91 -0
  171. package/skills/funifier-create-aggregate/SKILL.md +0 -127
  172. package/skills/funifier-create-challenge/SKILL.md +0 -88
  173. package/skills/funifier-create-custom-page/SKILL.md +0 -127
  174. package/skills/funifier-create-level/SKILL.md +0 -87
  175. package/skills/funifier-create-quiz/SKILL.md +0 -87
  176. package/skills/funifier-create-scheduler/SKILL.md +0 -127
  177. package/skills/funifier-create-virtual-good/SKILL.md +0 -87
  178. package/skills/funifier-debug/SKILL.md +0 -92
  179. package/skills/funifier-help/SKILL.md +0 -86
  180. package/skills/funifier-implement-frontend/SKILL.md +0 -90
  181. package/skills/funifier-index/SKILL.md +0 -58
@@ -1,2 +1,7 @@
1
+ declare function isOutdated(current: string, latest: string): boolean;
2
+ export declare function setUpdateNotice(notice: string): void;
3
+ /** Returns the pending update notice once, then clears it (show only once per session). */
4
+ export declare function consumeUpdateNotice(): string | null;
1
5
  export declare function checkForUpdate(): Promise<void>;
6
+ export { isOutdated };
2
7
  //# sourceMappingURL=check-update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-update.d.ts","sourceRoot":"","sources":["../../src/mcp/check-update.ts"],"names":[],"mappings":"AAaA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BpD"}
1
+ {"version":3,"file":"check-update.d.ts","sourceRoot":"","sources":["../../src/mcp/check-update.ts"],"names":[],"mappings":"AAAA,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAW5D;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAInD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBpD;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setUpdateNotice = setUpdateNotice;
4
+ exports.consumeUpdateNotice = consumeUpdateNotice;
3
5
  exports.checkForUpdate = checkForUpdate;
6
+ exports.isOutdated = isOutdated;
4
7
  function isOutdated(current, latest) {
5
8
  const toTuple = (v) => v
6
9
  .replace(/[^0-9.]/g, "")
@@ -14,6 +17,18 @@ function isOutdated(current, latest) {
14
17
  return lMin > cMin;
15
18
  return lPatch > cPatch;
16
19
  }
20
+ // Set when an update is detected; surfaced once on the next tool result so the
21
+ // user actually sees it (stdio MCP stderr is hidden from chat by most clients).
22
+ let pendingNotice = null;
23
+ function setUpdateNotice(notice) {
24
+ pendingNotice = notice;
25
+ }
26
+ /** Returns the pending update notice once, then clears it (show only once per session). */
27
+ function consumeUpdateNotice() {
28
+ const notice = pendingNotice;
29
+ pendingNotice = null;
30
+ return notice;
31
+ }
17
32
  async function checkForUpdate() {
18
33
  // eslint-disable-next-line @typescript-eslint/no-var-requires
19
34
  const { version: current } = require("../../package.json");
@@ -30,15 +45,11 @@ async function checkForUpdate() {
30
45
  catch {
31
46
  return;
32
47
  }
33
- if (isOutdated(current, latest)) {
34
- console.error([
35
- "",
36
- "┌─────────────────────────────────────────────────────────┐",
37
- `│ Funifier MCP update available: ${current} ${latest}`,
38
- "│ Run: npx funifier-mcp@latest init │",
39
- "└─────────────────────────────────────────────────────────┘",
40
- "",
41
- ].join("\n"));
42
- }
48
+ if (!isOutdated(current, latest))
49
+ return;
50
+ const notice = `⬆ funifier-mcp update available: ${current} → ${latest}. Run: npx funifier-mcp@latest init`;
51
+ setUpdateNotice(notice);
52
+ // Fallback for clients/power users that surface server stderr.
53
+ console.error(notice);
43
54
  }
44
55
  //# sourceMappingURL=check-update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-update.js","sourceRoot":"","sources":["../../src/mcp/check-update.ts"],"names":[],"mappings":";;AAaA,wCA4BC;AAzCD,SAAS,UAAU,CAAC,OAAe,EAAE,MAAc;IACjD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAC5B,CAAC;SACE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACtC,OAAO,MAAM,GAAG,MAAM,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,cAAc;IAClC,8DAA8D;IAC9D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;IAElF,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gDAAgD,EAAE;YACxE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;QACvD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CACX;YACE,EAAE;YACF,6DAA6D;YAC7D,qCAAqC,OAAO,MAAM,MAAM,EAAE;YAC1D,6DAA6D;YAC7D,6DAA6D;YAC7D,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"check-update.js","sourceRoot":"","sources":["../../src/mcp/check-update.ts"],"names":[],"mappings":";;AAiBA,0CAEC;AAGD,kDAIC;AAED,wCAsBC;AAEQ,gCAAU;AApDnB,SAAS,UAAU,CAAC,OAAe,EAAE,MAAc;IACjD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAC5B,CAAC;SACE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACtC,OAAO,MAAM,GAAG,MAAM,CAAC;AACzB,CAAC;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC,SAAgB,eAAe,CAAC,MAAc;IAC5C,aAAa,GAAG,MAAM,CAAC;AACzB,CAAC;AAED,2FAA2F;AAC3F,SAAgB,mBAAmB;IACjC,MAAM,MAAM,GAAG,aAAa,CAAC;IAC7B,aAAa,GAAG,IAAI,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,cAAc;IAClC,8DAA8D;IAC9D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;IAElF,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gDAAgD,EAAE;YACxE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;QACvD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;QAAE,OAAO;IAEzC,MAAM,MAAM,GAAG,oCAAoC,OAAO,MAAM,MAAM,qCAAqC,CAAC;IAC5G,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,+DAA+D;IAC/D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=check-update.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-update.test.d.ts","sourceRoot":"","sources":["../../src/mcp/check-update.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const check_update_1 = require("./check-update");
5
+ (0, vitest_1.describe)("isOutdated", () => {
6
+ (0, vitest_1.it)("detects newer major/minor/patch", () => {
7
+ (0, vitest_1.expect)((0, check_update_1.isOutdated)("1.0.0", "2.0.0")).toBe(true);
8
+ (0, vitest_1.expect)((0, check_update_1.isOutdated)("1.2.0", "1.3.0")).toBe(true);
9
+ (0, vitest_1.expect)((0, check_update_1.isOutdated)("1.2.3", "1.2.4")).toBe(true);
10
+ });
11
+ (0, vitest_1.it)("returns false when current is equal or ahead", () => {
12
+ (0, vitest_1.expect)((0, check_update_1.isOutdated)("1.2.3", "1.2.3")).toBe(false);
13
+ (0, vitest_1.expect)((0, check_update_1.isOutdated)("2.0.0", "1.9.9")).toBe(false);
14
+ (0, vitest_1.expect)((0, check_update_1.isOutdated)("1.3.0", "1.2.9")).toBe(false);
15
+ });
16
+ (0, vitest_1.it)("ignores non-numeric prefixes like ^ or v", () => {
17
+ (0, vitest_1.expect)((0, check_update_1.isOutdated)("0.2.27", "v0.3.0")).toBe(true);
18
+ });
19
+ });
20
+ (0, vitest_1.describe)("update notice", () => {
21
+ (0, vitest_1.beforeEach)(() => {
22
+ (0, check_update_1.consumeUpdateNotice)(); // clear any leftover state
23
+ });
24
+ (0, vitest_1.it)("returns null when no notice is pending", () => {
25
+ (0, vitest_1.expect)((0, check_update_1.consumeUpdateNotice)()).toBeNull();
26
+ });
27
+ (0, vitest_1.it)("returns the notice once, then clears it", () => {
28
+ (0, check_update_1.setUpdateNotice)("update me");
29
+ (0, vitest_1.expect)((0, check_update_1.consumeUpdateNotice)()).toBe("update me");
30
+ (0, vitest_1.expect)((0, check_update_1.consumeUpdateNotice)()).toBeNull();
31
+ });
32
+ });
33
+ //# sourceMappingURL=check-update.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-update.test.js","sourceRoot":"","sources":["../../src/mcp/check-update.test.ts"],"names":[],"mappings":";;AAAA,mCAA0D;AAC1D,iDAAkF;AAElF,IAAA,iBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,IAAA,eAAM,EAAC,IAAA,yBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAA,eAAM,EAAC,IAAA,yBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAA,eAAM,EAAC,IAAA,yBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,IAAA,eAAM,EAAC,IAAA,yBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAA,eAAM,EAAC,IAAA,yBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAA,eAAM,EAAC,IAAA,yBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,IAAA,eAAM,EAAC,IAAA,yBAAU,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,mBAAU,EAAC,GAAG,EAAE;QACd,IAAA,kCAAmB,GAAE,CAAC,CAAC,2BAA2B;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAA,eAAM,EAAC,IAAA,kCAAmB,GAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,IAAA,8BAAe,EAAC,WAAW,CAAC,CAAC;QAC7B,IAAA,eAAM,EAAC,IAAA,kCAAmB,GAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,IAAA,eAAM,EAAC,IAAA,kCAAmB,GAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/mcp/index.js CHANGED
@@ -44,8 +44,8 @@ async function main() {
44
44
  version: "0.1.0",
45
45
  });
46
46
  // Register all tools, resources, and prompts
47
- (0, tools_1.registerTools)(server, apiHolder);
48
- (0, documentation_1.registerResources)(server);
47
+ const docsPath = (0, documentation_1.registerResources)(server);
48
+ (0, tools_1.registerTools)(server, apiHolder, docsPath);
49
49
  (0, templates_1.registerPrompts)(server);
50
50
  // Connect to stdio transport
51
51
  const transport = new stdio_js_1.StdioServerTransport();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;AAEA,oEAAoE;AACpE,wEAAiF;AACjF,6CAAyC;AACzC,mCAAwC;AACxC,6DAA8D;AAC9D,mDAAsD;AACtD,iDAAgD;AAEhD,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACjD,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACxD,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACtD,8DAA8D;QAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;IAElC,oEAAoE;IACpE,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;IAEjD,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,6CAA6C;IAC7C,IAAA,qBAAa,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,IAAA,iCAAiB,EAAC,MAAM,CAAC,CAAC;IAC1B,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;IAExB,6BAA6B;IAC7B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,sEAAsE;IACtE,IAAA,6BAAc,GAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,wFAAwF,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;AAEA,oEAAoE;AACpE,wEAAiF;AACjF,6CAAyC;AACzC,mCAAwC;AACxC,6DAA8D;AAC9D,mDAAsD;AACtD,iDAAgD;AAEhD,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACjD,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACxD,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACtD,8DAA8D;QAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;IAElC,oEAAoE;IACpE,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;IAEjD,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,MAAM,CAAC,CAAC;IAC3C,IAAA,qBAAa,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;IAExB,6BAA6B;IAC7B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,sEAAsE;IACtE,IAAA,6BAAc,GAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,wFAAwF,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/mcp/prompts/templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QA6FhD"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/mcp/prompts/templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAsIhD"}
@@ -55,6 +55,41 @@ function registerPrompts(server) {
55
55
  ],
56
56
  };
57
57
  });
58
+ server.prompt("map_instance", "Map, document and audit an existing Funifier instance (read-only) into docs/funifier/, including a Mermaid architecture map", {
59
+ focus: zod_1.z
60
+ .string()
61
+ .optional()
62
+ .describe("Optional focus area, e.g. 'triggers' or 'mechanics'. Omit to map the whole instance."),
63
+ }, ({ focus }) => {
64
+ const scope = focus
65
+ ? `Focus the deep mapping on: ${focus}. Still inventory and count the other categories, but keep their docs at a high level.`
66
+ : "Map the full instance.";
67
+ return {
68
+ messages: [
69
+ {
70
+ role: "user",
71
+ content: {
72
+ type: "text",
73
+ text: [
74
+ "I want to map and document this EXISTING Funifier instance. This is a READ-ONLY audit — never create, edit or delete anything.",
75
+ scope,
76
+ "",
77
+ "If the `acquire-funifier-knowledge` skill is available, follow it for the full contract. Otherwise, follow these steps:",
78
+ "1. Confirm the MCP connection (e.g. funifier_database action=collections) and record the instance URL/name and today's date.",
79
+ "2. Inventory every listable type with funifier_list (trigger, scheduler, action, challenge, point, level, leaderboard, quiz, virtual-good-catalog/item, public-endpoint, custom-page, widget, websocket, aggregate, challenge-aggregate, auth-module, ai-knowledge), and use funifier_database action=collections to find off-enum elements (webhooks, notifications, competitions, player, team).",
80
+ "3. For objects that need detail, use funifier_get mode=read to extract rules, conditions and actions.",
81
+ "4. Cross-link the objects: which trigger feeds which point/challenge, which scheduler calls which endpoint, which actions satisfy each challenge, which leaderboards use which points.",
82
+ "5. From those (and ONLY those) relationships, build a Mermaid architecture map — 'what fires/awards/feeds/calls what' — and put it in OVERVIEW.md. Every edge must trace to a real configured field; never draw a speculative edge — use a dashed `-.->` marked [ASK USER] when unsure. Collapse any category with >8 objects into a single node annotated with its count.",
83
+ "6. Write the documentation set under docs/funifier/ (OVERVIEW, GAME_MECHANICS, TRIGGERS, SCHEDULERS, CUSTOM_ENDPOINTS, CUSTOM_PAGES, LEADERBOARDS, PLAYER_MODEL, INTEGRATIONS, TECHNIQUES_AND_PATTERNS, CONCERNS). Every claim points to an object ID; no section left empty.",
84
+ "7. Finish with a summary of counts, where each doc lives, and a numbered list of [ASK USER] items to resolve.",
85
+ "",
86
+ "Use only read-only tools: funifier_list, funifier_get (mode=read), funifier_logs, funifier_database (query/aggregate/collections only), funifier_folder (inside/breadcrumb only). Never use funifier_save, funifier_delete, funifier_execute, database insert/update/delete/bulk, or folder progress.",
87
+ ].join("\n"),
88
+ },
89
+ },
90
+ ],
91
+ };
92
+ });
58
93
  server.prompt("implement_frontend", "Implement frontend code using Funifier aggregates", async () => {
59
94
  return {
60
95
  messages: [
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/mcp/prompts/templates.ts"],"names":[],"mappings":";;AAGA,0CA6FC;AAhGD,6BAAwB;AAGxB,SAAgB,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,MAAM,CACX,iBAAiB,EACjB,0DAA0D,EAC1D;QACE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;KAC/F,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QACX,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,mCAAmC,IAAI,GAAG;4BAC1C,EAAE;4BACF,oBAAoB;4BACpB,iFAAiF,IAAI,GAAG;4BACxF,0CAA0C,IAAI,0BAA0B;4BACxE,qEAAqE;4BACrE,kEAAkE,IAAI,EAAE;4BACxE,EAAE;4BACF,2DAA2D,IAAI,aAAa;yBAC7E,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,gBAAgB,EAChB,sDAAsD,EACtD;QACE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACzE,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACpD,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,oCAAoC,IAAI,aAAa,EAAE,IAAI;4BAC3D,EAAE;4BACF,oBAAoB;4BACpB,yCAAyC,IAAI,yBAAyB;4BACtE,kEAAkE;4BAClE,oGAAoG;4BACpG,gFAAgF;4BAChF,iDAAiD;4BACjD,EAAE;4BACF,yBAAyB,IAAI,wBAAwB;yBACtD,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,oBAAoB,EACpB,mDAAmD,EACnD,KAAK,IAAI,EAAE;QACT,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,uEAAuE;4BACvE,EAAE;4BACF,oBAAoB;4BACpB,+EAA+E;4BAC/E,+DAA+D;4BAC/D,kEAAkE;4BAClE,wEAAwE;4BACxE,gDAAgD;4BAChD,EAAE;4BACF,+EAA+E;yBAChF,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/mcp/prompts/templates.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerResources(server: McpServer): void;
2
+ export declare function registerResources(server: McpServer): string;
3
3
  //# sourceMappingURL=documentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources/documentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAGtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QAyFlD"}
1
+ {"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources/documentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAGtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAiI3D"}
@@ -22,6 +22,42 @@ function registerResources(server) {
22
22
  : legacyThreeUp;
23
23
  const docsPath = process.env.FUNIFIER_DOCS_PATH ||
24
24
  (fs_1.default.existsSync(bundledDocsPath) ? bundledDocsPath : path_1.default.join(process.cwd(), "datasource-funifier-docs", "knowledge"));
25
+ const docCache = new Map();
26
+ const docMetaCache = new Map();
27
+ function readCached(filePath) {
28
+ let content = docCache.get(filePath);
29
+ if (content === undefined) {
30
+ content = fs_1.default.readFileSync(filePath, "utf-8");
31
+ docCache.set(filePath, content);
32
+ }
33
+ return content;
34
+ }
35
+ // Builds a discovery-friendly description: size + first few section headings,
36
+ // so an agent can pick the right doc from the resource list without fetching it.
37
+ function describeDoc(filePath, docPath) {
38
+ const cached = docMetaCache.get(filePath);
39
+ if (cached !== undefined)
40
+ return cached;
41
+ let description;
42
+ try {
43
+ const content = readCached(filePath);
44
+ const sizeKb = Math.max(1, Math.round(Buffer.byteLength(content, "utf-8") / 1024));
45
+ const headings = content
46
+ .split("\n")
47
+ .filter((l) => /^##\s+/.test(l))
48
+ .map((l) => l.replace(/^##\s+/, "").trim())
49
+ .slice(0, 5);
50
+ description =
51
+ headings.length > 0
52
+ ? `${docPath} — ${sizeKb} KB — Sections: ${headings.join(", ")}`
53
+ : `${docPath} — ${sizeKb} KB`;
54
+ }
55
+ catch {
56
+ description = `Documentation for ${docPath}`;
57
+ }
58
+ docMetaCache.set(filePath, description);
59
+ return description;
60
+ }
25
61
  // Register a resource template for documentation files
26
62
  server.resource("funifier-docs", new mcp_js_1.ResourceTemplate("funifier://docs/{+path}", { list: listDocs }), { description: "Funifier platform documentation" }, readDoc);
27
63
  function listDocs() {
@@ -44,7 +80,7 @@ function registerResources(server) {
44
80
  resources.push({
45
81
  uri: `funifier://docs/${docPath}`,
46
82
  name: `Funifier Docs: ${docPath}`,
47
- description: `Documentation for ${docPath}`,
83
+ description: describeDoc(path_1.default.join(dir, entry.name), docPath),
48
84
  });
49
85
  }
50
86
  }
@@ -64,16 +100,16 @@ function registerResources(server) {
64
100
  ],
65
101
  };
66
102
  }
67
- const content = fs_1.default.readFileSync(filePath, "utf-8");
68
103
  return {
69
104
  contents: [
70
105
  {
71
106
  uri: uri.href,
72
107
  mimeType: "text/markdown",
73
- text: content,
108
+ text: readCached(filePath),
74
109
  },
75
110
  ],
76
111
  };
77
112
  }
113
+ return docsPath;
78
114
  }
79
115
  //# sourceMappingURL=documentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../../src/mcp/resources/documentation.ts"],"names":[],"mappings":";;;;;AAKA,8CAyFC;AA9FD,4CAAoB;AACpB,gDAAwB;AACxB,oEAAsF;AAGtF,SAAgB,iBAAiB,CAAC,MAAiB;IACjD,4FAA4F;IAC5F,iHAAiH;IACjH,4FAA4F;IAC5F,6GAA6G;IAC7G,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,YAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;QAClD,CAAC,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;YAClC,CAAC,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gBAC1C,CAAC,CAAC,aAAa,CAAC;IAClB,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,CAAC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC;IAEzH,uDAAuD;IACvD,MAAM,CAAC,QAAQ,CACb,eAAe,EACf,IAAI,yBAAgB,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EACnE,EAAE,WAAW,EAAE,iCAAiC,EAAE,EAClD,OAAO,CACR,CAAC;IAEF,SAAS,QAAQ;QACf,MAAM,SAAS,GAA+D,EAAE,CAAC;QAEjF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,CAAC;QAED,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAED,SAAS,YAAY,CACnB,GAAW,EACX,MAAc,EACd,SAAqE;QAErE,MAAM,OAAO,GAAG,YAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,YAAY,CACV,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAC/C,SAAS,CACV,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpD,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,EAAE,mBAAmB,OAAO,EAAE;oBACjC,IAAI,EAAE,kBAAkB,OAAO,EAAE;oBACjC,WAAW,EAAE,qBAAqB,OAAO,EAAE;iBAC5C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,OAAO,CAAC,GAAQ,EAAE,SAAoB;QAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;QAEtD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,YAAY;wBACtB,IAAI,EAAE,4BAA4B,OAAO,EAAE;qBAC5C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,OAAO;iBACd;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../../src/mcp/resources/documentation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/connect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA4C1E"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/connect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAqD1E"}
@@ -3,14 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerConnectTool = registerConnectTool;
4
4
  const zod_1 = require("zod");
5
5
  function registerConnectTool(server, apiHolder) {
6
- server.tool("funifier_connect", "Connect to a Funifier gamification instance. Required before using other tools if no funifier.json or env vars are configured. Can also be used to switch between different instances during a session.", {
7
- apiKey: zod_1.z.string().describe("The Funifier API key"),
8
- secretKey: zod_1.z.string().describe("The Funifier secret key"),
9
- serverUrl: zod_1.z.string().describe("The Funifier server URL (e.g., 'https://example.funifier.com')"),
10
- name: zod_1.z
11
- .string()
12
- .optional()
13
- .describe("Optional friendly name for this connection (e.g., 'production', 'staging')"),
6
+ server.registerTool("funifier_connect", {
7
+ title: "Connect to Funifier",
8
+ description: "Connect to a Funifier gamification instance. Required before using other tools if no funifier.json or env vars are configured. Can also be used to switch between different instances during a session.",
9
+ inputSchema: {
10
+ apiKey: zod_1.z.string().describe("The Funifier API key"),
11
+ secretKey: zod_1.z.string().describe("The Funifier secret key"),
12
+ serverUrl: zod_1.z.string().describe("The Funifier server URL (e.g., 'https://example.funifier.com')"),
13
+ name: zod_1.z
14
+ .string()
15
+ .optional()
16
+ .describe("Optional friendly name for this connection (e.g., 'production', 'staging')"),
17
+ },
18
+ annotations: {
19
+ readOnlyHint: false,
20
+ destructiveHint: false,
21
+ idempotentHint: false,
22
+ openWorldHint: true,
23
+ },
14
24
  }, async ({ apiKey, secretKey, serverUrl, name }) => {
15
25
  try {
16
26
  apiHolder.connect({ apiKey, secretKey, serverUrl }, name);
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/mcp/tools/connect.ts"],"names":[],"mappings":";;AAIA,kDA4CC;AAhDD,6BAAwB;AAIxB,SAAgB,mBAAmB,CAAC,MAAiB,EAAE,SAAoB;IACzE,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,yMAAyM,EACzM;QACE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACnD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACzD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;QAChG,IAAI,EAAE,OAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,4EAA4E,CAAC;KAC1F,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YAE1D,6CAA6C;YAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAElD,MAAM,WAAW,GAAG,IAAI,IAAI,SAAS,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,WAAW,aAAa,SAAS,4BAA4B,WAAW,CAAC,MAAM,gIAAgI;qBAChP;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,SAAS,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE;qBACxE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/mcp/tools/connect.ts"],"names":[],"mappings":";;AAIA,kDAqDC;AAzDD,6BAAwB;AAIxB,SAAgB,mBAAmB,CAAC,MAAiB,EAAE,SAAoB;IACzE,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,yMAAyM;QACtN,WAAW,EAAE;YACX,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACnD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACzD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;YAChG,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;SAC1F;QACD,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YAE1D,6CAA6C;YAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAElD,MAAM,WAAW,GAAG,IAAI,IAAI,SAAS,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,WAAW,aAAa,SAAS,4BAA4B,WAAW,CAAC,MAAM,gIAAgI;qBAChP;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,SAAS,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE;qBACxE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA+M3E"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA2N3E"}
@@ -4,53 +4,65 @@ exports.registerDatabaseTool = registerDatabaseTool;
4
4
  const zod_1 = require("zod");
5
5
  const _char_guard_1 = require("./_char-guard");
6
6
  function registerDatabaseTool(server, apiHolder) {
7
- server.tool("funifier_database", "Query or aggregate any Funifier database collection. " +
8
- "Use action='query' for simple equality filters. " +
9
- "Use action='aggregate' for MongoDB operators ($regex, $gt, $in, etc.) and pipelines. " +
10
- "Use action='collections' to list all available collections.", {
11
- action: zod_1.z
12
- .enum(["query", "aggregate", "collections", "insert", "update", "delete", "bulk"])
13
- .describe("'query' for simple equality reads only e.g. {\"active\": true, \"team\": false}. " +
14
- "Does NOT support MongoDB operators ($regex, $gt, $in, etc.). " +
15
- "For operators use 'aggregate' with a $match stage: " +
16
- "pipeline=[{\"$match\": {\"nome_guerra\": {\"$regex\": \"ECOA\", \"$options\": \"i\"}}}, {\"$limit\": 5}]. " +
17
- "'aggregate' for full MongoDB pipelines ($match, $group, $project, $sort, $lookup, etc.). " +
18
- "'collections' to list all available collections. " +
19
- "'insert' to create a document (POST). " +
20
- "'update' to update a document (PUT, requires _id in data). " +
21
- "'delete' to remove documents (requires query filter). " +
22
- "'bulk' to insert/update multiple documents"),
23
- collection: zod_1.z
24
- .string()
25
- .optional()
26
- .describe("The collection name (e.g., 'player', 'action_log', 'videos__c'). Required for query and aggregate."),
27
- query: zod_1.z
28
- .string()
29
- .optional()
30
- .describe("For action='query': JSON string with simple equality filters only " +
31
- "(e.g., '{\"active\": true, \"userId\": \"john\"}', '{\"team\": false, \"hierarquia\": 0}'). " +
32
- "Defaults to {} (all documents). Does NOT support MongoDB operators — use action=aggregate for those."),
33
- pipeline: zod_1.z
34
- .string()
35
- .optional()
36
- .describe("For action='aggregate': JSON string of MongoDB aggregate pipeline array"),
37
- sort: zod_1.z
38
- .string()
39
- .optional()
40
- .describe("For action='query': JSON string of sort object (e.g., '{\"time\":-1}')."),
41
- limit: zod_1.z
42
- .number()
43
- .optional()
44
- .describe("For action='query': Maximum number of documents to return. Default: 10."),
45
- offset: zod_1.z
46
- .number()
47
- .optional()
48
- .describe("For action='query': Number of documents to skip for pagination. Default: 0."),
49
- data: zod_1.z
50
- .string()
51
- .optional()
52
- .describe("For insert/update/bulk: JSON string of document(s). For insert: single object. " +
53
- "For update: object with _id field. For bulk: array of objects."),
7
+ server.registerTool("funifier_database", {
8
+ title: "Funifier Database Operations",
9
+ description: "Read or write to any Funifier database collection. " +
10
+ "Read actions (query, aggregate, collections) are safe. " +
11
+ "Write actions (insert, update, delete, bulk) are destructive and irreversible — confirm collection and filter before calling. " +
12
+ "Use action='query' for simple equality filters. " +
13
+ "Use action='aggregate' for MongoDB operators ($regex, $gt, $in, etc.) and pipelines. " +
14
+ "Use action='collections' to list all available collections.",
15
+ inputSchema: {
16
+ action: zod_1.z
17
+ .enum(["query", "aggregate", "collections", "insert", "update", "delete", "bulk"])
18
+ .describe("'query' for simple equality reads only — e.g. {\"active\": true, \"team\": false}. " +
19
+ "Does NOT support MongoDB operators ($regex, $gt, $in, etc.). " +
20
+ "For operators use 'aggregate' with a $match stage: " +
21
+ "pipeline=[{\"$match\": {\"nome_guerra\": {\"$regex\": \"ECOA\", \"$options\": \"i\"}}}, {\"$limit\": 5}]. " +
22
+ "'aggregate' for full MongoDB pipelines ($match, $group, $project, $sort, $lookup, etc.). " +
23
+ "'collections' to list all available collections. " +
24
+ "'insert' to create a document (POST). " +
25
+ "'update' to update a document (PUT, requires _id in data). " +
26
+ "'delete' to remove documents (requires query filter). " +
27
+ "'bulk' to insert/update multiple documents"),
28
+ collection: zod_1.z
29
+ .string()
30
+ .optional()
31
+ .describe("The collection name (e.g., 'player', 'action_log', 'videos__c'). Required for query and aggregate."),
32
+ query: zod_1.z
33
+ .string()
34
+ .optional()
35
+ .describe("For action='query': JSON string with simple equality filters only " +
36
+ "(e.g., '{\"active\": true, \"userId\": \"john\"}', '{\"team\": false, \"hierarquia\": 0}'). " +
37
+ "Defaults to {} (all documents). Does NOT support MongoDB operators — use action=aggregate for those."),
38
+ pipeline: zod_1.z
39
+ .string()
40
+ .optional()
41
+ .describe("For action='aggregate': JSON string of MongoDB aggregate pipeline array"),
42
+ sort: zod_1.z
43
+ .string()
44
+ .optional()
45
+ .describe("For action='query': JSON string of sort object (e.g., '{\"time\":-1}')."),
46
+ limit: zod_1.z
47
+ .number()
48
+ .optional()
49
+ .describe("For action='query': Maximum number of documents to return. Default: 10."),
50
+ offset: zod_1.z
51
+ .number()
52
+ .optional()
53
+ .describe("For action='query': Number of documents to skip for pagination. Default: 0."),
54
+ data: zod_1.z
55
+ .string()
56
+ .optional()
57
+ .describe("For insert/update/bulk: JSON string of document(s). For insert: single object. " +
58
+ "For update: object with _id field. For bulk: array of objects."),
59
+ },
60
+ annotations: {
61
+ readOnlyHint: false,
62
+ destructiveHint: true,
63
+ idempotentHint: false,
64
+ openWorldHint: true,
65
+ },
54
66
  }, async ({ action, collection, query, pipeline, sort, limit, offset, data }) => {
55
67
  try {
56
68
  const api = apiHolder.requireClient();
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/mcp/tools/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/mcp/tools/database.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ const MAX_CHARS = 50000;
6
6
  function makeHarness(fakeApi) {
7
7
  const handlers = {};
8
8
  const server = {
9
- tool: (_name, _desc, _schema, handler) => {
10
- handlers[_name] = handler;
9
+ registerTool: (name, _config, handler) => {
10
+ handlers[name] = handler;
11
11
  },
12
12
  };
13
13
  const apiHolder = { requireClient: () => fakeApi };
@@ -1 +1 @@
1
- {"version":3,"file":"database.test.js","sourceRoot":"","sources":["../../../src/mcp/tools/database.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAE9C,yCAAkD;AAElD,MAAM,SAAS,GAAG,KAAM,CAAC;AAEzB,SAAS,WAAW,CAAC,OAAY;IAC/B,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,OAAY,EAAE,OAAiB,EAAE,EAAE;YACtE,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAC5B,CAAC;KACsB,CAAC;IAC1B,MAAM,SAAS,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,EAAS,CAAC;IAC1D,IAAA,+BAAoB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,IAAyB,EAAE,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,IAAA,iBAAQ,EAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAA,WAAE,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAChF,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG;YACX,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE;YAC/B,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE;SAChC,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACrF,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,GAAW,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,IAAA,WAAE,EAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,EAAE,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAA,WAAE,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,IAAI,eAAe,GAAQ,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,KAAK,EAAE,IAAY,EAAE,EAAO,EAAE,IAAS,EAAE,EAAE;gBAC1D,eAAe,GAAG,IAAI,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAA,eAAM,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,IAAI,eAAe,GAAQ,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,KAAK,EAAE,IAAY,EAAE,EAAO,EAAE,IAAS,EAAE,EAAE;gBAC1D,eAAe,GAAG,IAAI,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,IAAA,eAAM,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,IAAA,WAAE,EAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,KAAK,IAAI,EAAE;gBAC1B,MAAM,IAAI,KAAK,CACb,iEAAiE;oBAC/D,2DAA2D,CAC9D,CAAC;YACJ,CAAC;SACF,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,0BAA0B;YACtC,KAAK,EAAE,kDAAkD;YACzD,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"database.test.js","sourceRoot":"","sources":["../../../src/mcp/tools/database.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAE9C,yCAAkD;AAElD,MAAM,SAAS,GAAG,KAAM,CAAC;AAEzB,SAAS,WAAW,CAAC,OAAY;IAC/B,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG;QACb,YAAY,EAAE,CAAC,IAAY,EAAE,OAAY,EAAE,OAAiB,EAAE,EAAE;YAC9D,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC3B,CAAC;KACsB,CAAC;IAC1B,MAAM,SAAS,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,EAAS,CAAC;IAC1D,IAAA,+BAAoB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,IAAyB,EAAE,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,IAAA,iBAAQ,EAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAA,WAAE,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAChF,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG;YACX,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE;YAC/B,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE;SAChC,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACrF,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,GAAW,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,IAAA,WAAE,EAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,EAAE,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAA,WAAE,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,IAAI,eAAe,GAAQ,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,KAAK,EAAE,IAAY,EAAE,EAAO,EAAE,IAAS,EAAE,EAAE;gBAC1D,eAAe,GAAG,IAAI,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAA,eAAM,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,IAAI,eAAe,GAAQ,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,KAAK,EAAE,IAAY,EAAE,EAAO,EAAE,IAAS,EAAE,EAAE;gBAC1D,eAAe,GAAG,IAAI,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,IAAA,eAAM,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,IAAA,WAAE,EAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,KAAK,IAAI,EAAE;gBAC1B,MAAM,IAAI,KAAK,CACb,iEAAiE;oBAC/D,2DAA2D,CAC9D,CAAC;YACJ,CAAC;SACF,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YAC1B,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,0BAA0B;YACtC,KAAK,EAAE,kDAAkD;YACzD,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA0B1C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA8FzE"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA0B1C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAuGzE"}
@@ -26,9 +26,19 @@ const RESOURCE_TYPES = [
26
26
  "folder-log",
27
27
  ];
28
28
  function registerDeleteTool(server, apiHolder) {
29
- server.tool("funifier_delete", "Delete a Funifier resource by type and ID", {
30
- type: zod_1.z.enum(RESOURCE_TYPES).describe("The resource type"),
31
- id: zod_1.z.string().describe("The resource ID to delete"),
29
+ server.registerTool("funifier_delete", {
30
+ title: "Delete Funifier Resource",
31
+ description: "Permanently delete a Funifier resource by type and ID. This action cannot be undone — confirm the ID with funifier_list or funifier_get before calling.",
32
+ inputSchema: {
33
+ type: zod_1.z.enum(RESOURCE_TYPES).describe("The resource type"),
34
+ id: zod_1.z.string().describe("The resource ID to delete"),
35
+ },
36
+ annotations: {
37
+ readOnlyHint: false,
38
+ destructiveHint: true,
39
+ idempotentHint: true,
40
+ openWorldHint: true,
41
+ },
32
42
  }, async ({ type, id }) => {
33
43
  try {
34
44
  const api = apiHolder.requireClient();